3.2.9. Вычитание в цикле
3.2.9. Вычитание в цикле
Рассмотрим еще один пример, иллюстрирующий ситуацию, которая часто озадачивает начинающего программиста (листинг 3.12, пример Subtraction на компакт-диске).
Листинг 3.12. Накапливание ошибки при вычитании
procedure TForm1.Button1Click(Sender: TObject);
var
R: Single;
I: Integer;
begin
R:= 1;
for I:= 1 to 10 do R:= R — 0.1;
Label1.Caption:= FloatToStr(R);
end;
В результате выполнения этого кода на экране появится -7.3015691270939E-8 вместо ожидаемого нуля. Объяснение этому достаточно очевидно, если вспомнить то, о чем мы говорили ранее. Число 0,1 не может быть передано точно ни в одном из вещественных типов, а при каждом вычислении происходит преобразование Single в Extended и обратно, причем последнее — с потерей точности. Эти потери приводят к тому, что мы получаем в результате не ноль, а "почти ноль".
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Вычитание объектов
Вычитание объектов Команда SUBTRACT обеспечивает вычитание одного объекта из другого (рис. 16.15). Таким образом команда позволяет сформировать новое составное тело или область. Области создаются путем вычитания площади одного набора областей или двумерных примитивов из
3.1.5. Неявное преобразование в цикле for
3.1.5. Неявное преобразование в цикле for Рассмотрим программу (пример ForRange на компакт-диске), на форме которой находятся кнопка и панель, причем кнопка (это важно!) — не на панели, а на форме, а на панели нет никаких компонентов. Обработчик нажатия на кнопку выглядит следующим
Вычитание
Вычитание Команда SUBTRACT создает новый объект методом вычитания одного множества тел из другого. Мы уже касались данной команды при получении отверстий в областях. Применительно к твердотельным моделям данная команда в основном также используется для создания отверстий,
Вычитание объектов
Вычитание объектов Команда SUBTRACT обеспечивает вычитание одного объекта из другого. Таким образом команда позволяет сформировать новое составное тело или область. Области создаются путем вычитания площади одного набора областей или двумерных примитивов из площади
Вычитание объектов
Вычитание объектов Команда SUBTRACT обеспечивает вычитание одного объекта из другого. Таким образом, команда позволяет сформировать новое составное тело или область. Области создаются путем вычитания площади одного набора областей или двумерных примитивов из площади
Пример 10-4. Обработка списка файлов в цикле for
Пример 10-4. Обработка списка файлов в цикле for #!/bin/bash# list-glob.sh: Создание список файлов в цикле for с использованием# операции подстановки имен файлов ("globbing").echofor file in *do ls -l "$file" # Список всех файлов в $PWD (текущем каталоге). # Напоминаю, что символу "*" соответствует любое имя
Пример 10-6. Создание списка аргументов в цикле for с помощью операции подстановки команд
Пример 10-6. Создание списка аргументов в цикле for с помощью операции подстановки команд #!/bin/bash# уЩЫЬ for гЯ [гаЩгЫЯЭ], гЯкФСЮЮйЭ г аЯЭЯниР аЯФгдСЮЯзЫЩ ЫЯЭСЮФ.NUMBERS="9 7 3 8 37.53"for number in `echo $NUMBERS` # for number in 9 7 3 8 37.53do echo -n "$number "doneecho exit 0Более сложный пример использования подстановки
Пример 16-5. Альтернативная форма перенаправления в цикле while
Пример 16-5. Альтернативная форма перенаправления в цикле while #!/bin/bash# Это альтернативный вариант предыдущего сценария.# Предложил: by Heiner Steven#+ для случаев, когда циклы с перенаправлением#+ запускаются в субоболочке, из-за чего переменные, устанавливаемые в цикле,#+ не
Вычитание
Вычитание Команда SUBTRACT создает новой объект методом вычитания одного множества тел из другого. Мы уже касались данной команды при получении отверстий в областях. Применительно к твердотельным моделям данная команда в основном также используется для создания отверстий,
Вычитание объектов
Вычитание объектов Команда SUBTRACT обеспечивает вычитание одного объекта из другого. Таким образом команда позволяет сформировать новое составное тело или область. Области создаются путем вычитания площади одного набора областей или двумерных примитивов из площади