Задание 3. Организация циклов в программе

 

Используя оператор цикла, найти сумму ряда с точностью , общий член которого

Результат напечатать, снабдив соответствующим заголовком.

 

Первый вариант программы.

 

Program dom3_1;

const e=1e-3;

var

n, i:integer;

summa,a_n,chisl,znam, factorial:real;

begin

writeln('a(n)=(n!)/(n^n), e = ',e);

summa:=0;

n:=1;

chisl:=1;

znam:=Power(n,n);

a_n:=chisl/znam;

 

while abs(a_n)>e do

begin

factorial := 1;

for i:=2 to n do

factorial := factorial * i;

 

chisl:=factorial;

znam:=Power(n,n);

a_n:=chisl/znam;

summa:=summa+a_n;

writeln ('n = ',n ,', a_n =',a_n ,', summa =', summa);

n:=n+1;

end;

 

writeln (' Сумма = ', summa, ', Последний член ряда = ', a_n);

writeln ('-------------------------------');

readln;

end.

 

Результаты выполнения программы:

a(n)=(n!)/(n^n), e = 0.001

n = 1, a_n =1, summa =1

n = 2, a_n =0.5, summa =1.5

n = 3, a_n =0.222222222222222, summa =1.72222222222222

n = 4, a_n =0.09375, summa =1.81597222222222

n = 5, a_n =0.0384, summa =1.85437222222222

n = 6, a_n =0.0154320987654321, summa =1.86980432098765

n = 7, a_n =0.00611989902166614, summa =1.87592422000932

n = 8, a_n =0.00240325927734375, summa =1.87832747928666

n = 9, a_n =0.000936656708416885, summa =1.87926413599508

Сумма = 1.87926413599508, Последний член ряда = 0.000936656708416885

-------------------------------

 

Второй вариант прораммы.

 

Program dz3_2;

const e=0.1e-2;

var n: integer; an, summa: real;

begin

summa:=1; n:=1; an:=1;

while an>e do

begin

an:= an * (Power(n,n) * (n+1))/ (Power(n+1,n+1));

summa:= summa + an; n:=n+1;

end;

writeln(' Сумма = ', summa,' Последний член ряда = ',an);

end.

 

Результаты выполнения программы:

Сумма = 1.87926413599508 , Последний член ряда = 0.000936656708416885