В Паскале . Дано натуральное число n. Вычислить : S=1/3^2+1/5^2+1/7^2+......+1/(2n+1)^2...

0 голосов
39 просмотров

В Паскале . Дано натуральное число n. Вычислить :
S=1/3^2+1/5^2+1/7^2+......+1/(2n+1)^2 через while


Информатика (15 баллов) | 39 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
PascalABC.NET 3.4.0, сборка 1672 от 10.06.2018
Внимание! Если программа не работает, обновите версию!

Самое глупое, что можно было придумать - использовать цикл с предусловием while ... do там, где имеется заданное число повторений:

begin
  var n:=ReadInteger('n=');
  var (s,i):=(0.0,1);
  while i<=n do begin<br>    s+=1/Sqr(2*i+1);
    i+=1
    end;
  Writeln('S=',s)
end.

Пример
n= 10
S=0.210988884817533

Гораздо естественнее тут выглядит цикл со счетчиком:

begin
  var n:=ReadInteger('n=');
  var s:=0.0;
  for var i:=1 to n do
    s+=1/Sqr(2*i+1);
  Writeln('S=',s)
end.

А если использовать современные возможности программирования в PascalABC.NET, решение вообще в одну строчку:

begin
  Writeln('S=',SeqGen(ReadInteger('n='),t->1/Sqr(2*t+1),1).Sum)
end.
(150k баллов)
0 голосов
var n,i:integer;
s:real;
begin read(n);
i:=0;
s:=0;
while is:=s+1/power(2*i+1,2);
i:=1+i;
end;
write(s);    
end.
(75 баллов)