• Вводятся 4-ре числа: координаты клетки(номер строки и номер столбца) на которой стоит ферзь, и координаты клетки на которой стоит вражеская фигура. Программа должна выводить "Yes", если ферзь бьет вражескую фигуру и "No" в противном случае,
    помогите пожалуйста

Ответы 1

  • Во вложении показана принятая условная схема нумерации полей.Предполагается, что если ферзь стоит на клетке с координатами (3,4), он может пойти по горизонтали, вертикали или диагонали. Соответствующие направления выделены цветом.Чтобы взять фигуру (или пешку) противника по горизонтали, у обоих фигур должны быть одинаковы координаты строки (первые в паре).Чтобы взять фигуру противника по вертикали, у обоих фигур должны быть одинаковы координаты столбца (вторые в паре в паре).Наконец, чтобы взять фигуру противника по диагонали, у обоих фигур должна быть одинакова абсолютная величина разницы как между строками, так и между колонками.Последнее правило взятия сложное, поэтому запишем его в условных обозначениях. Пусть Rq и Cq - соответственно номера строки и столбца, пересечение которых указывает положение клетки с ферзем. Пусть также фигура противника находится на клетке, заданной координатами Rx и Cx.Тогда последнее правило можно записать в виде |Rq-Rx| = |Cq-Cx|Теперь можно записать логическое выражение, значение которого истинно, если ферзь может взять фигуру (или пешку) противника.(Rq=Rx) ∨ (Cq=Cx) ∨ (|Rq-Rx| = |Cq-Cx|)// PascalABC.NET 3.3, сборка 1625 от 17.01.2018// Внимание! Если программа не работает, обновите версию!begin  var (Rq,Cq):=ReadInteger2('Введите номера горизонтали и вертикали ферзя:');  var (Rx,Cx):=ReadInteger2('Введите номера горизонтали и вертикали фигуры:');  if (Rq=Rx) or (Cq=Cx) or (Abs(Rq-Rx)=Abs(Cq-Cx)) then Writeln('Yes')  else Writeln('No')end.ПримерВведите номера горизонтали и вертикали ферзя: 3 4Введите номера горизонтали и вертикали фигуры: 6 1Yes
    answer img
    • Автор:

      mcdaniel
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years