Бьет ли произвольно установленный ферзь произвольно установленную фигуру? - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Текст задачи "Положение фигуры на шахматной доске(8х8) задаётся двумя числами - номером горизонтали и номером вертикали. Ввести с клавиатуры координаты ферзя и координаты любой фигуры. Проверить, находится ли фигура под боем." Я нашел решение этой задачи , но вот в чём загвоздка - я не знаю еще операторы repeat, в самой книге задача идет сразу после разбора оператора If и вложенного Begin. Можно ли как-то решить задачу , используя лишь этот оператор? Просто усиленно не понимаю,как же тогда указать,что он бьет по диагонали. Вроде бы, получается,что если
Причем откуда взять это n - непонятно. Если ферзь становится где-нибудь в (4,4) еще понятно,что делать. А если в (1,1)? Решений с repeat и всем,что идёт после прохождения if(еще даже про case не читал) не пишите, пожалуйста,так как смысла в этом нет. И ведь если она дается в блоке с If,то должна же как-то решаться.

Решение задачи: «Бьет ли произвольно установленный ферзь произвольно установленную фигуру?»

textual
Листинг программы
repeat
writeln('Введите координаты ферзя от 1 до 8');
readln(x1,y1);
until(x1 in [1..8])and(y1 in [1..8]);

Объяснение кода листинга программы

  1. В цикле repeat-until считываются координаты ферзя от 1 до 8.
  2. Координаты ферзя записываются в переменные x1 и y1.
  3. Выполняется условие до тех пор, пока x1 не будет в диапазоне от 1 до 8 и y1 не будет в диапазоне от 1 до 8.
  4. Если условие не выполняется, то цикл повторяется.
  5. После того, как условие выполнится, цикл завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы