Вопрос:

Квадраты при игре в крестики-нолики пронумерованы, как показано на рисунке: Заданы номера трёх квадратов, №1, N2, N3, причём N1 < N2 < N3. Напишите программу, проверяющую, лежат ли квадраты на одной горизонтали.

Ответ:

Решение:

Чтобы квадраты лежали на одной горизонтали, номера квадратов должны принадлежать одному ряду. В таблице 3 ряда по 3 квадрата в каждом:

  • 1-й ряд: 1, 2, 3
  • 2-й ряд: 4, 5, 6
  • 3-й ряд: 7, 8, 9

Программа должна проверять, попадают ли номера N1, N2, N3 в один из этих наборов.

Алгоритм программы:

  1. Ввод данных: Получить три числа N1, N2, N3.
  2. Проверка на горизонталь:
    • Если (N1 в {1, 2, 3} И N2 в {1, 2, 3} И N3 в {1, 2, 3}) или
    • (N1 в {4, 5, 6} И N2 в {4, 5, 6} И N3 в {4, 5, 6}) или
    • (N1 в {7, 8, 9} И N2 в {7, 8, 9} И N3 в {7, 8, 9})
    • Тогда вывести «Квадраты лежат на одной горизонтали».
    • Иначе вывести «Квадраты не лежат на одной горизонтали».

Пример программы (на псевдокоде):


function check_horizontal(n1, n2, n3) {
if (n1 < 1 || n1 > 9 || n2 < 1 || n2 > 9 || n3 < 1 || n3 > 9) {
return "Номера должны быть от 1 до 9";
}
if (n1 < n2 && n2 < n3) {
if ((n1 <= 3 && n3 <= 3) || (n1 >= 4 && n1 <= 6 && n3 >= 4 && n3 <= 6) || (n1 >= 7 && n3 <= 9)) {
return "Квадраты лежат на одной горизонтали";
} else {
return "Квадраты не лежат на одной горизонтали";
}
} else {
return "Условие N1 < N2 < N3 не выполнено или номера некорректны";
}
}

Ответ: Программа проверяет, принадлежат ли номера квадратов N1, N2, N3 одному из рядов (1, 2, 3), (4, 5, 6) или (7, 8, 9).

Подать жалобу Правообладателю