Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
If X>0 then
Begin
Y0:=A;
Y1:=(Y0+X/Y0)/2;
While abs(Y1-Y0)>EPS do
Begin
Y0:=Y1;
Y1:=(Y0+X/Y0)/2
End;
Writeln(‘Y1=’,Y1,’ при X=’,X)
End
Else
Writeln(‘Число ’, X, ' меньше нуля');
End.
Оператор цикла с постусловием:
REPEAT
< оператор 1 > [;
< оператор 2 >] [;
…
< оператор n >]
UNTIL < логическое выражение >;
Данная конструкция оператора цикла используется, если число повторений цикла заранее неизвестно, но известно условие выхода из цикла. Управляющее циклом логическое выражение является условием выхода из цикла. Если оно принимает значение TRUE, то выполнение цикла прекращается. При использовании оператора REPEAT цикл выполняется хотя бы один раз. В отличие от других операторов цикла оператор данного вида не требует операторных скобок BEGIN - END, так как их роль выполняют REPEAT - UNTIL.
Вычисление F=N! с использованием конструкции REPEAT – UNTIL будет выглядеть следующим образом:
...
F:=1;
I:=1;
Repeat
F:=F*I;
I:=I+1;
Until I>N;
...
Рассмотрим другой пример использования этого оператора. Вводится последовательность чисел. Определить количество элементов кратных 7.
Program rep;
Var A,K: integer;
C: char;
Begin
K:=0;
Repeat
Writeln(‘ Введите очередное число ‘);
Readln(A);
If A mod 7=0 then K:=K+1;
Writeln(‘Хотите выйти из цикла? д/y’);
Readln(C);
Until (C=’д‘) or (C=’y’);
Writeln(‘kol=’,K);
End.
Здесь условием выхода из цикла является ввод символов Д или Y при ответе на вопрос о выходе из цикла. Если вводится одна из этих букв, логическое выражение, записанное после UNTIL, становится TRUE и происходит выход из цикла.
В следующем примере требуется поменять местами максимальный и минимальный элементы, найденные среди элементов четных строк матрицы А(M,N).
Дата публикования: 2014-11-04; Прочитано: 311 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!