129.89K
Categories: informaticsinformatics sportsport

Оператор ветвления. Сложные условия. Шахматные задачи

1.

Оператор ветвления.
Сложные условия.

2.

Алгоритмизация и программирование, язык Python
2
Условный оператор
Задача: изменить порядок действий в зависимости от
выполнения некоторого условия.
полная
форма
да
нет
ветвления
a > b?
M=a
M=b
вывод M
отступы
К.Ю. Поляков, 2015
?
Если a = b?
if a > b:
M = a
else:
M = b
http://kpolyakov.spb.ru

3.

Алгоритмизация и программирование, язык Python
3
Условный оператор: неполная форма
M=a
да
b > a?
нет
M = a
if b > a:
M = b
M=b
неполная
форма
ветвления
вывод M
Решение в стиле Python:
M = max(a, b)
К.Ю. Поляков, 2015
M = a if a > b else b
http://kpolyakov.spb.ru

4.

Сложные условия
and (логическое «и») – требует, чтобы
выполнялись все условия одновременно
or - (логическое «или») – требует, чтобы
выполнялось хотя бы одно условие
Not (логическое «не») – инверсия
логического значения
Приоритеты операций: 1) not 2) and 3) or

5.

Шахматные задачи

6.

Система автоматической проверки задач
https://informatics.mccme.ru

7.

Задача: ладья
Ввод и вывод данных производятся через стандартные потоки
ввода-вывода.
Требуется определить, бьет ли ладья, стоящая на клетке с
указанными координатами (номер строки и номер столбца),
фигуру, стоящую на другой указанной клетке.
Входные данные
Вводятся четыре числа: координаты ладьи (два числа) и
координаты другой фигуры (два числа), каждое число вводится в
отдельной строке. Координаты - целые числа в интервале от 1
до 8.
Выходные данные
Требуется вывести слово YES, если ладья сможет побить фигуру за
1 ход и NO - в противном случае.

8.

Задача: слон
Требуется определить, бьет ли слон, стоящий на клетке с
указанными координатами (номер строки и номер
столбца), фигуру, стоящую на другой указанной
клетке.
Входные данные
Вводятся четыре числа: координаты слона и координаты
другой фигуры. Координаты - целые числа в интервале
от 1 до 8.
Выходные данные
Требуется вывести слово YES, если слон способен побить
фигуру за 1 ход, в противном случае вывести слово NO

9.

Задача: ферзь
Требуется определить, бьет ли ферзь, стоящий на клетке
с указанными координатами (номер строки и номер
столбца), фигуру, стоящую на другой указанной
клетке.
Входные данные
Вводятся четыре числа: координаты ферзя и координаты
другой фигуры. Координаты - целые числа в интервале
от 1 до 8.
Выходные данные
Требуется вывести слово YES, если ферзь может побить
фигуру за 1 ход, в противном случае вывести слово NO

10.

Задача: король
Поле шахматной доски определяется парой чисел (a, b),
каждое от 1 до 8, первое число задает номер столбца,
второе – номер строки. Заданы две клетки. Определите,
может ли шахматный король попасть с первой клетки на
вторую за один ход.
Входные данные
Даны 4 целых числа от 1 до 8 каждое, первые два задают
начальную клетку, вторые два задают конечную клетку.
Начальная и конечная клетки не совпадают. Числа
записаны в отдельных строках.
Выходные данные
Программа должна вывести YES, если из первой клетки
ходом короля можно попасть во вторую, или NO в
противном случае.
English     Русский Rules