Ветвления и оператор выбора. В решениях задач по алгоритмизации одним из важнейших элементов является так называемое «ветвление», которое хорошо описывается в народных сказках «Направо пойдёшь — голову потеряешь, прямо пойдёшь — коня потеряешь...», а проще говоря, ситуация «если ..., то ..., иначе ...». Типовая блоксхема алгоритма с ветвлением (проверкой условия) показана на рис. 5.
Рисунок 5. Типовая схема алгоритма с ветвлением
Если условие, указанное в блоке «Условие», выполняется, то далее производятся действия, соответствующие «ветви ДА» ((«Действия ДА»), иначе выполняются действия, соответствующие «ветви НЕТ» (Действия НЕТ»). Условия нужно составлять так, чтобы результат проверки любого условия допускал только два исхода — условие либо выполняется. либо не выполняется.
В случае, когда одной проверкой не удаётся охватить все варианты, используется «цепочка» условий, показанная на рис. 6. Такая ситуация называется «выбор».
Рисунок 6. Блоксхема алгоритма выбора
В языках программирования для обеспечения проверки условий используется специальный составной оператор IF («если»). В этом операторе указывается условие, которое нужно проверить и действия, для ветвей «ДА» и «НЕТ».
Чтобы понять, как работает оператор IF, рассмотрим типичные задачи на проверку условий и выбор.
Задача 1. Составить программу ввода значения температуры воздуха t и выдачи текста «Хорошая погода!», если t>10 градусов и текста «Плохая погода!», если t<=10 градусов (источник В.А.Молодцов, Н.Б.Рыжикова. Информатика: тесты, задания, лучшие методики. Ростов н/Д: Феникс, 2009).
Постановка задачи: Исходными данными является значение t, необходимо сформировать строку s. При t<10 s='Плохая погода!', иначе s='Хорошая погода!'.
Блоксхема алгоритма показана на рис. 7.
Рисунок 7. Блоксхема алгоритма задачи про погоду
Текст программы на «псевдоязыке»:
ввод t если (t<10) то s='Плохая погода!' иначе s='Хорошая погода!' конец если вывод s
Текст на Python:
# * coding: utf8 *
#
t=input('Введите температуру в градусах: ') if t<10:
s='Плохая погода!' else:
s='Хорошая погода!' print s
Начало каждой «ветви» программы обозначается символом «:». Условие в операторе IF («если») записывается без скобок. Как таковое окончание оператора IF отсутствует. Python считает, что следующий оператор начинается в строке без отступа. Таким образом, в Python отступы играют важную роль,.
Задача 2 (источник тот же). Составить программу ввода оценки P, полученной учащимся, и выдачи текста «Молодец!», если P=5, «Хорошо!», если P=4 и «Лентяй!», если P<=3.
Постановка задачи: Дано значение P, которое является натуральным числом и не может быть больше 5. В зависимости от величины P нужно сформировать строку s по правилам, указанным в условии. Необходимо выполнить две последовательные проверки значения P.
Блоксхема алгоритма показана на рис. 8.
Рисунок 8. Блоксхема алгоритма к задаче про оценки
Текст программы на «псевдоязыке»:
10>