Показать сообщение отдельно
  #5  
Старый 27.11.2011, 11:58
U.B.M. U.B.M. вне форума
Новичок
 
Регистрация: 06.10.2011
Сообщения: 94
Версия Delphi: Delphi 7
Репутация: 13
По умолчанию

Есть число пи. Оно иррациональное, т.е. после запятой у него бесконечно много знаков. Есть точность его определения - необходимое кол-во знаков.

пи с точностью до целых = 3
пи с точностью до десятых = 3.1
пи с точностью до тысячных = 3,142.

В любом случае его можно считать только приближенно - оставляем определенное кол-во знаков после запятой, остальное отбрасываем.

Код:
...
    if n>10300 then ShowMessage('Слишком большая точность')
...
         for i := 1 to n do
...

n - кол-во членов ряда при такой постановке, а не точность.

точность может быть 0.0001 - т.е. твое значение отличается от значения пи не более чем на указанную величину.

По поводу кода:
вместо
Код:
for i := 0 to n
исплользуй
Код:
count := 0;
while (tochnost <= abs(Pi - sum))
begin
//прибавляешь очередной член ряда к сумме
count := count + 1;
end;

В переводе на человеческий : пока точность меньше разницы между пи и суммой твоего ряда. Count - счетчик кол-ва просуммированных членов ряда


P.S. В uses добавь модуль Math, константа называется Pi.
Ответить с цитированием