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

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

Показать ответ
Ответ:
nastyabel72
nastyabel72
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-бота