Основы алгоритмизации и программирования. Часть первая. Алгоритмический язык. Операторы. Асламова В.С - 25 стр.

UptoLike

Составители: 

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