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

ВОПРОСЫ

1. Чему будет равно значение переменной n после выполнения следующих операторов?

n:=0;

while n<5 do

n:=n+1;

2. Что будет выводиться на экран во время выполнения операторов:

n:=1;

while n<=10 do

begin

x:=n*n;

writeln(n:6,’ ‘,x:6)

end;

3. Какие изменения следует внести в операторы из вопроса 2, чтобы программа вывела числа от 1 до 10 и их квадраты?

Этот оператор, как и оператор WHILE, используется в программе, сели надо провести некоторые повторяющиеся вычисления (цикл), однако число повторов во время разработки программы неизвестно и может быть определено только во время работы программы, т.е. определяется ходом вычисления.

Формат записи оператора:

REPEAT

{операторы циклической части программы}

UNTIL <логическое условие>;

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

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

Пример 7.

Вычислить сумму бесконечного ряда с точностью до члена ряда, меньшего , для заданного значения .

Решение:

program pr2;

var x,eps,s,f:real;

i:integer;

begin

readln(x,eps);

s:=0;

i:=1;

repeat

f:=sin(2*i-1)*x/(2*i-1);

s:=s+f;

i:=i+1

until abs(f)<eps;

writeln(‘s=’,s:8:2)

end.

Необходимо обратить внимание:

- инструкции цикла, находящиеся между repeat и until, всегда будут выполнены хотя бы один раз;

- для того чтобы цикл завершился, необходимо, чтобы инструкции цикла, находящиеся между repeat и until, изменяли значения переменных, входящих в выражение логического условия.


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



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