ВУЗ:
Составители:
Рубрика:
49
условие выполняется, то происходит выход из цикла, иначе цикл
повторяется.
Пример 13 Вычисление факториала
Выше мы приводили пример вычисления факториала. Теперь эту
задачу решим с помощью оператора цикла с постусловием.
Программа 7
Var P: Longint;
I,n: Byte;
Begin P
:
=1; I
:
=1;
Writeln('Введите n'); readln(n);
Repeat P
:
=P*I; I
:
=I+1;
Until I>n;
Writeln('Значение ',n,'! факториала = ',P);
End.
Пример 14 Нахождение степени
Смотри условие примера №10. Теперь эта
задача реализована посредством оператора цикла с
постусловием.
Программа 8
Var X,Y,A,K: integer;
Begin K
:
=0; Y
:
=1;
Writeln(‘Введите число и степень’);
Read(A,X);
Repeat K
:
=K+1; Y
:
=Y*X
Until Y<A;
Writeln(K);
End.
K
=0; Y=1;
K=
K
+1
;
Y=Y*
X
Экран
"Ввод
A
,X
"
НАЧАЛО
да
нет
Y<A
Экран
K
КОНЕЦ
Р
исунок 37 Блок-схема
программы №8
50
B=(2N
2
+1)*C*H
НАЧАЛО
КОНЕЦ
S:=1; H:=1;
N:=0; C:=1;
Печать
Ввод X, E
|B| > E
нет
д
а
N:=N+1;
H=H*
x
2
(2N–1)2N
C:=
–
C;
S:=S+B;
Печать
Сумма ряда S
Число членов N
Пример 15 Вычисление суммы ряда
Смотри условие примера №11. Обратите внимание, что в
операторах цикла с предусловием и операторах цикла с постусловием
всегда необходимо определять начальные значения параметра цикла.
Программа 9
Var x,eps,S,H,B:real;
n,C:integer;
begin writeln(‘Введите переменную и точность
расчета ’);
readln(x,eps);
S
:
=1; H
:
=1 n
:
=0; C
:
=1;
repeat n
:
=n+1;
H
:
=H*SQR(x)/((2*n–1)*(2*n));
C
:
=–C;
B
:
= (2*SQR(n)+1)*C*H;
S
:
=S+B;
until ABS(B)
≤eps;
writeln(‘Сумма ряда = ’,S)
writeln(‘ число членов ряда n = ’,n)
end.
Рисунок 38 Блок-
схема программы №9
Страницы
- « первая
- ‹ предыдущая
- …
- 23
- 24
- 25
- 26
- 27
- …
- следующая ›
- последняя »
