Сумма гармонического ряда

Вычисление суммы обобщенного гармонического ряда реализовано в приведенной ниже программе. Задается точность, максимальное число итераций, коэффициент ряда. Программа выдает сообщение, если ряд сходится очень медленно. Внимательно читайте комментарии в программе и адаптируйте ее для вашей задачи.
program Summa_garmonicheskogo_ryada;
 uses crt;
 const epsmin=1e-8; xmax=1000000; alfa=3.0;
type
 func=function(x:real):real;
var
 S,epsilon:real;
 {$F+}
 {Общий член гармонического ряда}
 function f1(x:real):real;
 begin
 f1:=1/(exp(alfa*ln(x)));
 end;
 {Вычисление суммы}
 function lims(f:func;epsilon:real):real;
 var x,S:real;
 begin
 S:=0; x:=1;
 repeat
 S:=S+f1(x);
 x:=x+1;
 until (abs (f1(x))xmax ) ;
 if x<=xmax then
 lims:=S
 else
 begin
 lims:=77777;
 writeln('Число слагаемых слишком велико');
 writeln('Ряд расходится (или сходится очень медленно)');
 end;
 end;
Begin
 clrscr; epsilon:=0.1;
 writeln('Сумма oбобщенного гармонического ряда, alfa =', alfa:4:2);
 repeat
 S:=lims(f1,epsilon);
 if S <> 77777 then
 writeln ('epsilon=', epsilon:10:8,' S=',S:8:5);
 epsilon := epsilon*0.1;
 until epsilon < epsmin;
 writeln('Вычисления закончены'); readln;
End.
Онлайн всего: 29
Гостей: 29
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте