Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу наверх). Даны натуральные числа k,l,m,n каждое из которых не превосходит 8. Требуется: Вычислить, можно ли с поля (k,l) одним ходом ферзя попасть на поле (m,n). Если нет, то выяснить, как это сделать за 2-а хода (указать поле, на которое приводит 1-ый ход) — Pascal(Паскаль)

uses crt;
var k,l,m,n:byte;
begin
clrscr;
repeat
writeln('Положение ферзя:');
write('k=');readln(k);
write('l=');readln(l);
until (k in [1..8])and(l in [1..8]);
repeat
writeln('Поле для хода:');
write('m=');readln(m);
write('n=');readln(n);
until (m in [1..8])and(n in [1..8])and((k<>m)or(l<>n));
if(k=m)or(l=n)or(abs(k-m)=abs(l-n))
then write('Ферзь может одним ходом попасть на заданное поле')
else write('Ферзь может попасть за 2 хода с поля ',m,'-',l);
{вообще таких полей много}
readln
end.

Leave a Comment

7 + 1 =