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

Работа 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 — если не может.



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