ARCCOS: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
 
(не показано 14 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''ARCCOS''' (арккосинус) — стандартное слово [[Каллисто]]. Вычисление Арккосинуса.
'''ARCCOS''' (арккосинус) — традиционное слово [[Каллисто]]. Вычисление Арккосинуса.
  ( r1 -- r2 )
  ARCCOS        ( x −− x1 )                         Вычисление Арккосинуса. x1 := arccos x
x1 — главный угол, чей косинус равен x. Модуль x должен быть меньше либо равен 1. Единица измерения угла ([[градус]]ы или [[радиан]]ы) задаётся словами [[DEGREES]] и [[RADIANS]].


r2 — главный угол, чей косинус равен r1. Модуль r1 должен быть меньше либо равен 1. Единица измерения угла ([[градус]]ы или [[радиан]]ы) задаётся словами [[DEGREES]] и [[RADIANS]].
== Ввод слова ARCCOS ==
 
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши {{ШГ←}} [[Клавиша ×|{{Серая клавиша|×}}]] [[Клавиша С/П|{{Чёрная клавиша|С/П}}]] [[Клавиша С/П|{{Чёрная клавиша|С/П}}]] [[Клавиша 5|{{Серая клавиша|5}}]] [[Клавиша 1|{{Серая клавиша|1}}]]
== Детали реализации ==
 
Слово ARCCOS является «обёрткой» вокруг команды ЭКВМ [[F ARCCOS|F arccos]]. Размерность результата задаётся [[R9045]].
 
Арккосинус не определён для аргументов, превышающих по модулю 1. Обработка этой ошибки производится [[Встроенная программа|встроенной программой]]. Например, последовательность слов {{Текст на индикаторе|2 ARCCOS}} вызывает [[аварийный останов]] [[Каллисто]] с сообщением «Неверный аргумент» в [[Строка комментариев|строке комментариев]]. Можно ввести с клавиатуры произвольное число в качестве значения «арксинуса 2» и вернуться в [[Каллисто]], нажав [[Клавиша С/П|клавишу С/П]]. Но тогда [[Клавиша С/П|эта клавиша]] перестанет вводить букву "C" и начнёт останавливать [[Каллисто]].
 
В случае [[Аварийный останов|аварийного останова]] рекомендуется произвести [[COLD|«холодную перезагрузку»]] [[Каллисто]] с удалением всех введённых слов, нажав последовательно клавиши [[Клавиша В/О|В/О]] [[Клавиша С/П|С/П]].


== FACOS в стандарте ANS Forth ==
== FACOS в стандарте ANS Forth ==
Строка 17: Строка 11:
             r2 - главный угол в радианах, чей косинус - r1. Неопределенная  
             r2 - главный угол в радианах, чей косинус - r1. Неопределенная  
             ситуация существует, если |r1| больше единицы.
             ситуация существует, если |r1| больше единицы.


== История ==
== История ==
Строка 23: Строка 16:


В Форте FSP88 было два слова ACSD и ACSR для вычисления арккосинуса в градусах и радианах.
В Форте FSP88 было два слова ACSD и ACSR для вычисления арккосинуса в градусах и радианах.
В [[Каллисто]] имя ARCCOS восходит к надписи на клавиатуре советского ПМК [[«Электроника Б3-34»]], выпущенного в 1980 году.
== Реализация ==
В [[Каллисто|Каллисто 1.0]] слово ARCCOS является «обёрткой» вокруг команды ЭКВМ [[F ARCCOS|F arccos]]. Размерность результата задаётся [[R9045]]:
<pre>
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.
</pre>
Арккосинус не определён для аргументов, превышающих по модулю 1. Обработка этой ошибки производится [[Встроенная программа|встроенной программой]]. Например, последовательность слов {{Текст на индикаторе|2 ARCCOS}} вызывает [[аварийный останов]] [[Каллисто]] с сообщением «Неверный аргумент» в [[Строка комментариев|строке комментариев]]. Можно ввести с клавиатуры произвольное число в качестве значения «арксинуса 2» и вернуться в [[Каллисто]], нажав [[Клавиша С/П|{{Чёрная клавиша|С/П}}]].  Подробнее см. статью [[Авост Каллисто]].
В случае [[Авост Каллисто|аварийного останова]] рекомендуется произвести [[COLD|«холодную перезагрузку»]] [[Каллисто]] с удалением всех введённых слов, нажав последовательно клавиши [[Клавиша В/О|{{Чёрная клавиша|В/О}}]] [[Клавиша С/П|{{Чёрная клавиша|С/П}}]].
Реализация из SP-Forth 4.20:
<pre>
CODE FACOS \ *
    FLD1
    FLD ST(1)
    FMUL ST, ST
    FSUBP ST(1), ST
    FSQRT
    FXCH
    FPATAN
    RET
END-CODE
</pre>


== Ссылки ==
== Ссылки ==
* См. слова [[COS]], [[ARCSIN]] и [[ARCTG]]
* {{Исходник|ARCCOS|ARCCOS}}
* См. слова [[ARCSIN]], [[ARCTG]] и [[COS]]
* Слово [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.2.1476 FACOS (f-a-cos)] в стандарте ANS Forth ''(англ.)''
* Слово [http://forth-standard.org/standard/float/FACOS FACOS (f-a-cos)] в черновике Forth 200x ''(англ.)''
* [http://ru.wikipedia.org/wiki/Arccos Функция Arccos на Википедии]
* [http://ru.wikipedia.org/wiki/Arccos Функция Arccos на Википедии]
* [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.2.1476 Слово FACOS (f-a-cos) в стандарте ANS Forth] ''(англ.)''
* [http://www.forth200x.org/documents/html/float.html#floating:FACOS Слово FACOS (f-a-cos) в черновике Forth 200x] ''(англ.)''




Строка 34: Строка 60:
{{заготовка}}
{{заготовка}}
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:тригонометрия Каллисто]]
[[Категория:Примитивы]]
[[Категория:Тригонометрия Каллисто]]
[[Категория:Одноместные операции Каллисто]]
[[Категория:Одноместные операции Каллисто]]
[[Категория:Описание бета-версии Каллисто]]
[[Категория:Слова, способные вызывать авост Каллисто]]
[[Категория:Слова, способные вызывать авост Каллисто]]
[[Категория:Традиционные слова]]
[[Категория:Адаптированные слова]]

Текущая версия от 17:47, 10 ноября 2017

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

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


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


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