Написать программу ** паскале через циклы while и repeat. Вычислить сумму бесконечного...

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

Написать программу на паскале через циклы while и repeat.
Вычислить сумму бесконечного сходящегося ряда с точностью eps=0.5*10^-6


image

Информатика (95 баллов) | 62 просмотров
0

Разве это-eps=0.5*10^-6 не то,что нужно?

Дан 1 ответ
0 голосов
Правильный ответ

Указанное значение (1,175201) получится, если суммирование выполнять с k=0. В задании же начальное k=1.
1)
const eps=0.5e-6;
var a,s:real; k:integer;
begin
 a:=1/(2*3); s:=a; k:=1;
 while abs(a)>eps do begin
 a:=a/(2*k+2)/(2*k+3);
 s:=s+a;
 k:=k+1;
 end;
 writeln('s = ',s:8:6);
end.

Результат:
s = 0.175201

2)
const eps=0.5e-6;
var a,s:real; k:integer;
begin
 a:=1/(2*3); s:=a; k:=1;
 repeat
 a:=a/(2*k+2)/(2*k+3);
 s:=s+a;
 k:=k+1;
 until abs(a)<=eps;<br> writeln('s = ',s:8:6);
end.

Результат:
s = 0.175201

Если изменить строку задания начальных значений:
 a:=1; s:=a; k:=0;
то результат будет s = 1.175201

(194k баллов)
0

a:=a/(2*k+2)/(2*k+3)

0

как мы получаем эту строчку?

0

Для вывода рекуррентной формулы находим отношение (k+1) и k членов ряда, т.е. [1/(2*(k+1)+1)!] / [1/(2*k+1)!]