В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
krit3
krit3
12.01.2021 10:22 •  Другие предметы

Шахматный ферзь за один ход может переместиться с одного заданного поля на другое (каждое поле задано двумя координатами — целыми числами от 1 до 8).

Показать ответ
Ответ:
Kirill7692
Kirill7692
16.04.2019 23:00
var
  x1, y1, x2, y2: byte;
  f, g: boolean;
 
begin
  writeln('Координаты первого поля:');
  write(' x1 = ');
  readln(x1);
  write(' y1 = ');
  readln(y1);
  writeln('Координаты второго поля:');
  write(' x2 = ');
  readln(x2);
  write(' y2 = ');
  readln(y2);
  writeln;
  { Поскольку Ферзь ходит и как ладья (горизонталь - вертикаль),
  и как слон (диагональ), нам надо объединить эти направления.
  Как было сказано в задаче boolean36, для успешного перехода
  ладьей необходимо совпадение или координат x, или координат
  y. Поэтому выражение f будет состоять в том, что или x1=x2,
  или y1=y2: }
  f := (x1 = x2)or(y1 = y2);
  { Но ферзь может ходить и как слон, поэтому выражение g будет
  состоять в том, что разницы соответствующих координат по
  модулю равны между собой (см. предыдущую задачу boolean38):}
  g := abs(x1 - x2) = abs(y1 - y2);
  { Таким образом, поскольку ферзь ходит или как ладья, или как
  слон, то выражения f и g объединим логическим оператором or
  ("или" - или ладья, или слон):}
  writeln(f or g);
  readln
end.
0,0(0 оценок)
Популярные вопросы: Другие предметы
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота