такой код вызывает ошибку периода исполнения :
Код
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.
=====================================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.
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.