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

Введение

При решении задач может возникнуть необходимость повторить одни и те же действия множество раз. В программировании блоки кода, которые требуется повторять не единожды, оборачиваются в специальные конструкции – циклы. У циклов выделяют заголовок и тело. Заголовок определяет, до каких пор или сколько раз тело цикла будет выполняться. После того как достигнута последняя инструкция тела, поток выполнения снова возвращается к заголовку цикла. Снова проверяется условие выполнения цикла. В зависимости от результата тело цикла либо повторяется, либо поток выполнения переходит к следующему выражению после всего цикла. Один проход цикла называется итерацией.

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

В C++ предусмотрены три оператора, реализующих циклический процесс: while, do... while и for. В данной работе к каждому виду циклов присутствуют два примера с применением этого цикла, один из которых в каждом цикле на одну и ту же задачу.

Цикл с предусловием (while)

Циклы с предусловием чаще всего используют тогда, когда неизвестно число повторений цикла. Циклы с предусловием – это такие циклы, в которых до начала выполнения тела цикла проверяется условие выполнения следующего шага цикла. Если значение этого условия истинно (т. е. условие выполняется), то выполняется тело цикла. В теле цикла должно изменяться значение по крайней мере одной переменной, которая влияет на значение условия (иначе произойдет «зацикливание»). Далее опять проверяется условие выполнения цикла, и если значение условия ложно, то осуществляется выход из цикла.

НЕ нашли? Не то? Что вы ищете?

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

Общая форма записи: while (условие) оператор;

Примеры. Программа, которая считает сумму всех чисел от 1 до 100:

#include "stdafx. h"

#include <iostream>

using name space std;

int main()

{

int sum = 0;

int i = 1;

setlocale (0, "");

while (i <= 100)

{

       sum = sum + i;

       i = i + 1;

}

cout << "Сумма чисел от 1 до 100 = " << sum << endl; 

system ("pause");

return 0;

}

Программа, которая выводит квадраты чисел от 1 до 9:

#include "stdafx. h"

#include <iostream>

Using name space std;

int main()

int i = 1;

while (i < 10)

{

cout << i << " * " << i << " = " << i * i << endl;

i++;

}

system ("pause");

return 0;

}

Цикл с параметром (for)

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

Инициализация - присваивание параметру цикла начального значения;

Условие - проверка условия повторения цикла, чаще всего - сравнение величины параметра с некоторым граничным значением;

Модификация - изменение значения параметра для следующего прохождения тела цикла.

Эти три операции записываются в скобках и разделяются точкой с запятой. Инициализация параметра осуществляется только один раз — когда цикл for начинает выполняться. Проверка условия повторения цикла осуществляется перед каждым возможным выполнением тела цикла. Когда выражение, проверяющее условие становится ложным (равным нулю), цикл завершается. Модификация параметра осуществляется в конце каждого выполнения тела цикла. Параметр может как увеличиваться, так и уменьшаться.

Общая форма записи: for (инициализация; условие; модификация) оператор;

Примеры. Программа, которая считает сумму всех чисел от 1 до 100:

#include "stdafx. h"

#include <iostream>

Using name space std;

int main()

{

int sum = 0;

setlocale (0, "");

for (int i = 1; i <= 100; i++)

       sum = sum + i;

cout << "Сумма чисел от 1 до 100 = " << sum << endl; 

system ("pause");

return 0;

}

Программа, которая выводит таблицу умножения на 7:

#include "stdafx. h"

#include <iostream>

Using name space std;

int main()

for (int i = 1; i <= 10; i++)

cout << "7 * " << i << " = " << 7 * i << endl;

system ("pause");

return 0;

}

Цикл с постусловием (do... while)

Если возникает необходимость выполнения тела цикла хотя бы один раз, тут нам поможет цикл с постусловием do... while. Работает цикл следующим образом. В начале выполняется оператор, затем определяется истинность условия. Если условие истинно, то оператор тела цикла выполняется еще раз, а если ложно - заканчивается.

Общая форма записи:

do оператор while (условие);

Примеры. Программа, которая считает сумму всех чисел от 1 до 100:

#include "stdafx. h"

#include <iostream>

using name space std;

int main()

{

int sum = 0;

int i = 1;

setlocale (0, "");

do

{

       sum = sum + i;

       i = i + 1;

}

while (I <= 100);

cout << "Сумма чисел от 1 до 100 = " << sum << endl; 

system ("pause");

return 0;

}

Программа, печатающая числа от 1 до 9:

#include "stdafx. h"

#include <iostream>

Using name space std;

int main()

{

       int i = 1;

       do

       {

               cout << i << " ";

               i++;

       }

       while ( i < 10 );

       system ("pause");

       return 0;

}

Заключение

Исходя из общего положения и опираясь на совокупность всех ранее вышеперечисленных и упомянутых фактов, можно сделать вывод, что в практически любой программе с циклом его можно заменить на любой из двух оставшихся циклов и, возможно, программа станет более компактной и рациональной. В большинстве случаев цикл с параметром будет удобнее и практичнее циклов с пред - и пост - условием.