easy.math.qsp v 2.1

Операции с целыми числами

#even#

Функция предназначена для округления целых чисел.

args[0] - число

args[1] - разрядность округления 10 ,100 ,1000 и тд если не указано принимается равным 100

$args[2] - up - в сторону увеличения down - в сторону уменьшения, пусто - по правилам округления: последнее число перед округляемым разрядом меньше пяти - округляем в меньшую сторону, больше четырёх - в большую.

Округление отрицательных чисел поддерживается.

Результат работы функции:


func ("#even#",549,10,"up") = 550
func ("#even#",549,10,"down") = 540
func ("#even#",549,1000) = 1000
func ("#even#",-5545,12) = -5500
func ("#even#",45599) = 45600
func ("#even#",-45599) = -45600

#sum#

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

Используйте только для заведомо малых значений - функция корректно работает с числами, укладывающимися в определённые интервалы.

$args[0] - имя массива, не может быть числовым.

Результатом работы функции будет число. Значения массива при этом не изменяются.

$func('#sum#','mass1')

#raz#

получает разрядность целого числа.

args[0] - число

Результатом является круглое число. Отрицательные числа поддерживаются.

Результат работы функции:


func('#raz#',36) = 10
func('#raz#',360) = 100
func('#raz#',366) = 100
func('#raz#',9999) = 1000
func('#raz#',-45023) = 10000

#^#

функция предназначена для возведения целого числа в степень.

args[0] - основание, целое число

args[1] - показатель, целое положительное число

Следует заметить, что для подсчёта функция использует цикл. Если Вы возводите число, пусть даже единицу, в большую степень, вычисления на слабых компьютерах могут заметно подвешивать игру.

Результат работы функции:


func('#^#',6,6) = 46656
func('#^#',4,2) = 16
func('#^#',4,3) = 64
func('#^#',4,4) = 256
func('#^#',250,2) = 62500

#-#

Модуль разницы двух целых чисел.

args[0] - первое число, целое
args[1] - второе число, целое

Эта функция несёт не столько какую-то практическую пользу, сколько сокращает запись. Например, есть две переменные, разницу между которыми нам надо вычислить. Вот запись без использования функции:


if a>b: c=a-b else c=b-a

Или:


c=a-b
if c<0: c=-c

Двадцать знаков в первом случае, пятнадцать во втором, не считая пробелов. Теперь функция:


c=func('#-#',a,b)

Семнадцать знаков. Выглядит неубедительно, потому как взяты переменные с короткими именами. А что если вместо этих переменных пришлось использовать такие:

if a_easy_math>b_easy_math: c_easy_math=a_easy_math-b_easy_math else c_easy_math=b_easy_math-a_easy_math

сто четыре символа. А теперь функция:

c_easy_math=func('#-#',a_easy_math,b_easy_math)

сорок семь символов - запись вдвое короче.




  Aleks Versus'Easy Libraries'2013
Aleks Versus'Game Adventure Making'Really Unimaginable Stories'2013