Справочник языка
Корни, степени, логарифмы и округление
Математические функции этого раздела делятся на два круга задач. SQR, CBRT, EXP, LOG, LOG10, LOG2 и POW вычисляют нелинейные зависимости и возвращают DOUBLE, а FLOOR, CEIL, ROUND и FIX сводят дробное значение к целому по выбранному правилу. Ограничения области определения у первых и направление округления у вторых определяют, какой результат получится на границе.
SQR
Функция SQR возвращает квадратный корень числа, выполняя это математическое преобразование непосредственно в числовом выражении. Вызывать её можно в выражении консольной или графической программы; оператор SCREEN или CANVAS не требуется.
Синтаксис
SQR(<значение>)
Аргументы
Аргумент должен быть числом типа INTEGER, LONG, DOUBLE или DECIMAL. Передайте выражение, над которым нужно выполнить указанное вычисление.
Результат
Результат имеет тип DOUBLE; числовой аргумент предварительно преобразуется в DOUBLE.
Правила и ограничения
Аргумент должен быть неотрицательным.
Диагностика
Компилятор отклоняет неверное количество аргументов и несовместимый тип аргумента. Аргумент меньше нуля вызывает MB3007. MB3008 возникает, если результат не является конечным DOUBLE.
Пример
PRINT SQR(0)
PRINT SQR(81)Ожидаемый вывод:
0
9
См. также
CBRT
CBRT возвращает кубический корень числа и выполняет это преобразование непосредственно в числовом выражении. Вызов допустим в выражении консольной и графической программы; оператор SCREEN или CANVAS не нужен.
Синтаксис
CBRT(<значение>)
Аргументы
Аргумент должен быть числом типа INTEGER, LONG, DOUBLE или DECIMAL. Передайте выражение, над которым нужно выполнить указанное вычисление.
Результат
Результат имеет тип DOUBLE; числовой аргумент предварительно преобразуется в DOUBLE.
Правила и ограничения
Отрицательные числа допустимы.
Диагностика
Компилятор отклоняет неверное количество аргументов и несовместимый тип аргумента. MB3008 возникает, если результат не является конечным DOUBLE.
Пример
PRINT CBRT(-8)
PRINT CBRT(0)Ожидаемый вывод:
-2
0
См. также
EXP
EXP возвращает значение экспоненты e в степени аргумента. Функция выполняет это математическое преобразование непосредственно в числовом выражении; вызывается она в выражениях консольных и графических программ, оператор SCREEN или CANVAS не требуется.
Синтаксис
EXP(<значение>)
Аргументы
Аргумент должен быть числом типа INTEGER, LONG, DOUBLE или DECIMAL. Передайте выражение, над которым нужно выполнить указанное вычисление.
Результат
Результат имеет тип DOUBLE; числовой аргумент предварительно преобразуется в DOUBLE.
Правила и ограничения
Большие положительные аргументы могут переполнить DOUBLE; очень малые результаты могут округлиться к нулю.
Диагностика
Компилятор отклоняет неверное количество аргументов и несовместимый тип аргумента. MB3008 возникает, если результат не является конечным DOUBLE.
Пример
PRINT EXP(0)Ожидаемый вывод:
1
См. также
LOG
Функция LOG возвращает натуральный логарифм числа и выполняет это преобразование прямо в числовом выражении. Вызывать её можно в выражении консольной или графической программы, оператор SCREEN или CANVAS не нужен.
Синтаксис
LOG(<значение>)
Аргументы
Аргумент должен быть числом типа INTEGER, LONG, DOUBLE или DECIMAL. Передайте выражение, над которым нужно выполнить указанное вычисление.
Результат
Результат имеет тип DOUBLE; числовой аргумент предварительно преобразуется в DOUBLE.
Правила и ограничения
Аргумент должен быть строго положительным; основание логарифма равно e.
Диагностика
Компилятор отклоняет неверное количество аргументов и несовместимый тип аргумента. Аргумент, равный нулю или меньше нуля, вызывает MB3007. MB3008 возникает, если результат не является конечным DOUBLE.
Пример
PRINT LOG(1)Ожидаемый вывод:
0
См. также
LOG10
LOG10 возвращает десятичный логарифм числа, вычисляя его непосредственно в числовом выражении. Функция работает в выражениях консольных и графических программ; оператор SCREEN или CANVAS не требуется.
Синтаксис
LOG10(<значение>)
Аргументы
Аргумент должен быть числом типа INTEGER, LONG, DOUBLE или DECIMAL. Передайте выражение, над которым нужно выполнить указанное вычисление.
Результат
Результат имеет тип DOUBLE; числовой аргумент предварительно преобразуется в DOUBLE.
Правила и ограничения
Аргумент должен быть строго положительным; основание равно 10.
Диагностика
Компилятор отклоняет неверное количество аргументов и несовместимый тип аргумента. Аргумент, равный нулю или меньше нуля, вызывает MB3007. MB3008 возникает, если результат не является конечным DOUBLE.
Пример
PRINT LOG10(100)Ожидаемый вывод:
2
См. также
LOG2
LOG2 возвращает двоичный логарифм числа — математическое преобразование выполняется прямо в числовом выражении. Вызов допустим в выражении консольной и графической программы; оператор SCREEN или CANVAS не нужен.
Синтаксис
LOG2(<значение>)
Аргументы
Аргумент должен быть числом типа INTEGER, LONG, DOUBLE или DECIMAL. Передайте выражение, над которым нужно выполнить указанное вычисление.
Результат
Результат имеет тип DOUBLE; числовой аргумент предварительно преобразуется в DOUBLE.
Правила и ограничения
Аргумент должен быть строго положительным; основание равно 2.
Диагностика
Компилятор отклоняет неверное количество аргументов и несовместимый тип аргумента. Аргумент, равный нулю или меньше нуля, вызывает MB3007. MB3008 возникает, если результат не является конечным DOUBLE.
Пример
PRINT LOG2(8)Ожидаемый вывод:
3
См. также
POW
Функция POW возвращает первое число в степени второго, позволяя вычислить степенную зависимость с целым или дробным показателем. Вызывается она в выражениях консольных и графических программ; оператор SCREEN или CANVAS не требуется.
Синтаксис
POW(<основание>, <показатель степени>)
Аргументы
Передайте два числа. Основание — возводимое число; показатель степени — степень, которая может быть дробной. Оба преобразуются в DOUBLE.
Результат
Функция возвращает значение типа DOUBLE.
Правила и ограничения
Ноль в нулевой степени даёт 1. Отрицательное основание с неподходящим дробным показателем не имеет вещественного результата.
Диагностика
Компилятор отклоняет неверное количество аргументов и несовместимый тип аргумента. MB3007 возникает при неопределённом вещественном результате; MB3008 — при бесконечном результате.
Пример
PRINT POW(2, 3)
PRINT POW(0, 0)Ожидаемый вывод:
8
1
См. также
FLOOR
FLOOR возвращает наибольшее целое значение, не превышающее аргумент, то есть даёт целое по величине значение с указанным правилом округления. Вызывать функцию можно в выражении консольной или графической программы; оператор SCREEN или CANVAS не нужен.
Синтаксис
FLOOR(<значение>)
Аргументы
Аргумент должен быть числом типа INTEGER, LONG, DOUBLE или DECIMAL. Передайте выражение, над которым нужно выполнить указанное вычисление.
Результат
Тип результата совпадает с типом аргумента, включая DOUBLE и DECIMAL.
Правила и ограничения
Округление направлено к минус бесконечности. INTEGER и LONG возвращаются без изменения.
Диагностика
Компилятор отклоняет неверное количество аргументов и несовместимый тип аргумента.
Пример
PRINT FLOOR(-2.8)
PRINT FLOOR(2.8)Ожидаемый вывод:
-3
2
См. также
CEIL
Функция CEIL возвращает наименьшее целое значение, не меньшее аргумента: так получают целое по величине значение с указанным правилом округления. Вызов допустим в выражении консольной и графической программы, оператор SCREEN или CANVAS не требуется.
Синтаксис
CEIL(<значение>)
Аргументы
Аргумент должен быть числом типа INTEGER, LONG, DOUBLE или DECIMAL. Передайте выражение, над которым нужно выполнить указанное вычисление.
Результат
Тип результата совпадает с типом аргумента, включая DOUBLE и DECIMAL.
Правила и ограничения
Округление направлено к плюс бесконечности. INTEGER и LONG возвращаются без изменения.
Диагностика
Компилятор отклоняет неверное количество аргументов и несовместимый тип аргумента.
Пример
PRINT CEIL(-2.8)
PRINT CEIL(2.8)Ожидаемый вывод:
-2
3
См. также
ROUND
ROUND возвращает число, округлённое до ближайшего целого. Функция даёт целое по величине значение с указанным правилом округления и работает в выражениях консольных и графических программ без оператора SCREEN или CANVAS.
Синтаксис
ROUND(<значение>)
Аргументы
Аргумент должен быть числом типа INTEGER, LONG, DOUBLE или DECIMAL. Передайте выражение, над которым нужно выполнить указанное вычисление.
Результат
Тип результата совпадает с типом аргумента, включая DOUBLE и DECIMAL.
Правила и ограничения
Половины округляются от нуля; аргумента количества десятичных знаков нет. INTEGER и LONG возвращаются без изменения.
Диагностика
Компилятор отклоняет неверное количество аргументов и несовместимый тип аргумента.
Пример
PRINT ROUND(-2.5)
PRINT ROUND(2.5)Ожидаемый вывод:
-3
3
См. также
FIX
FIX возвращает целую часть числа после удаления дробной части — целое по величине значение с указанным правилом округления. Вызывать её можно в выражении консольной или графической программы; оператор SCREEN или CANVAS не требуется.
Синтаксис
FIX(<значение>)
Аргументы
Аргумент должен быть числом типа INTEGER, LONG, DOUBLE или DECIMAL. Передайте выражение, над которым нужно выполнить указанное вычисление.
Результат
Тип результата совпадает с типом аргумента, включая DOUBLE и DECIMAL.
Правила и ограничения
Усечение направлено к нулю. INTEGER и LONG возвращаются без изменения.
Диагностика
Компилятор отклоняет неверное количество аргументов и несовместимый тип аргумента.
Пример
PRINT FIX(-2.8)
PRINT FIX(2.8)Ожидаемый вывод:
-2
2