Работа 3.2 Упр.20 ГДЗ Семакин 10 класс (Информатика)
Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 20. Шахматный ферзь за один ход может переместиться с одного заданного поля на другое (каждое поле задано двумя координатами — целыми числами от 1 до 8). *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-2/20 98
Ферзь может перейти с одного поля на другое за один ход, если поля находятся:
- на одной вертикали: $$x_1 = x_2$$;
- на одной горизонтали: $$y_1 = y_2$$;
- на одной диагонали: $$|x_1 — x_2| = |y_1 — y_2|$$.
В программе это проверяется двумя логическими переменными:
- $$f := (x_1 = x_2) \lor (y_1 = y_2)$$ — совпадают ли координаты по вертикали или горизонтали;
- $$g := |x_1 — x_2| = |y_1 — y_2|$$ — лежат ли поля на одной диагонали.
Если хотя бы одно из условий выполняется, ферзь может сделать ход:
$$f \lor g$$
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);
f := (x1 = x2) or (y1 = y2);
g := abs(x1 — x2) = abs(y1 — y2);
writeln(f or g);
readln;
end.
Ответ
Программа выводит True, если ферзь может перейти с одного поля на другое за один ход, и False — если не может.