![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Глюк с while? [D5, Win95/98]
Алиса © (2002-02-05 15:29:00)Интересно это глюк с 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 ??!!!
Спасибо за ответ!
USAtyj (2002-02-05 17:33:00) [1]Про вещественные числа была хорошая ссылка уже здесь:
http://www.delphikingdom.com/helloworld/reals.htm
Johnmen (2002-02-05 15:45:00) [2]Romkin © прав.
Romkin (2002-02-05 15:39:00) [3]var i:Double;
Begin
i:=0;
while round(i * 10) < 10 do
i:=i+0.1
S:=i;
end;
Так все должно получится, это из-за приближенного представления числа с плавающей точкой, посмотри при пошаговых проходах
Johnmen (2002-02-05 15:38:00) [4]В 1 случае д.б. 1.0