Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ветвление+Циклы.doc
Скачиваний:
6
Добавлен:
25.11.2018
Размер:
136.19 Кб
Скачать

7. Структуры циклов

Цикл - это конструкция языка программирования, которая используется для выполнения каких-либо действий определенное количество раз.

Любой цикл состоит из следующих элементов:

  • Точки входа

  • Тела цикла, которое содержит операторы, выполняемые за один проход

  • Точки выхода

  • Условного выражения, определяющего момент окончания цикла

  • Дополнительно используемых операторов break и continue

7.1. Цикл с параметром (счетчиком, с управляющей переменной)

Вариант циклического вычислительного процесса, характерные особенности которого состоят в том, что:

  • число повторений цикла известно к началу его выполнения;

  • управление циклом осуществляется с помощью переменной порядкового типа, которая в этом циклическом процессе принимает последовательные значения от заданного начального до заданного конечного значений.

Для компактного задания подобного рода вычислительных процессов и служит оператор цикла с параметром.

7.1.1. На Паскале

Синтаксис:

For V:= E1 to E2 do S,

В некоторых случаях бывает удобно, чтобы параметр цикла Паскаля принимал последовательные, но не возрастающие, а убывающие значения. Для таких случаев в Паскале предусмотрен оператор цикла с параметром следующего вида:

For V:= E1 downto E2 do S,

При этом значения выражений Е1 и Е2 вычисляются один раз, при входе в оператор цикла, а значение параметра цикла V не должно изменяться в результате выполнения оператора S. Если заданное конечное значение меньше начального значения (что допустимо), то оператор S не выполняется ни разу. Для обоих вариантов записи цикла с параметром справедливо: если начальное и конечное значения равны, то тело цикла (оператор S) выполнится один раз.

7.1.2. На С++

Синтаксис цикла for таков:

for (начальное значение; условие выполнения; приращение)

{

Операторы;

}

В скобках после ключевого слова for находятся три выражения:

  • Инициализирующее. Оно предназначено для инициализации счётчика цикла.

  • Условие проверки цикла. Здесь, как правило, находится операция отношения. Если она возвращает единицу, то выполняется тело цикла, если возвращает ноль, то выполняется первый оператор стоящий за закрывающей фигурной скобкой.

  • Выражение инкрементирования (декрментирования) счётчика цикла. В этом выражении мы можем изменить значение счётчика. Можно использовать инкрементное выражение с любым параметром инкремента, например:

For (int і = 0;  і <= GetNumberOfElements();  і += 2) {...}

for(int i = 0; i < 100; i += 10) {...}

Как работает цикл:

  • Инициализация счётчика

  • Проверка счётчика

  • Выполнение тела цикла

  • Инкремент (декремент) счётчика

  • Проверка счётчика

  • Выполнение тела цикла

И так, до тех пор, пока условное выражение не вернёт ноль.

В качестве условного выражения допустимо любое выражение С++, результатом которого может быть true. Ниже приведены примеры правильной записи условных выражений:

For (int і = 0; і < 100; i++) {...}

For (int і = 1; і == numberOfElements; i++) {...}

Любой из трех параметров цикла for может быть опущен.

Если опустить первый и третий операторы, то цикл for будет подобен циклу while, рассматриваемому далее.

Пример:

int cycle = 0; // объявляем переменную cycle типа int

for( ; cycle < 5; ) // опускаем 1-й и 3-й параметр

{

cycle++; // увеличиваем значение переменной на 1

cout << "Yes!"; // выводим на экран слово Yes!

}

cout << "\nCycle: << cycle << ".\n";// после цикла выводим значение переменной

В результате выполнения программы на консоль будет выведен текст

Yes!Yes!Yes!Yes!Yes!

Cycle:5.

Если опустить все три параметра, организуем бесконечный цикл.

for(;;)

{

printf("A"); // печатаем букву A

}