Слово √: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
 
(не показано 27 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''√''' — стандартное слово [[Каллисто]]. Вычисление квадратного корня.
'''√''' (квадратный корень) традиционное слово [[Каллисто]]. Извлечение квадратного корня.
  ( r1 -- r2 )
  √              ( p -- x )                     Квадратный корень. x ← √p
[[Файл:CallistoPowSqr.png|thumb|right|264px|Пример работы слова √]]
x — корень второй степени из p. Аргумент p должен быть больше нуля либо равен нулю.


r2 — квадратный корень r1. r1 должно быть больше нуля либо равно нулю.
== Ввод слова √ ==
 
В [[Режим NUM|режиме NUM]] последовательно нажмите две клавиши [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша -|{{Серая клавиша|−}}]]
Слово √ вводится комбинацией клавиш [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша -|{{Серая клавиша|−}}]] на цифровой раскладке.
 
== Детали реализации ==
Слово √ является «обёрткой» вокруг команды ЭКВМ [[F SQRT|F √]].
 
Квадратный корень не определён для отрицательных чисел. Обработка этой ошибки производится [[Встроенная программа|встроенной программой]]. Например, последовательность слов {{Текст на индикаторе|-1 √}} вызывает [[аварийный останов]] [[Каллисто]] с сообщением «Неверный аргумент» в [[Строка комментариев|строке комментариев]]. Можно ввести с клавиатуры произвольное число в качестве значения «$\sqrt{-1}$» и вернуться в [[Каллисто]], нажав [[Клавиша С/П|клавишу С/П]]. Но тогда [[Клавиша С/П|эта клавиша]] перестанет вводить букву "C" и начнёт останавливать [[Каллисто]].
 
В случае [[Аварийный останов|аварийного останова]] рекомендуется произвести [[COLD|«холодную перезагрузку»]] [[Каллисто]] с удалением всех введённых слов, нажав последовательно клавиши [[Клавиша В/О|В/О]] [[Клавиша С/П|С/П]].


== FSQRT в стандарте ANS Forth ==
== FSQRT в стандарте ANS Forth ==
Строка 20: Строка 14:


== История ==
== История ==
В Форте FSP88 и MMSFORTH это слово известно под именем SQR
Впервые слово √ под именем SQRT появилось в Форте 1971-73 годах, когда Чак Мур перенёс транслятор на DEC PDP-11 в [https://en.wikipedia.org/wiki/National_Radio_Astronomy_Observatory National Radio Astronomy Observatory] (''англ.'', [https://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D1%80%D0%BB%D0%BE%D1%82%D1%81%D0%B2%D0%B8%D0%BB%D0%BB_%28%D0%92%D0%B8%D1%80%D0%B3%D0%B8%D0%BD%D0%B8%D1%8F%29 Шарлотсвилл]). Слово SQRT работало только с целыми числами и получало 16-битный результат из 32-битного аргумента.
 
В Форте FSP88 и MMSFORTH слово √ было известно под именем SQR
 
В [[Каллисто]] имя √ восходит к надписи на клавиатуре советского ПМК [[«Электроника Б3-34»]], выпущенного в 1980 году.
 
== Реализация ==
Слово √ является «обёрткой» вокруг команды ЭКВМ [[F SQRT|F √]].
 
Квадратный корень не определён для отрицательных чисел. Обработка этой ошибки производится [[Встроенная программа|встроенной программой]]. Например, последовательность слов {{Текст на индикаторе|-1 √}} вызывает [[аварийный останов]] [[Каллисто]] с сообщением «Неверный аргумент» в [[Строка комментариев|строке комментариев]]. Можно ввести с клавиатуры произвольное число в качестве значения «$\sqrt{-1}$» и вернуться в [[Каллисто]], нажав [[Клавиша С/П|{{Чёрная клавиша|С/П}}]].  Подробнее см. статью [[Авост Каллисто]].
 
В случае [[Авост Каллисто|аварийного останова]] рекомендуется произвести [[COLD|«холодную перезагрузку»]] [[Каллисто]] с удалением всех введённых слов, нажав последовательно клавиши [[Клавиша В/О|{{Чёрная клавиша|В/О}}]] [[Клавиша С/П|{{Чёрная клавиша|С/П}}]].
<pre>
1606 ;#FSQRT
1607 ; &radic;                ( p −− p1 )                          Квадратный корень. p1 := sqrt p
1608 LSQRT:          .DB    1,251                  ; ( r −− sqrt r )
1609                .DW    LX2
1610 SQRT:          .DW    JSQRT
1611 JSQRT:          PKRM03 FSQRT PKM03  KGOTO9      ; Обёртка вокруг FSQRT.
</pre>
Реализация из SP-Forth 4.20:
<pre>
CODE FSQRT
      FSQRT
      RET
END-CODE
</pre>


== Ссылки ==
== Ссылки ==
* См. слово [[X²]]
* {{Исходник|FSQRT|√}}
* См. слова [[X²]] и [[Yˣ]]
* [http://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%B4%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D1%8C Квадратный корень на Википедии]
* [http://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%B4%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D1%8C Квадратный корень на Википедии]
* [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.2.1618 Слово FSQRT (f-square-root) в стандарте ANS Forth] ''(англ.)''
* Слово [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.2.1618 FSQRT (f-square-root)] в стандарте ANS Forth ''(англ.)''
* [http://www.forth200x.org/documents/html/float.html#floating:FSQRT Слово FSQRT (f-square-root) в черновике Forth 200x] ''(англ.)''
* Слово [http://forth-standard.org/standard/float/FSQRT FSQRT (f-square-root)] в черновике Forth 200x ''(англ.)''




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

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

(квадратный корень) — традиционное слово Каллисто. Извлечение квадратного корня.

√              ( p -- x )                      Квадратный корень. x ← √p
Пример работы слова √

x — корень второй степени из p. Аргумент p должен быть больше нуля либо равен нулю.

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

В режиме NUM последовательно нажмите две клавиши  F    

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

12.6.2.1618   FSQRT                   "f-square-root"              FLOATING EXT
           ( F: r1 -- r2 ) or ( r1 -- r2 )
           r2 - квадратный корень r1. Неопределенная ситуация существует, если 
           r1 - меньше нуля.

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

Впервые слово √ под именем SQRT появилось в Форте 1971-73 годах, когда Чак Мур перенёс транслятор на DEC PDP-11 в National Radio Astronomy Observatory (англ., Шарлотсвилл). Слово SQRT работало только с целыми числами и получало 16-битный результат из 32-битного аргумента.

В Форте FSP88 и MMSFORTH слово √ было известно под именем SQR

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

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

Слово √ является «обёрткой» вокруг команды ЭКВМ F √.

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

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

1606 ;#FSQRT
1607 ; √                ( p −− p1 )                          Квадратный корень. p1 := sqrt p
1608 LSQRT:          .DB     1,251                   ; ( r −− sqrt r )
1609                 .DW     LX2
1610 SQRT:           .DW     JSQRT
1611 JSQRT:          PKRM03 FSQRT PKM03  KGOTO9      ; Обёртка вокруг FSQRT.

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

CODE FSQRT
       FSQRT
       RET
END-CODE

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


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