Вычислить частичную сумму ряда s=1/2^2+1/3^2+1/4^2+ вычисление прекратить, когда модуль очередного слагаемого станет меньше 0,001. проверьте, насколько сумма приблизилась к значению

Margoha80029071 Margoha80029071    1   22.05.2019 08:50    7

Ответы
Іра022 Іра022  17.06.2020 13:28

Program Markovsp1;
uses crt;
const
  eps=0.001;
var
  t,s:real;
  i:integer;
begin
  writeln('*** alphaues is thinking... ***');
  writeln('***          OK             ***');
  writeln();
  writeln('Программа вычисляет частичную сумму ряда ');
  writeln('  S=1+1/(2^2)+1/(3^2)+1/(4^2)+... ');
  writeln('Вычисление прекратится, когда модуль очередного слагаемого станет меньше 0,001');
используется цикл repeat');
  writeln();
  s:=0;
  i:=1;
  repeat
    t:=1/((i)*(i));
    s:=s+t;
    //writeln('i=',i,'  T=',t:0:6,'  S=',s:0:6);
    i:=i+1;
  until abs(t)<eps;
  writeln('s=',s:0:6,' (pi^2)/6=',(pi*pi)/6:0:6);
  writeln('Приближение к (pi^2)/6 равно ',s-(pi*pi)/6:0:6);
end.

Program Markovsp2;
uses crt;
const
  eps=0.001;
var
  t,s:real;
  i:integer;
begin
  writeln('*** alphaues is thinking... ***');
  writeln('***          OK             ***');
  writeln();
  writeln('Программа вычисляет частичную сумму ряда ');
  writeln('  S=1+1/(2^2)+1/(3^2)+1/(4^2)+... ');
  writeln('Вычисление прекратится, когда модуль очередного слагаемого станет меньше 0,001');
используется цикл while');
  writeln();
  s:=0;
  i:=1;
  t:=1;
  while t>eps do
    begin
      t:=1/(i*i);
      s:=s+t;
      //writeln('i=',i,'  T=',t:0:6,'  S=',s:0:6);
      i:=i+1;
     end;
  writeln('s=',s:0:6,' (pi^2)/6=',(pi*pi)/6:0:6);
  writeln('Приближение к (pi^2)/6 равно ',s-(pi*pi)/6:0:6);
end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика