Циклы.

Agent аватар

Циклы

- Цикл с предпроверкой.
Реализуется оператором while.

Формат:
while (выражение) st;

Здесь выражение - условие выполнения цикла.
st - оператор (простой или составной) - тело цикла.

TODO: вставить изображение блок-схемы оператора WHILE!!!

Пример:
Подсчитать сумму чисел от 1 до 100.

int i = 1, s = 0;

while (i<=100)
{
s += i;
i++;
}

- Цикл с постпроверкой.
Реализуется оператором do...while.

Формат:
do{
st;
} while (выражение);

TODO: вставить изображение блок-схемы оператора DO...WHILE!!!

Пример:

do{
s += i;
i++;
} while (i<100);

- Наиболее общий способ организации циклов. Оператор for.
Оператор for имеет следующий формат:
for(выр1;выр2;выр3) st;

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

Схема выполнения:
1. Вычисляется выражение 1;
2. Вычисляется выражение 2;
3. Если значение выражения 2 отлично от 0, то выполянется тело цикла, вычисляется выражение 3 и см. п.2. В противном случае происходит выход из цикла.

Схему for можно записать через while следующим образом:

выр1;
while (выр2)
{
st;
выр3;
}

Пример:

int s = 0;

for (int i = 1; i <= 100; i++)
{
s += i;
}

Следует отметить, что одно или несколько выражений оператора for могут отсутствовать.

- Цикл с выходом из середины.
TODO: вставить изображение блок-схемы оператора с выходом из середины!!!

Данный алгоритм легко реализуется с помощью любого оператора цикла. Необходимо в тело цикла вставить операторы if и break.

Пример:
Необходимо подсчитать произведение неизвестного заранее количества сомножителей. 0 - признак конца ввода.

float p = 1, x;

do{
scanf("%f", &x);
if (!x ) break;
p *= x;
} while (1);

printf("%f", p);




Rambler's Top100

Яндекс цитирования

© 2008 AgentSoft Project
Based on: ManuScript | Optimized for Drupal :www.SablonTurk.com