Структура повторения for




Часто приходится решать задачи, в которых организуется повторение, управляемое счетчиком. При этом требуется задать (рис Б.5):

1. Имя управляющей переменной (счетчика цикла);

2. Начальное значение управляющей переменной;

3. Приращение (или уменьшение), на которое изменяется управляющая переменная в каждом цикле.

4. Условие проверки, не достигнуто ли конечное значение управляющей переменной (т.е. надо ли продолжать циклы)

Рассмотрим программу, которая печатает числа от 1 до 10 (рис.Б.6)

В качестве счетчика используется переменная counter. Значение счетчика увеличивается на 1 при каждом выполнении цикла. Выполнение цикла заканчивается, когда значение управляющей переменной превысит 10.

Программа может быть сделана более компактной, если переменной counter задать значение 0 и заменить структуру while следующей

while (++counter <= 10)

cout << counter << " ";

Операция инкремент выполняется непосредственно в условии структурыwhile до того, как это условие проверяется.

В С++ существует специальная структура повторения for, которая содержит все элементы, необходимые для повторения, управляемого счетчиком.

for (начальное_выражение; условие; увеличение_счетчика)

оператор;

 

   
Рис.Б.5-Блок-схема структуры повторения управляемого счетчиком   Рис.Б.6-Повторение, управляемое счетчиком  

Начальное_выражение предназначено для инициализации переменной-счетчика цикла, причем тут же можно объявлять переменную. Условие записывается точно так же, как и в других операторах цикла. Увеличение_счетчика — это именно то, что делает в наших циклах оператор ++i;. Естественно, вместо единственного оператора в теле цикла мы можем писать составной оператор в фигурных скобках. Этот оператор цикла работает так:

§ вычисляется начальное_выражение; это происходит единственный раз при первом выполнении оператора for;

§ проверяется условие; если условие истинно, то выполняется заданный оператор в теле цикла; если условие ложно, то происходит выход из цикла и выполняется следующий после цикла оператор;

§ после выполнения заданного оператора производится увеличение_счетчика;

§ происходит переход к проверке условия.

Таким образом, при первой итерации выполняются первые два «пункта» в круглых скобках, а при последующих — второй и третий, только в обратном порядке: сначала выполняется увеличение_счетчика, а затем — проверка условия.

В программе (см. рисунок А.6) можно заменить структуру while на структуру for (рис.Б.7).

Когда структура for начинает выполняться, управляющей переменной counter задается начальное значение 1. Затем проверяется условие продолжения цикла counter<=10. Условие истинно, оператор тела структуры выводит значение counter равное 1. Затем управляющая переменная counter увеличивается на 1 в выражении counter++ и цикл опять начинается с проверки условия его продолжения.

 

Рис.Б.7-Повторение, управляемое счетчиком, со структурой for



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-30 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: