Бьет ли произвольно установленный ферзь произвольно установленную фигуру? - 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]);
Объяснение кода листинга программы
- В цикле repeat-until считываются координаты ферзя от 1 до 8.
- Координаты ферзя записываются в переменные x1 и y1.
- Выполняется условие до тех пор, пока x1 не будет в диапазоне от 1 до 8 и y1 не будет в диапазоне от 1 до 8.
- Если условие не выполняется, то цикл повторяется.
- После того, как условие выполнится, цикл завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д