Помощь - Поиск - Пользователи - Календарь
Полная версия: Проверте пожалуйста задачу в паскале!!! > Информатика / Программирование
Образовательный студенческий форум > Другие дисциплины > Информатика / Программирование
smile51
Проверьте пожалуйста задачу которую я решил в паскале, так как я изучаю паскаль очень мало времени и самостоятельно!!!
Задача: Составьте программу для вычисления суммы ряда S=1/2²+3/4²+5/6²+7/8²+9/10²+... с точностью до члена ряда, не превышающего по абсолютной величине 0.001.

Решение:
Var s,h,d:real;
i:integer;
begin
d:=0.001;
s:=0;
i:=0;
repeat
i:=i+1;
h:=((2*i)-)1/sqr(2*i);
s:=s+h;
until h<d;
writeln('Сумма ряда: ',s:10:10);
writeln('Количество членов ряда: ',i);
readln;
end.

Ответ выдаваемый программой:
Сумма ряда: 2.1272298361
Количество членов ряда: 91

P.S. Знаю пока тока один циклический оператор, так что если можно будет её решить короче и быстрее прошу написать как ещё можно её решить, если вам будет не трудно!!

Заранее огромное спасибо!!!
Евгений М.
Цитата(smile51 @ 16.11.2009, 5:32) *

h:=((2*i)-)1/sqr(2*i);


h:=(2*i-1)/sqr(2*i)

Хочу учесть, когда говорится "абсолютная величина" - это имеется ввиду модуль числа. Здесь это конечно не нужно, но если в членах ряда будут отрицательные числа, они и так будут меньше 0.001 и цикл прерывается в вовремя.
Виктор
Цитата(Евгений М. @ 16.11.2009, 2:08) *

h:=(2*i-1)/sqr(2*i)

Хочу учесть, когда говорится "абсолютная величина" - это имеется ввиду модуль числа. Здесь это конечно не нужно, но если в членах ряда будут отрицательные числа, они и так будут меньше 0.001 и цикл прерывается в вовремя.

объясните,пожалуйста откуда взялся минус?
Julia
Какой минус?
Формула из вашего решения, только правильно расставлены скобки.
Виктор
это решение не моё, h:=(2*i-1) вот этот минус?
граф Монте-Кристо
В числителе стоит арифметическая прогрессия с первым членом,равным 1 и разностью, равной 2. Следовательно, i-тый член последовательности будет таким:
a[i]=a[1]+(i-1)*d=1+(i-1)*2=2*i-1,
что и стоит в программе.
Виктор
а если сделать шаг не 1 а 2 то и не надо будет умножать i на 2
smile51
Ты имеешь ввиду сделать i:=i+2? тогда h:=i-1/sqr(i) и ответ выдаваемый программой будет:
Сумма ряда: 2.5356700972
Количество членов ряда: 182

ТАК КАКОЙ ЖЕ ПРАВЕЛЬНЫЙ????
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.