1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.2 Упр.20 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Класс
10
Предмет
Информатика
Автор
Семакин, Хеннер, Шеина

Работа 3.2 Упр.20 ГДЗ Семакин 10 класс (Информатика)

Задача

Шахматный ферзь за один ход может переместиться с одного заданного поля на другое (каждое поле задано двумя координатами — целыми числами от 1 до 8).

Подробный ответ

Ферзь может перейти с одного поля на другое за один ход, если поля находятся:

  • на одной вертикали: $$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 — если не может.



Общая оценка
3.8 / 5
Другие учебники
Другие предметы