ARCCOS

Материал из ПМК вики
Перейти к: навигация, поиск

ARCCOS (арккосинус) — традиционное слово Каллисто. Вычисление Арккосинуса.

ARCCOS         ( x −− x1 )                          Вычисление Арккосинуса. x1 := arccos x

x1 — главный угол, чей косинус равен x. Модуль x должен быть меньше либо равен 1. Единица измерения угла (градусы или радианы) задаётся словами DEGREES и RADIANS.

Ввод слова ARCCOS[править]

В режиме ЛАТ последовательно нажмите клавиши $\mathrm{\overset{\leftarrow}{ШГ}}$  ×   С/П   С/П   5   1 

FACOS в стандарте ANS Forth[править]

12.6.2.1476   FACOS                         "f-a-cos"              FLOATING EXT
           ( F: r1 -- r2 ) or ( r1 -- r2 )
           r2 - главный угол в радианах, чей косинус - r1. Неопределенная 
           ситуация существует, если |r1| больше единицы.

История[править]

В Форте FSP88M это слово известно под именем ACS

В Форте FSP88 было два слова ACSD и ACSR для вычисления арккосинуса в градусах и радианах.

В Каллисто имя ARCCOS восходит к надписи на клавиатуре советского ПМК «Электроника Б3-34», выпущенного в 1980 году.

Реализация[править]

В Каллисто 1.0 слово ARCCOS является «обёрткой» вокруг команды ЭКВМ F arccos. Размерность результата задаётся R9045:

1689 ;#ARCCOS
1690 ; ARCCOS           ( x −− x1 )                          Арккосинус. x1 := arccos x
1691 LACOS:          .DB     6
1692                 .TEXT   "ARCCOS"                ; ( x −− arccos x )
1693                 .DW     LASIN
1694 ACOS:           .DW     JACOS
1695 JACOS:          PKRM03 FARCCOS PKM03  KGOTO9    ; Обёртка вокруг FARCCOS.

Арккосинус не определён для аргументов, превышающих по модулю 1. Обработка этой ошибки производится встроенной программой. Например, последовательность слов  2 ARCCOS  вызывает аварийный останов Каллисто с сообщением «Неверный аргумент» в строке комментариев. Можно ввести с клавиатуры произвольное число в качестве значения «арксинуса 2» и вернуться в Каллисто, нажав  С/П . Подробнее см. статью Авост Каллисто.

В случае аварийного останова рекомендуется произвести «холодную перезагрузку» Каллисто с удалением всех введённых слов, нажав последовательно клавиши  В/О   С/П .

Реализация из SP-Forth 4.20:

CODE FACOS \ *
     FLD1
     FLD ST(1)
     FMUL ST, ST
     FSUBP ST(1), ST
     FSQRT
     FXCH
     FPATAN
     RET
END-CODE

Ссылки[править]


  Nopictures-icon.png У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


  Stub-icon-48px.png Это заготовка статьи. Вы можете помочь проекту, дополнив её.