Начальный курс программирования на языке Форт

         

ОПЕРАЦИИ ДЕЛЕНИЯ


Слово / (слэш) отображает самую простую операцию деления в Форте. Слэш обеспечивает только частное; если в результате деления образуется остаток, он теряется. Набрав на клавиатуре 22 4 / . 5 ok

вы получите только частное (пять) и не получите остаток (два). Если же вы хотите выполнить операцию деления, аналогичную предусмотренной в карманном калькуляторе, такой результат вас не удовлетворит, тем более что Форт не позволяет даже округлить полученное целое число.

Но / — всего лишь одна из нескольких операций деления в Форте. Такое разнообразие операций дает пользователю широкие возможности. Во многих задачах округленный результат или результат двойной точности вам и не требуется. Допустим, вам нужно решить такую задачу: сколько банкнот достоинством в один доллар получается при размене 22 четвертей доллара? Ответ очевиден: пять (а не 5.5). Машинный меняла, к примеру, не будет знать, как выдать вам 5.5 дол. Здесь необходимы операции, подобные операции /, но вычленяющие целые частное и остаток:  MOD ( n1 n2 -- n-остаток ) Деление. В стек помещается остаток от деления.

/MOD ( n1 n2 -- Деление. В стек помещаются n—остаток n-частное ) остаток и частное.

Итак, если вам требуется только частное, применяйте операцию /, если вам требуется только остаток — операцию MOD1, а если и остаток, и частное операцию /MOD.

Выполним в качестве примера операцию /MOD:22 4 /MOD . . 5 2 ok

 

1Для любознательных. MOD — сокращение от modulo, что означает "остаток".

Полученных вами знаний уже достаточно для того, чтобы легко написать следующий набор определений:  : ДОЛ-ЧЕТВЕРТИ ( четверти -- четверти доллары ) 4 /MOD ; : .ДОЛЛАРЫ ( доллары -- ) . ." долларов * ; : .ЧЕТВЕРТИ ( четверти — ) . ." четверти " ; : ЧЕТВЕРТИ ( четверти — ) ДОЛ-ЧЕТВЕРТИ ." Получается" .ДОЛЛАРЫ ." и " .ЧЕТВЕРТИ ;

Далее вы можете ввести 22 ЧЕТВЕРТИ

и получить 22 ЧЕТВЕРТИ Получается 5 долларов и 2 четверти ок

В Стандарте Форт-83 во всех операциях деления частное

Что же делать, если в прикладных программах требуется округление? Не беспокойтесь — нужные средства легко создаются, как вы увидите в разд. «Округление» гл. 5, путем комбинирования и расширения элементарных арифметических операций.



Содержание раздела