Язык программирования Форт



         

Глава 4. Еще об арифметических операциях - часть 37


CINT, I-F, RAD, L1О. 3. Определите слово FACT. предназначенное для вычисления факториала в-реализации на микросхеме 8087. Попробуйте вычислить 1000! Зафиксируйте время исполнения операции. (Факториал числа 3 равен 3х2х1, факториал 6 - 5х4х3х2х1.) 4. Определите величину ошибки дробно-рациональной апроксимации числа Пи, приведенной в табл. 4.2. 5. Используя комплексные числа, определите слово ANGLE (угол), для того чтобы найти угол между гипотенузой и прилегающей стороной прямоугольного треугольника, если в стеке находятся значения длин обеих прилегающих сторон треугольника (рис.4.1).

6. Аналогично определите слово HYPOT (гипотенуза) для вычисления длины гипотенузы. 7. По определению, величина рН представляет собой взятый со знаком минус логарифм концентрации ионов водорода: pH=-log[H-]. Определите слово, которое по значению в стеке величины рН и абсолютному значению увеличения концентрации ионов водорода, выраженному в форме с плавающей запятой, рассчитывает фактическое увеличение рН. Можете ли вы предложить способ, как сделать это в целочисленной арифметике? 8. Одна из рутинных задач робототехники - преобразовать перемещение плеча, описываемого координатами х.у, в приращения радиуса и угла. Например, на рис.4.1 для перемещения из точки (х1,у1) в точку (х2,у2) требуется приращение угла (угол1-угол2) и приращение радиуса (радиус 1-радиус2). Определите слово ARMMOVE (движение, плеча), которое по заданным в стеке значениям х1,у1,х2,у2 будет выдавать в стек значения величин (угол1-угол2) и (радиус1-радиус2). За положительное приращение угла принимается движение по часовой стрелке. Для решения вам потребуются тригонометрические функции или комплексные числа.

Выводы

Как и обещали в начале этой главы, мы привели обзор основных понятий, связанных с числами. Некоторые из них, как, например, числа двойной длины, должен изучить каждый программирующий на Форте, в то же время числа с плавающей запятой могут потребоваться только тем, кто будет иметь дело с математическими функциями.


Содержание  Назад  Вперед