Вниз
Скачать: CL | DM;

Глюк с while?   Найти похожие ветки 

 
Алиса   (2002-02-05 15:29) [0]

Интересно это глюк с while..do.. или я что-то не понимаю:)?
var i:Double;
Begin
i:=0;
while i<1 do
i:=i+0.1
S:=i;
end;
На выходе S=1.1
если:
var i:integer;
Begin
i:=0;
while i<10 do
i:=i+1
S:=i;
end;
На выходе S=10 ??!!!

Спасибо за ответ!


 
Johnmen ©   (2002-02-05 15:38) [1]

В 1 случае д.б. 1.0


 
Romkin ©   (2002-02-05 15:39) [2]

var i:Double;
Begin
i:=0;
while round(i * 10) < 10 do
i:=i+0.1
S:=i;
end;
Так все должно получится, это из-за приближенного представления числа с плавающей точкой, посмотри при пошаговых проходах


 
Johnmen ©   (2002-02-05 15:45) [3]

Romkin © прав.


 
USAtyj ©   (2002-02-05 17:33) [4]

Про вещественные числа была хорошая ссылка уже здесь:
http://www.delphikingdom.com/helloworld/reals.htm



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.005 c
1-66569
Олег Лаукарт
2002-02-05 16:11
2002.02.21
Как правильно удалить поток


1-66585
Eagle
2002-02-04 18:56
2002.02.21
текстовый формат ячейки в Excel


14-66673
Bizon
2002-01-03 10:04
2002.02.21
Новый год.


3-66422
$hade
2002-01-24 15:46
2002.02.21
InterBase...


1-66536
SemFLY
2002-02-04 22:02
2002.02.21
Как передать значение переменной из одного модуля в другой ?




   Наверх