- •Вопрос 4. Структурное программирование, как определение функций композицией, разбором случаев и итерацией. Операторы ветвления.
- •Вопрос 5. Операторы цикла. Операторы передачи управления.
- •Вопрос 6. Итерационный способ определения последовательностей. Виды итерационных процессов.
- •Точечные
- •Ип большей глубины
- •Параллельные ип
- •Вопрос 7. Схемы обрыва итерационных процессов.
- •2) Объединение двух упорядоченных последовательностей
- •Вопрос 11. Линейные упорядоченные последовательности как абстрактный тип данных. Реализация основных операций на примере типа «массив».
- •1) Включение одной последовательности в другую
- •3) Пересечение двух упорядоченных последовательностей
- •4) Разность двух упорядоченных последовательностей
- •5) Поиск элемента
- •Вопрос 12. Элементы математической логики в программировании. Основные формулы математической логики. Стратегии вычисления кванторных формул.
- •Вопрос 13. Функции как аппарат технологичного программирования. Технологии нисходящего и восходящего проектирования программ.
- •Вопрос 14 Синтаксис описания функций. Формальные и фактические параметры.
- •Вопрос 15. Семантика функций. Области видимости имен. Локальные и глобальные имена. Функции как параметры.
- •Вопрос 16. Реализация операций над множествами с помощью типа массив. Алгоритм « Решето Эратосфера»
- •Вопрос 17. Полиномы как абстрактный тип данных. Представление полиномов при помощи массивов. Основные операции над полиномами. Схема Горнера.
Вопрос 5. Операторы цикла. Операторы передачи управления.
Циклические конструкции языка C++ используются для реализации многократно повторяющихся действий. Любой цикл состоит из следующих элементов:
- установка начальных значений переменных до входа в цикл;
- тело цикла;
- условие продолжения цикла;
- изменение параметров цикла.
While
while (условие) оператор;
Пока истинно (условие), выполнять оператор
Отметим, что поскольку выполнение условия проверяется перед телом цикла, то возможна ситуация, когда тело цикла, состоящее из оператора ни разу не выполнится. (если изначально условие ложно).
В соответствии с синтаксисом, в теле цикла находится один оператор. Если необходимо выполнять в цикле последовательность операторов, их надо оформлять как составной оператор, заключая эту последовательность операторов в операторные скобки.
Условие всегда записывается в круглых скобках.
Do while
do
оператор
while (условие);
Выполнять оператор пока истинно (условие).
Отметим, что поскольку выполнение условия проверяется после тела цикла, то оператор, составляющий тело цикла хотя бы раз обязательно выполнится. В этом отличие данного оператора цикла от оператора while.
Условие всегда записывается в круглых скобках.
For
for (выражение_1;выражение_2;выражение_3)
оператор;
вычисляется значение выражения выражение_1;
пока истинно условие, задаваемое выражением выражение_2,
выполняется оператор, затем вычисляется выражение_3;
Выражение выражение_1 выполняется один раз. Оно задает установку начальных значений переменных до входа в цикл. Выражение выражение_3 задает изменение параметров цикла, выполняется после выполнения текущей итерации цикла. Первая и третья группа в круглых скобках может состоять из нескольких выражений. В этом случае они разделяются запятыми. Любая группа в круглых скобках может отсутствовать. Точки с запятой в этом случае обязательны. Отметим, что в соответствии с синтаксисом, в теле цикла находится один оператор. Если необходимо выполнять в цикле последовательность операторов, их надо оформлять как составной оператор, заключая эту последовательность операторов в операторные скобки.
Замечание: Цикл for задает компактную запись всех составных элементов, входящих в цикл. Любой цикл while может быть приведен к эквивалентному ему циклу for и наоборот.
Операторы передачи управления
Операторы передачи управления применяются, когда необходимо нарушить естественный порядок выполнения операторов.
goto метка;
Использование оператора goto нарушает принцип структурного программирования, где любой блок должен иметь один вход и один выход. Поэтому следует избегать использования этого оператора. Использование оператора goto оправдано в случаях:
- выход из большой вложенности циклов и переключателей;
- переход из нескольких разных мест программы в одно (например, в конец функции).
continue
Оператор continue используется только внутри операторов цикла. Оператор перехода к следующей итерации continue пропускает все оставшиеся операторы текущей итерации цикла и передает управление на начало следующей итерации цикла.
break
Оператор break используется внутри операторов цикла, if и swith для обеспечения выхода в точку программу, расположенную непосредственно за оператором, в котором он находится.
