Помощь - Поиск - Пользователи - Календарь
Полная версия: проблема с приближенным вычислением числа Пи...
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
guest
Это программа вычисления приближенного числа Пи

такой код вызывает ошибку периода исполнения :
Код
var counter1, counter2 : longint;
                piAt8 : extended;
begin
counter1 := 1; counter2 := 3; piAt8 := 0;
while counter2 < 2147483643 {на четыре меньше предела по integer} do
 begin
  piAt8 := piAt8 + (1/(counter1*counter2));
  counter1 := counter1 + 4;
  counter2 := counter2 + 4;
 end;
writeln(' Приближенное значение числа Пи .....  ',piAt8*8);
end.
=====================================
Почему такой код не вызывает ошибку периода исполнения (?) :
-------------------------------------
Код
var counter1, counter2 : longint;
                piAt8 : extended;
begin
counter1 := 1; counter2 := 3; piAt8 := 0;
while counter2 < 21474 do {слишком маленькая точность}
 begin
  piAt8 := piAt8 + (1/(counter1*counter2));
  counter1 := counter1 + 4;
  counter2 := counter2 + 4;
 end;
writeln(' Приближенное значение числа Пи .....  ',piAt8*8);
end.
guest
нда. хороший форум...
GLuk
На чем тестил первый пример (в смысле конфиг ПК)?? И какой именно рунтайм генерит паскаль?
У меня лично никакого RunTime Error не было и на моей машине все считалось 1712мс.
Может просто не дождался?  ;)
Ivs
Какая еще ошибка времени исполнения ?, все работает, просто компьютер очень долго считает, у тебя же очень большая точность, на моем durron 700 программа [1] выполнялась в течении около 5 мин. и в результате был получен ответ 9.5......,очень уж оно приближенное :) , да и вообще у тебя какой-то странный алгоритм вычисления числа пи, ведь это можно сделать гораздо быстрее смотри FAQ
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.