Отправляет email-рассылки с помощью сервиса Sendsay

Дистанционное обучение

  Все выпуски  

Уроки и методика преподавания информатики для учителей очередная задача для работы на уроке www.thl.narod.ru


в очередной раз рад приветствовать всех своих подписчиков. сегодня рассмотрим решение еще одной задачи:
Координаты двух полей шахматной доски заданы в виде двух пар чисел x1 , y1 и x2 , y2. На первом поле стоит ферзь, на втором - конь. Определить, бьет ферзь коня, конь - ферзя, или фигуры не угрожают друг другу.
решение:
Рассмотрим, как ходят фигуры: ферзь бьёт те поля (с координатами x, y ), которые находятся с ним на одной вертикали (x=x1), на одной горизонтали (y=y1), или на любой из диагоналей (|x - x1| = (|y - y1|). Конь за один ход переходит на два поля по одной координате и на одно поле по другой координате, то есть поля, которые он бьёт, определяются по правилу: либо |x - x2| = 2 и |y - y2|=1, либо |x - x2| = 1 и |y - y2| = 2. При решении нужно учитывать, что фигуры не могут угрожать друг другу одновременно, и может
быть ситуация, когда фигуры вообще не угрожают друг другу.
Основная часть программы для данной задачи будет иметь следующий вид:
if (x1=x2)or(y1=y2)or(abs(x1-x2)=abs(y1-y2)) then
writeln('Ферзь бьёт коня')
else if (abs(x1-x2)=2)and(abs(y1-y2)=1)or
(abs(x1-x2)=1)and(abs(y1-y2)=2) then
writeln('Конь бьёт ферзя')
else writeln('Фигуры не угрожают друг другу');

ели возникнут вопросы пишите на адрес 1ptt@mail.ru

В избранное