Операторы ввода и вывода, оператор присваивания позволяют реализовывать линейные алгоритмы, в которых присутствует алгоритмическая конструкция следование. В таких алгоритмах все команды выполняются последовательно, одна за другой. Но в жизни часто возникают ситуации, когда необходимо действовать по-разному, в зависимости от некоторых условий. Алгоритмическая конструкция ветвление обеспечивает выполнение одной или другой последовательности команд в зависимости от истинности или ложности некоторого условия. Например, если погода хорошая, то идти на улицу, играть в футбол, иначе – играть на компьютере. Если в кассе кинотеатра есть билеты, то посмотреть кинофильм, иначе – прогуляться по набережной.
Алгоритм, содержащий алгоритмическую конструкцию ветвление, называют алгоритмом с ветвлениями.
В языке программирования С++ для реализации алгоритмической конструкции ветвление служит оператор if (если).
Общий вид оператора ветвления if:
If (условие)
{
набор команд 1;
}
else
{
набор команд 2;
}
Исполнитель проверяет условие, если (if) условие истинно – выполняет набор команд 1, иначе (else) – выполняет набор команд 2.
Набор команд – это блок кода, заключённый в фигурные скобки. Если в наборе только одна команда, скобки можно опустить. Но, для лучшей организации и читаемости кода в любом случае рекомендуется их использовать.
Пример. Алгоритм «Отдых после уроков».
if (погода хорошая)
{
идти на улицу;
играть в футбол;
}
else
{
играть на компьютере;
}
Исполнитель проверяет условие (погода хорошая), если (if) условие истинно – выполняет набор команд 1: идти на улицу, играть в футбол; иначе (else) – выполняет набор команд 2: играть на компьютере.
В блок-схемах оператор if обозначают ромбом, называемым блоком проверки условия.
Блок схема для алгоритма «Отдых после уроков»:
Такие условия как “погода хорошая” подходят для человека, а для компьютера (на языке программирования) условия формируются по своим, строго определённым правилам. При этом выделяют простые условия и составные условия.
Простое условие – это два выражения, связанные одним из знаков отношений.
Знаки отношений:
== равно
< меньше
> больше
<= меньше или равно
>= больше или равно
!= не равно
Рассмотрим в качестве примера простое условие x == 7.
Здесь первое выражение – x, второе выражение – 7. Они связаны знаком отношения == (равно). Если x на самом деле равен 7, то условие истинно, иначе – ложно.
Примеры простых условий
x = 10; // это не условие, а команда присваивания
y = 1; // и это не условие, а команда присваивания
Задача. Даны три числа. Найти максимум (наибольшее число).
Программа:
Работа программы рассмотрена в видеоуроке.
В окне ниже можно проверить работу программы, используя онлайн-компилятор.