Сумма гармонического ряда
Вычисление суммы обобщенного гармонического ряда реализовано в приведенной ниже программе. Задается точность, максимальное число итераций, коэффициент ряда. Программа выдает сообщение, если ряд сходится очень медленно. Внимательно читайте комментарии в программе и адаптируйте ее для вашей задачи.
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.