Организация цикла без операторов цикла

Найти сумму ста первых элементов натурального ряда чисел:

Program p7_1;

Label m;

Var s,i: integer;

Begin

S:=0; i:=1;

m: s:=s+i:

i:=i+1:

if i<= 100 then goto m;

Writeln(‘Сумма=’,s:4);

End.

По способу действия циклы подразделяются на два вида; циклы с предусловием и циклы с постусловием.

Оператор цикла с параметром (цикл с предусловием)

for i:=m1 to (downto) m2 do S;

где i – параметр цикла; m1 и m2 начальное и конечное соответственно значение параметра цикла i; S – оператор тела цикла.

Работа оператора:

1) параметру цикла i присваивается начальное значение m1;

2) текущее значение параметра цикла сравнивается с конечным значением m2 и, если оно меньше или равно m2, то выполняются операторы тела цикла (S), в противном случае происходит выход из цикла;

3) параметр цикла i увеличивается на шаг и повторяется п. 2.

Пример (предыдущая задача)

Program p7_2;

Var s,i: integer;

Begin

S:=0;

for i:=1 to 100 do s:=s+i;

Writeln(‘Сумма=’,s:4);

End.

Оператор цикла с предусловием

while ЛВ do S;

В операторах цикла с предусловием сначала проверяется значение логического выражения ЛВ и в случае его истинности осуществляется выполнение операторов тела цикла. Если значение ЛВ – ложно, то происходит выход из цикла.

Пример (предыдущая задача)

Program p7_3;

Var s,i: integer;

Begin

S:=0; i:=1;

While i<=100 do

begin

s:=s+i:

i:=i+1;

end;

Writeln(‘Сумма=’,s:4);

End.

Оператор цикла с постусловием

Repeat

Оп1;

Оп2;

….

Оп k

until ЛВ;

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

Примеры реализации циклических алгоритмов с известным и неизвестным числом повторений:

Пример (предыдущая задача)

Program p7_4;

Var s,i: integer;

Begin

S:=0; i:=1;

Repeat

s:=s+i:

i:=i+1;

until i>100;

Writeln(‘Сумма=’,s:4);

End.

Пример на цикл с неизвестным числом повторений.

Определить, при каком k выполнится следующее условие:

, при k=1, 2, 3..

Program p7_5;

Var eps, x,y: real;

k: integer;

Begin

Write(‘Введите х и точность:’);

Readln(x, eps);

k:=1;

repeat

y:=x/(k*k*k);

k:=k+1;

until abs(y)<=eps;

Writeln(‘k=’, (k-1):6);

end.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: