Операторы управления
Три типа управляющих инструкций:
- операторы ветвления (или условного перехода);
- операторы выбора;
- операторы цикла.
Управление ходом программы с помощью команд ветвления
Пример: сравнить два числа.
Оператор else не обязателен: если он отсутствует, C++ считает, что он существует, но является пустым.
Задача с решением. Написать программу, которая проверяет, находится ли введенное пользователем значение в диапазоне чисел от -2 до 1 включительно. Использовать вещественный тип данных. Использовать оператор && либо вложенное условие. Не использовать "магических чисел". На выводе использовать 3 переменные.
Решение:
Задача 1. Пользователь вводит три числа. Найти сумму тех чисел, которые делятся на 5. Если таких чисел нет, то вывести сообщение об ошибке.
Домашнее задание
1. Написать программу, которая получает от пользователя 3 числа и выводит наименьшее из них. Использовать алгоритм присваивания переменной min первого из введенных значений.
2. Написать программу, которая выводит введенные пользователем числа в порядке возрастания.
3. Написать программу, которая выводит наибольшую сумму двух чисел из четырех, введенных пользователем. Например: если юзер ввел число 2, число 5, число 7,4 и число 1,6, то программа должна вывести значение суммы чисел 5 и 7,4.
Управление ходом программы с помощью операторов цикла
Цикл с предусловием while :
Бесконечный цикл while
Цикл с постусловием do while :
Бесконечный цикл do while
0) { i = i – 1; cout } while (i 0) { i = i ––; cout } while (i –– 0) { cout } " width="640"
Компактная запись операторов инкремента и декремента
while (i 0)
{
i = i – 1;
cout
}
while (i 0)
{
i = i ––;
cout
}
while (i –– 0)
{
cout
}
Цикл for
for (int i = 1; i
инициализация; условие; изменение значения
Сначала единожды инициализируется i. Затем проверяется условие. Если оно истинно, то выполняется тело цикла. Затем выполняется третий параметр. Затем снова проверяется условие. И т.д.
Бесконечный цикл for
Каждый из трех параметров цикла for является необязательным.
Во всех циклах счетчик цикла ( i ) можно увеличивать/уменьшать на любое число. Его можно даже умножать, делить, выводить из-под корня, получать остаток от деления и т.д.:
В соответствии с областями видимости, во всех циклах переменная i должна быть объявлена до того, как она будет использована.
Специальные операторы управления циклом
В C++ определены 2 спец.команды – break и continue .
В случаях, если условие работы цикла нарушается не в начале или в конце, а в середине цикла, можно использовать команду break , чтобы выйти из цикла .
while ( условие )
{
if ( другое условие )
{
break; // выход из цикла
}
} // когда программа встретит break,
// управление будет передано этой строке
Задача 2. Написать программу с использованием оператора break , которая каждый раз (бесконечный цикл) запрашивает у пользователя делимое и делитель и получает частное. Выход из цикла, если пользователь вводит нулевое значение делителя.
Встретив команду continue , программа немедленно возвращается к началу цикла :
Задача 3. Написать программу с использованием операторов break и continue , которая дает пользователю 5 попыток ввода пароля. В качестве правильного пароля использовать 12345. Не использовать "магические числа".
Вложенные команды управления
Вложенный цикл - это цикл, размещённый внутри другого цикла. На первом проходе внешний цикл вызывает внутренний, который исполняется до своего завершения, после чего управление передается в тело внешнего цикла. На втором проходе внешний цикл опять вызывает внутренний. Как внешний, так и внутренний цикл может быть прерван командой break .
Программа, демонстрирующая работу вложенных циклов:
Программа, демонстрирующая работу вложенных циклов:
Задача 4. Написать программу с использованием вложенных циклов, которая выводит на экран расписание занятий по дням недели.