![]() |
![]() |
kosyak |
![]()
Сообщение
#1
|
|||
Пионер ![]() ![]() Группа: Пользователи Сообщений: 100 Пол: Мужской Репутация: ![]() ![]() ![]() |
Прошу прощение, если тема не в том разделе и может об этом было уже сказано (я не нашел)
Кто-нибудь может объяснить, почему так? Код program pr; var i: real; begin i:=0; while i<=1 do begin writeln(i); i:=i+0.1; end; writeln(i); readln; end. По всем правилам программа последним числом должна вывести 1,1... Но нет!! Она выводит 1.... Причем Delphi при аналогичном коде выводит правильно: Код procedure TForm1.Button1Click(Sender: TObject); var i: real; begin i:=0; while i<=1 do begin memo1.Lines.Add(floattostr(i)); i:=i+0.1; end; memo1.Lines.Add(floattostr(i)); end;
|
|||
![]() ![]() |
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Погрешность вычислений...
program pr; выдаст тебе 1.5 вот такое - тоже правильно посчитает (1.1): program pr; -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
![]() ![]() |
![]() |
Текстовая версия | 10.07.2025 5:41 |