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

Общий вид оператора:

Repeat

<оператор>;

...

Until <логическое выражение>;

Этот оператор, как и предыдущий, заменяет блок «Решение», но если он стоит не в начале, а в конце цикла. Поэтому входящие в состав оператора REPEAT внутренние операторы выполнятся хотя бы один раз. Роль операторных скобок здесь играют служебные слова, поэтому использовать составной оператор не требуется.

Существенным отличием от оператора While является то, что внутренние операторы выполняются, пока выражение ложно.

Примеры вычисления кубического корня (уже рассматривался с использованием метки) и бесконечной суммы:

Program S2;

Label L;

Const Eps = 1E-6;

Var a,x,y:real;

Begin

WriteLn ('Введите число для определения кубического корня');

Read (a);

x:= a;

Repeat

y:= x;

x:= 1/3*(a/sqr(y)+2*y);

Until Abs(x-y)<Eps;

WriteLn ('Значение корня:', x:10:6);

End.

Program Sum3;

Const Eps=1e-3;

Var

i:integer;

S,v:real;

Begin

S:=0;

i:=1;

Repeat

v:=(i+1)/(i*i*i+8);

S:=S+v;

i:=i+1;

Until v<Eps;

WriteLn ('Сумма=',S:6:3)

end.


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



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