Написать программу вычисления суммы всех членов последовательности, не меньших заданного числа e — Pascal(Паскаль)

uses crt;
function Fact(n:integer):real;
begin
if n<2 then Fact:=1
else Fact:=Fact(n-1)/n;//поскольку факториал в знаменателе сразу считаем обратный
end;
var n,k,z:integer;
    e,s,t:real;
begin
clrscr;
{Сумма первых N членов}
write('n=');
readln(n);
s:=0;z:=-1;
for k:=0 to n do
 begin
  z:=-z;
  s:=s+z*Fact(k)*Fact(k+1);
 end;
writeln('Сумма первых(считая нулевой) ',n+1,' членов=',s:0:6);
{Сумма всех >= e}
repeat
write('Введите предел для вычисления очередного члена >0 e=');
readln(e);
until e>0;
if e>=1 then write('Сумма больших ',e:0:1,'=0')
else
 begin
  t:=1;
  s:=1;
  k:=0;
  z:=1;
  while abs(t)>=e do
   begin
    k:=k+1;
    z:=-z;
    t:=z*Fact(k)*Fact(k+1);
    s:=s+t;
   end;
  writeln('Сумма первых членов не меньше ',e:0:6,'=',s:0:6);
 end;
readln
end.

Leave a Comment

− 4 = 4