Нам остается лишь умножить полученное значение на величину плотности материала, максимальное значение которой равно 131 фунт на кубический фут. Во избежание переполнения уменьшаем плотность в 100 раз, применяя выражение ПЛОТНОСТЬ @ 100 */
Проверив выполнение программы в этой точке с данными о куче цемента высотой 50 футов, получим число 34991, что превышает 15 разрядов. Теперь пора принять во внимание значение 2000. Вместо ПЛОТНОСТЬ @ 100 */
мы можем написать: ПЛОТНОСТЬ @ 200 */
и наш ответ будет приведен к целому числу тонн.
Этот вариант программы вы найдете на распечатке блока 246, которая приводится ниже. Как уже упоминалось ранее, в блоке 248 находится вариант той же программы с использованием арифметических операций над данными двойной длины. Здесь вы вводите высоту в виде числа двойной точности с одним знаком после точки, представляющим десятые доли фута, например 50.0 футов, а далее следует слово ФУТЫ.
Выполняя целочисленные арифметические операции над числами двойной длины, мы в состоянии округлять полученный вес кучи до ближайшего целого фунта. В нашем случае применение целочисленной арифметики двойной длины открывает не меньшие
возможности, чем те, которые предоставляет более мощная арифметика с плавающей точкой. Ниже для сравнения приводятся результаты, полученные с помощью калькулятора, имеющего диапазон представления чисел в 10 десятичных цифр, средств Форта одинарной длины и средств Форта двойной длины. Результаты представлены для кучи цемента высотой 50 футов с использованием табличных значений: В ФУНТАХ В ТОННАХ --------------------------------------------- калькулятор 34.995.634 17,497.817 16-разрядный форт - 17.495 32-разрядный форт 34.995.634 17.497.817 ---------------------------------------------
Результаты же работы нашей программы таковы:246 LOAD ok ( компиляция варианта с одинарной длиной) ЦЕМЕНТ ok 10 ФУТОВ КУЧА = 138 тонн цемента ok 10 ФУТОВ 3 ДЮЙМОВ КУЧA = 1S1 тонн цемента ok СУХОЙ-ПЕСОК 10 ФУТОВ КУЧА = 81 тонн песка ok 248 LOAD ok ( компиляция варианта с двойной длиной) ЦЕМЕНТ ok 10.0 ФУТОВ = 279939 фунтов цемента или 139.969 тонн ok