Редактирование: ARCCOS

Перейти к навигации Перейти к поиску
Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.

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


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


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


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


В Форте 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}}
* См. слова [[COS]], [[ARCSIN]] и [[ARCTG]]
* См. слова [[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] ''(англ.)''




Строка 60: Строка 34:
{{заготовка}}
{{заготовка}}
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Примитивы]]
[[Категория:тригонометрия Каллисто]]
[[Категория:Тригонометрия Каллисто]]
[[Категория:Одноместные операции Каллисто]]
[[Категория:Одноместные операции Каллисто]]
[[Категория:Описание бета-версии Каллисто]]
[[Категория:Слова, способные вызывать авост Каллисто]]
[[Категория:Слова, способные вызывать авост Каллисто]]
[[Категория:Традиционные слова]]
[[Категория:Адаптированные слова]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)