From Test-Scratch-Wiki

Обчислення – це визначення чогось за допомогою мтематики. У Скретч вікі можна обчислити певний вираз за допомогою функції парсера #expr. Цілі числа обмежені 14 цифрами, при виході значення числа за межі застосовується науковий формат (мантиса й порядок).

Застосування

Звернення до цієї функції виглядає як {{#expr:вираз}}. Приміром, обчислення {{#expr:2+2}} дає 4, а обчислення {{#expr:5/0}} дасть помилку (ділення на нуль неможливе); помилку можна відобразити вручну за допомогою шаблону {{помилка}}. Ця функція також приймає вікізмінні: {{#expr:{{CURRENTDAY}}^2}} обчисляюється як 144. Звичайні розпізнавані оператори включають -,+,*,/,^,дужки та алгебраїчні функції, зокрема sin(), cos(), tan(), ln(), abs(), ceil(), floor(), mod(). Ірраціональні числа теж представляються у звичайному чи науковому форматі.

Оператори

Note Note: У виразах, що використовують булеву алгебру (not, and, or), 0 відповідає false (хиба), будь-яке інше значення, позитивне чи від'ємне, відповідає true (істина).
Оператори
Оператор Пояснення Приклад
+ Додає два операнди, або є унарним оператором {{#expr:5+5}} = 10
П'ять і п'ять дорівнює десяти.
{{#expr:+7}} = 7
(Позитивне) сім дає (позитивному) семи.
- Віднімає два операнди, або є унарним оператором {{#expr:10-3}} = 7
Десять мінус три дорівнює семи.
{{#expr:+-8}} = -8
(Позитивне) негативне вісім дає негативне вісім.
* Множить два операнди {{#expr:2*9}} = 18
Двічі дев'ять буде вісімнадцять.
/ Ділить два операнди {{#expr:35/7}} = 5
Тридцять п'ять поділити на сім буде п'ять.
^ Ступінь: перемножує аргумент із собою кілька разів {{#expr:4^3}} = 64
Чотири в ступені три буде шістдесят чотири.
!= Нерівність {{#expr:2!=6}} = 1
Два не дорівнює шести (істина).
{{#expr:3+2^2!=7}} = 0
Три плюс два у ступені два не дорівнює семи (хиба).
= Рівність {{#expr:(4-2)^2=4}} = 1
Чотири мінус два, в квадраті, дорівнює чотирьом (істина).
{{#expr:9+3^2=144}} = 0
Дев'ять плюс три в квадраті дорівнює сто сорок чотири (хиба).
> Відношення "більше" {{#expr:2>1}} = 1
Два більше ніж один (істина).
{{#expr:e>e}} = 0
Число Ейлера (2.71828...) більше самого себе (хиба).
>= Відношення "не менше" {{#expr:7>=7}} = 1
Сім не менше семи (істина).
{{#expr:-2>=0}} = 0
Мінус два не менше нуля (хиба).
< Відношення "менше" {{#expr:1<{{#expr:4/3}}}} = 1
Один менше від чотирьох третіх (1.333...) (істина).
{{#expr:abs-50<22}} = 0
Абсолютне значення мінус п'ятдесяти менше двадцяти двох (хиба).
<= Відношення "не більше" {{#expr:9<=(8+({{#expr:1/3}}+{{#expr:2/3}}))}} = 1
Дев'ять не більше від суми восьми, одної та двох третин (істина).
{{#expr:2<=1}} = 0
Два не менше від одиниці (хиба).
abs Абсолютне значення {{#expr:abs-6}} = 6
Абсолютне значення від мінус шести буде плюс шість.
acos Арккосинус {{#expr:acos0.2}} = 1.3694384060046
Арккосинус двох десятих буде приблизно один і чотири десятих радіан.
{{#expr:acos(1)/pi*180}} = 0
Арккосинус одиниці становить нуль.
and Булеве "і" {{#expr:5 and 4}} = 1
Істина і істина є істина.
{{#expr:0 and 0}} = 0
Хиба і хиба є хиба.
asin Арксинус {{#expr:asin0.5}} = 0.5235987755983
Арксинус нуль п'яти дорівнює близько половини радіана.
{{#expr:asin(1)/pi*180}} = 90
Арксинус одиниці становить дев'яносто градусів.
atan Арктангенс {{#expr:atan0.1}} = 0.099668652491162
Арктангенс одної десятої дорівнює приблизно одній десятій радіана.
{{#expr:atan(1)/pi*180}} = 45
Арктангенс одиниці дорівнює сорока п'яти градусам.
ceil Округлення вгору до найближчого цілого {{#expr:ceil-3.9}} = -3
Округлення вгору мінус трьох і дев'яти десятих дає мінус три.
cos Косинус {{#expr:cos0.8}} = 0.69670670934717
Косинус нуль вісім радіану становить близько нуль семи.
{{#expr:cos(3*pi/180)}} = 0.99862953475457
Косинус трьох градусів наближається до одиниці.
div Еквівалентно діленню {{#expr:5 div 2}} = 2.5
П'ять поділити на два буде два з половиною.
exp Експонента (число Ейлера у ступені аргумента) {{#expr:exp5}} = 148.41315910258
Число Ейлера у ступіні п'ять дає приблизно тисячу сорок вісім.
floor Округлення вниз до найближчого цілого {{#expr:floor-6.1}} = -7
Округлення вниз мінус шести цілих одної десятої дає мінус сім.
ln Натуральний логаритм {{#expr:ln(e^5)}} = 5
Натуральний логаритм експоненти від п'яти дорівнює п'ять.
{{#expr:ln pi/ln10}} = 0.49714987269413
Десятковий логаритм числа пі становить приблизно нуль п'ять десятих.
mod Залишок від ділення {{#expr:19 mod 7}} = 5
Залишок від ділення дев'ятнадцяти на сім буде п'ять.
not Булеве "ні" {{#expr:not 4}} = 0
Не істина дорівнює хибі.
{{#expr:not 0}} = 1
Не хиба дорівнює істині.
or Булеве "або" {{#expr:0 or 0}} = 0
Хиба або хиба буде хиба.
{{#expr:0 or 5}} = 1
Хиба або істина буде істина.
round Округлення числа до найближчого із заданим числом знаків після коми {{#expr:1.4757027 round 3}} = 1.476
Один і чотири мільйони сімсот п'ятдесят тисяч двадцять сім десятимільйонних округлюється до третього знаку після коми як один і чотириста сімдесят шість тисячних.
{{#expr:82978 round -2}} = 83000
Вісімдесят дві тисячі дев'ятсот сімдесят вісім округлюється до двох значущих цифр як вісімдесят три тисячі.
sin Синус {{#expr:sin1}} = 0.8414709848079
Синус одного радіана дорівнює приблизно нуль вісім десятих.
{{#expr:sin(30*pi/180)}} = 0.5
Синус тридцяти градусів дорівнює нуль п'ять.
tan Тангенс {{#expr:tan0.9}} = 1.2601582175503
Тангенс нуль дев'ять радіана дорівнює приблизно один і три десятих.
{{#expr:tan(45*pi/180)}} = 1
Тангенс сорока п'яти градусів дорівнює одиниці.
trunc Відкидання дробової частини числа {{#expr:trunc-7.8}} = -7
Відкидання дробової частини від мінус семи й восьми десятих дає мінус сім.

Отже, виходить,

  • {{#expr:(0or1)+1}} = 2
  • {{#expr:0or not1}} = 0
  • {{#expr:------5}} = 5
  • {{#expr:not not 1}} = 1
  • {{#expr:not0 or not0 and not1}} = 1
  • {{#expr:pi/pi and pi*pi/pi}} = 1
  • {{#expr:.}} = 0
  • {{#expr:.1}} = 0.1
  • {{#expr:e-6}} = -3.281718171541
  • {{#expr:1e-6}} = 1.0E-6

Помилки

Помилка виникає, коли:

  • Оператору не вистачає параметра.
    • {{#expr:2+}} дає Expression error: Missing operand for +.
  • Несподіване число чи оператор.
    • {{#expr:2 3}} дає Expression error: Unexpected number.
    • {{#expr:=}} дає Expression error: Unexpected = operator.
  • Нерозпізнане слово чи символ.
    • {{#expr:what}} дає Expression error: Unrecognized word "what".
    • {{#expr:%}} дає Expression error: Unrecognized punctuation character "%".
  • Обчислення математично неможливе.
    • {{#expr:1/0}} дає Division by zero.
    • {{#expr:ln-1}} дає Invalid argument for ln: <= 0.

Якщо результатом обчислень є завелике число, повертається INF (позитивна нескінченість) або -INF (від'ємна нескінченність).

  • {{#expr:1e309}} дає INF
  • {{#expr:-1e309}} дає -INF

Дивись також

Cookies help us deliver our services. By using our services, you agree to our use of cookies.