ГДЗ Информатика 6 класс Босова, 2024
ГДЗ Информатика 6 класс Босова, 2024
Авторы: .
Издательство: "Просвещение"
Раздел:

ГДЗ Информатика 6 класс Босова. §17. Вопросы и задания. Номер №5

Положение фигуры на шахматной доске описывается двумя числами — номером горизонтали и номером вертикали. На доске две фигуры, одна из которых — ладья. Ладья умеет ходить по любым прямым линиям — вертикалям и горизонталям — на любое количество клеток. Напишите программу, в которой предусмотрен ввод с клавиатуры координат ладьи (x, y) и координат другой фигуры (m, n). Программа должна проверить, находится ли фигура под ударом.
Задание рисунок 1

Решение
reshalka.com

ГДЗ Информатика 6 класс Босова. §17. Вопросы и задания. Номер №5

Решение

Так как ладья может ходить либо вертикально, либо горизонтально на любое количество клеток, то вторая фигура будет под ударом, если у обеих фигур совпадает либо первая координата (x и m), либо вторая (y и n). Условимя, что первой будем вводить координату вертикали (буквенную), второй — координату горизонтали (числовую). Также в самом начале добавим проверку правильности введения координат — не стоят ли фигуры на одной клетке, или не находится ли какая−либо фигура за пределами поля.
Первым очень емким условием будет проверка нахождения обеих фигур в пределах поля. Если числовые координаты мы можем сравнить с 1 и 8 (y и n должны быть в диапазоне от 1 до 8), то буквенные координаты должны быть одной из представленных букв (a или b или c или ... или h). Таким образом у нас должно выполняться три условия в одном — x соответствует одной из 8 букв, m соответствует одной из 8 букв, y и n находятся в пределах от 1 до 8.
Далее проверим не находятся ли фигуры на одной клетке. Для этого проверим два равенства: x == m и y == n. В этом случае выведем соответствуещее сообщение.
Если фигуры находятся в пределах поля и не на одной клетке, проверим равенства x == m и y == n с оператором or. Если какая−либо из координат у обеих фигур совпадает — вторая фигура находится под ударом. Иначе фигура в безопасности.
В конце необходимо не забыть добавить сообщение, если не выполнено самое первое условие и фигуры находятся за пределами поля.
Код программы:
print('Введите координаты ладьи:')
x=input()
y=int(input())
print('Введите координаты второй фигуры:')
m=input()
n=int(input())
if (x=='a' or x=='b' or x=='c' or x=='d' or x=='e' or x=='f' or x=='g' or x=='h') and (m=='a' or m=='b' or m=='c' or m=='d' or m=='e' or m=='f' or m=='g' or m=='h') and (y>=1 and y<=8 and n>=1 and n<=8):
if x==m and y==n:
print('Фигуры не могут находиться на одной клетке!')
else:
if x==m or y==n:
print('Фигура находится под ударом!')
else:
print('Фигура в безопасности!')
else:
print('Фигуры не могут находиться за пределами поля!')
Вид программы с отступами:
Решение рисунок 1
Проверим несколько возможных вариантов, чтобы убедиться, что все условия работают верно:
Решение рисунок 2
Решение рисунок 3
Программа верно определяет, если вторая фигура находится под ударом ладьи как по вертикали, так и по горизонтали.
Решение рисунок 4
Программа верно определяет, если фигуры находятся в пределах поля, но на одной клетке.
Решение рисунок 5
Решение рисунок 6
Решение рисунок 7
Программа верно определяет, если одна или несколько координат находятся за пределами поля.

Пожауйста, оцените решение