ТЕМА №6. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ: ОПЕРАТОРЫ УПРАВЛЕНИЯ.
Основные виды операторов - операторы циклов, условных и безусловных переходов, оператор выбора. Вспомогательные операторы. Простейшие операторы консольного ввода - вывода.
Лекция «Структурное программирование: операторы управления» посвящена знакомству с языком С++. В данной лекции приводятся к изучению основные виды операторов – операторы циклов, условных и безусловных переходов, оператор выбора, вспомогательные операторы, а так же простейшие операторы консольного ввода - вывода.
Операторы циклов.
Операторы цикла используются для организации многократно повторяющихся вычислений. Любой цикл состоит из тела цикла, то есть тех операторов, которые выполняются несколько раз, начальных установок, модификации параметра цикла и проверки условия продолжения выполнения цикла.
Для удобства, а не по необходимости, в C++ есть три разных оператора цикла — while, do while и for.
Цикл с предусловием имеет вид: while (выражение) оператор.
Рис.1 Структурная схема цикла с предусловием
Выражение определяет условие повторения тела цикла, представленного простым или составным оператором. Выполнение оператора начинается с вычисления выражения. Если оно истинно (не равно false), выполняется оператор цикла. Если при первой проверке выражение равно false, цикл не выполнится ни разу.
Пример (программа находит все делители целого положительного числа):
Цикл с постусловием имеет вид: do оператор while (выражение).
Рис.2 Структурная схема цикла с постусловием
Сначала выполняется простой или составной оператор, составляющий тело цикла, а затем вычисляется выражение. Если оно истинно (не равно fаlse), тело цикла выполняется еще раз. Цикл завершается, когда выражение станет равным false или в теле цикла будет выполнен какой-либо оператор передачи управления.
Пример (программа осуществляет проверку ввода):
Цикл с параметром.
Цикл с параметром имеет следующий формат: for (инициализация: выражение: модификации) оператор. Инициализация используется для объявления и присвоения начальных значений величинам, используемым в цикле. В этой части можно записать несколько операторов, разделенных запятой (операцией «последовательное выполнение»).
Пример (оператор, вычисляющий сумму чисел от 1 до 100):
Областью действия переменных, объявленных в части инициализации цикла, является цикл. Инициализация выполняется один раз в начале исполнения цикла. Выражение определяет условие выполнения цикла. Модификации выполняются после каждой итерации цикла и служат обычно для изменения параметров цикла.
Операторы условных и безусловных переходов.
Условный оператор if
Данный оператор используется для разветвления процесса вычислений на два направления. Структурная схема оператора приведена на рис. 3. Формат оператора: if (выражение) оператор_1; [else оператор_2;].
Оператор if позволяет определить действие при истинном условии, т.е. если логическое_выражение имеет значение true, выполняется составной_оператор_1, а если логическое_выражение имеет значение false, то управление передается следующему оператору после оператора if.
Рис.3 Структурная схема оператора if
Пример:
Условный оператор двойного выбора if…else
Оператор if…else применяется для того чтобы в зависимости от конкретных значений исходных данных обеспечить выполнение двух разных составных операторов. Структурная схема оператора приведена на рис. 4. Формат оператора: if (логическое_выражение) {составной_оператор_1;} else {составной_оператор_2; }.
Рис.4 Структурная схема оператора if…else
Оператор if else позволяет определить программисту действие, когда условие истинно и альтернативное действие, когда условие ложно, т.е. если логическое_выражение имеет значение true, то выполняется составной_оператор_1, а если логическое_выражение имеет значение false, то выполняется составной_оператор_2. Так как логическое_выражение не может одновременно иметь значения true и false, то составной_оператор_1 и составной_оператор_2 не могут выполняться оба. После выполнения составной_оператор_1 или составной_оператор_2 управление передается следующему оператору после оператора if.
Пример:
