ВЕТВЯЩИЕСЯ АЛГОРИТМЫ

Циклические и рекурсивные алгоритмы. Операторы циклов for, do, while. В процессе программирования часто возникает необходимость повторять многократно выполнять многократно один и тот же фрагмент программы. В это случае используются операторы циклов.

Простейший из циклов имеет вид:

while (условие)

{

операторы;

}

 

Такой цикл повторяется многократно до тех пор, пока значение условия – истина. Как только это значение становится ложным, выполнение цикла прекращается. Имеется аналогичный вариант цикла, но с проверкой в конце

Do

{

операторы;

} while (условие);

 

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

for( инициализация ; проверка_условия ; коррекция)

{

операторы;

}

 

В таком цикле сначала выполняется инициализация. Обычно – это присвоение начального значения переменной цикла. Инициализация выполняется только один раз. Далее происходит проверка условия. Если условие верно, то выполняются операторы внутри цикла. После этого выполняется коррекция и повторяется проверка.

Рассмотрим несколько примеров.

int i; float a; for (i=1; i<5; i++) cout << a*i;

 

При задании условий надо быть очень осторожным, т.к. возможны ложные и бесконечные циклы, например:

а) int i; float a; for (i=1; i<1; i++) cout << a*i; – заданное условие всегда ложно, т.е. будет выполнен только один шаг цикла i=1;

б) int i; float a; for (i=1; i>0; i++) cout << a*i; – заданное условие всегда истинно, поэтому цикл будет бесконечным.

 

int i=5; while ( i>0 ) {cout << i <<’ ’; --i;}

 

int i=5; do {cout << i <<’ ’; --i;} while ( i>6 )