Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
циклические алгоритмы.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
450.56 Кб
Скачать

Псевдокод алгоритма

алг Работа с циклами

нач  вещ xs

         цел n

вывод “Введите значение x”

ввод  x

если > 0

        то s = ctg (x)

         иначе s = 0

                     нц  для  n = 2 до 10

                           

                     кц

 все

 вывод “S = ”, s

 кон

 

 

 

Пример 7. Вычислить функциональный ряд с неопределенным количеством элементов.

Для решения подобных задач используют условные циклы, в которых вычисляют элемент ряда и его значение сравнивают с некоторой величиной e, называемой точностью (где ). Сумма ряда вычисляется до тех пор, пока величина очередного вычисленного члена ряда не станет меньше величины e.

Если же в выражении имеется факториал (n!), то его необходимо вычислять в цикле до основного вычисления элемента.

Например, найти сумму ряда:          

На рис. 11 представлена схема алгоритма этого примера, использующий цикл с постусловием. Ниже даны программы на языках Псевдокод,  С и Pascal.

Псевдокод алгоритма

 

алг Работа с условными циклами

нач  вещ ys 

         цел nkf

     нц f = 1

        нц для  k = 1 до n

                  f = f * k  

        кц

         y = n / f 

           s = s + y

        n = n + 1

    пока  e                

  кц

  вывод “Результат = ”, s

 кон

 

               Программа на языке С

 

#include <iostream.h>                       

#include <math.h>

main ()

float ys = 0.0, e = 0.05; int n =1, klongint f;

      do { f = 1;

              for ( k = 1; n <= n++)  f = k;

              n / f;

              s = s + y;

              n ++:

            }

       while (y > e); // Цикл выполняется пока условие истинно

  cout << ”Результат = ” << s <<endl;

}

 

                Программа на языке Pascal

 

Program a_3b;                             

Var  y, s, e : real;  n, k integer; f : longint;

begin

s := 0.0; n := 1; e = 0.05;

Repeat

        begin f :=1;

                 for k := 1 to n do  f := f * k;

                  : / f;

                 s := y;

                 n := + 1;

        end;

Until  e;     { Цикл выполняется пока условие ложно}

writeln (‘ Результат = ’, s);

end.                

Рис. 11.  Схема алгоритма