ARCCOS: различия между версиями
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
'''ARCCOS''' (арккосинус) — | '''ARCCOS''' (арккосинус) — традиционное слово [[Каллисто]]. Вычисление Арккосинуса. | ||
ARCCOS ( x −− x1 ) Вычисление Арккосинуса. x1 := arccos x | ARCCOS ( x −− x1 ) Вычисление Арккосинуса. x1 := arccos x | ||
x1 — главный угол, чей косинус равен x. Модуль x должен быть меньше либо равен 1. Единица измерения угла ([[градус]]ы или [[радиан]]ы) задаётся словами [[DEGREES]] и [[RADIANS]]. | x1 — главный угол, чей косинус равен x. Модуль x должен быть меньше либо равен 1. Единица измерения угла ([[градус]]ы или [[радиан]]ы) задаётся словами [[DEGREES]] и [[RADIANS]]. | ||
== Ввод слова ARCCOS == | == Ввод слова ARCCOS == | ||
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши | В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши {{ШГ←}} [[Клавиша ×|{{Серая клавиша|×}}]] [[Клавиша С/П|{{Чёрная клавиша|С/П}}]] [[Клавиша С/П|{{Чёрная клавиша|С/П}}]] [[Клавиша 5|{{Серая клавиша|5}}]] [[Клавиша 1|{{Серая клавиша|1}}]] | ||
== FACOS в стандарте ANS Forth == | == FACOS в стандарте ANS Forth == | ||
Строка 18: | Строка 11: | ||
r2 - главный угол в радианах, чей косинус - r1. Неопределенная | r2 - главный угол в радианах, чей косинус - r1. Неопределенная | ||
ситуация существует, если |r1| больше единицы. | ситуация существует, если |r1| больше единицы. | ||
== История == | == История == | ||
Строка 24: | Строка 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> | |||
== Ссылки == | == Ссылки == | ||
* {{Исходник|ARCCOS|ARCCOS}} | * {{Исходник|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.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://forth-standard.org/standard/float/FACOS FACOS (f-a-cos)] в черновике Forth 200x ''(англ.)'' | ||
* [http://ru.wikipedia.org/wiki/Arccos Функция Arccos на Википедии] | |||
Строка 40: | Строка 64: | ||
[[Категория:Одноместные операции Каллисто]] | [[Категория:Одноместные операции Каллисто]] | ||
[[Категория:Слова, способные вызывать авост Каллисто]] | [[Категория:Слова, способные вызывать авост Каллисто]] | ||
[[Категория:Традиционные слова]] | |||
[[Категория:Адаптированные слова]] |
Текущая версия от 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
Ссылки[править]
- Исходный текст слова ARCCOS в Каллисто Классик 1.0
- См. слова ARCSIN, ARCTG и COS
- Слово FACOS (f-a-cos) в стандарте ANS Forth (англ.)
- Слово FACOS (f-a-cos) в черновике Forth 200x (англ.)
- Функция Arccos на Википедии
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |