ARCCOS

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

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

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

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

Ввод слова ARCCOS

В режиме ЛАТ последовательно нажмите клавиши  ШГ←   ×   С/П   С/П   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

Ссылки


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


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