Математические операции

В таблице приведены основные математические операции Турбо Паскаль (Delphi, Lazarus)..

Символ операции Название операции Пример
* умножение 2*3 (результат: 6)
/ деление 30/2 (результат: 1.5E+01)
+ сложение 2+3 (результат: 5)
- вычитание 5-3 (результат: 2)
div целочисленное деление 5 div 2 (результат: 2)
mod остаток от деления 5 mod 2 (результат: 1)
 

Операции отношения

К операциям отношения в Турбо Паскаль относятся такие операции, как:

  • > - больше
  • < - меньше
  • = - равно
  • <> - не равно
  • >= - больше или равно
  • <= - меньше или равно

В операциях отношения могут принимать участие не только числа, но и символы, строки, множества и указатели.

Приоритет операций

Порядок вычисления выражения определяется старшинством (приоритетом) содержащихся в нем операций. В языке Паскаль принят следующий приоритет операций:

  • унарная операция not, унарный минус -, взятие адреса @
  • операции типа умножения:  *  /  div  mod  and
  • операции типа сложения:  +  -  or  xor
  • операции отношения:  =  <>  <  >  <=  >=  in

Порядок выполнения операций переопределить можно с помощью скобок. Например 2*5+10 равно 20, но 2*(5+10) равно 30.

 

Основные математические функции

В этом разделе приведены основные математические функции, встроенные в системную библиотеку Турбо Паскаль (Delphi, Lazarus).

Abs(X) Возвращает абсолютное значение числа X. Cos(X), Sin(X) Возвращает косинус (синус) числа X, где X - угол в радианах.

Функций тангенс и котангенс в Турбо Паскале нет. Для их вычисления используйте выражение sin(x)/cos(x) (или cos(x)/sin(x) для котангенса).

ArcTan(X) Возвращает арктангенc числа X. Exp(X) Возвращает число, равное e в степени X. Ln(x) Возвращает число, равное натуральному логарифму от числа X. Pi Число Пи. Sqr(X) Возвращает число, равное квадрату числа X.

Функции возведения в произвольную степень в Турбо Паскале нет. Используйте многократное умножение для возведения в целочисленную степень, либо функции Exp и Ln для возведения в вещественную степень.

Sqrt(X) Возвращает число, равное квадратному корню из числа X. Trunc(X) Возвращает число, равное целой части числа X. (Происходит отбрасывание дробной части числа X. Результат выполнения имеет тип Longint). Frac(X) Возвращает число, равное дробной части числа X. Int(X) Возвращает число, равное целой части числа X. Результат выполнения функции - real. Round(X) Функция округляет число X. Возвращаемое значение имеет тип Longint. Random(X) Возвращает случайное целое число в диапазоне 0..X. Если аргумент опущен (Random), то возвращается случайное вещественное число от 0 до 1.

Перед использованием random в программах рекомендуется сначала инициализировать генератор псевдослучайных чисел процедурой Randomize. В противном случае при каждом запуске программы будет генерироваться одна и та же последовательность случайных чисел.

Пример. Вывод на экран 5 случайных чисел в диапазоне -10..10.

var i: integer; begin randomize; for i:=1 to 5 do writeln(random(21)-10); end. Inc(X,Y) Увеличивает значение числа X на Y. Если число Y не указано, то увеличение происходит на 1. Dec(X,Y) Уменьшает значение числа X на Y. Если число Y не указано, то уменьшение происходит на 1.

Сводка функций модуля Math

Тригонометрические функции и процедуры

ArcCos Арккосинус

ArcCosh Гиперболический арккосинус

ArcSin Арксинус

ArcSinh Гиперболический арксинус

ArcTahn Гиперболический арктангенс

ArcTan2 Арктангенс с учетом квадранта (функция ArcTan, не учитывающая квадрант, находится в модуле System)

Cosh Гиперболический косинус

Cotan Котангенс

CycleToRad Преобразование циклов в радианы

DegToRad Преобразование градусов в радианы

GradToRad Преобразование градов в радианы

Hypot Вычисление гипотенузы прямоугольного треугольника по длинам катетов

RadToCycle Преобразование радианов в циклы

RadToDeg Преобразование радианов в градусы

RadToGrad Преобразование радианов в грады

SinCos Вычисление синуса и косинуса угла. Как и в случае SumAndSquares и MeanAndStdDev, одновременная генерация обеих величин  происходит быстрее

Sinh Гиперболический синус

Tan Тангенс

Tanh Гиперболический тангенс

Арифметические функции и процедуры

Ceil Округление вверх

Floor Округление вниз

Frexp Вычисление мантиссы и порядка заданной величины

IntPower Возведение числа в целую степень. Если вы не собираетесь пользоваться экспонентами с плавающей точкой, желательно использовать эту функцию из-за ее скорости

Ldexp Умножение X на 2 в заданной степени

LnXP1 Вычисление натурального логарифма X+1. Рекомендуется для X, близких к нулю

LogN Вычисление логарифма X по основанию N

Log10 Вычисление десятичного логарифма X

Log2 Вычисление двоичного логарифма X

Power Возведение числа в степень. Работает медленнее IntPower, но для операций с плавающей точкой вполне приемлемо.

Финансовые функции и процедуры

DoubleDecliningBalance Вычисление амортизации методом двойного баланса

FutureValue Будущее значение вложения

InterestPayment Вычисление процентов по ссуде

InterestRate Норма прибыли, необходимая для получения заданной суммы

InternalRateOfReturn Вычисление внутренней скорости оборота вложения для ряда последовательных выплат

NetPresentValue Вычисление чистой текущей стоимости вложения для ряда последовательных выплат с учетом процентной 
ставки

NumberOfPeriods Количество периодов, за которое вложение достигнет заданной величины

Payment Размер периодической выплаты, необходимой для погашения ссуды, при заданном числе периодов, процентной ставке, а также текущем и будущем значениях ссуды

PeriodPayment Платежи по процентам за заданный период

PresentValue Текущее значение вложения

SLNDepreciation Вычисление амортизации методом постоянной нормы

SYDepreciation Вычисление амортизации методом весовых коэффициентов

Статистические функции и процедуры

MaxIntValue Максимальное значение в наборе целых чисел.

MaxValue Максимальное значение в наборе чисел.

Mean Среднее арифметическое для набора чисел

MeanAndStdDev Одновременное вычисление среднего арифметического и стандартного отклонения для набора чисел. Вычисляется быстрее, чем обе величины по отдельности

MinIntValue Минимальное значение в наборе целых чисел.

MinValue Минимальное значение в наборе чисел.

MomentSkewKurtosis Статистические моменты порядков с первого по четвертый, а также асимметрия (skew) и эксцесс (kurtosis) для набора чисел

Norm Норма для набора данных (квадратный корень из суммы квадратов)

PopnStdDev Выборочное стандартное отклонение. Отличается от обычного стандартного отклонения тем, что при вычислениях используется выборочное значение дисперсии, PopnVariance (см. ниже)

PopnVariance Выборочная дисперсия. Использует «смещенную» формулу TotalVariance/n

RandG Генерация нормально распределенных случайных чисел с заданным средним значением и среднеквадратическим отклонением

StdDev Среднеквадратическое отклонение для набора чисел

Sum Сумма набора чисел

SumsAndSquares Одновременное вычисление суммы и суммы квадратов для набора чисел. Как и в других функциях модуля Math, обе величины вычисляются быстрее, чем по отдельности

SumInt Сумма набора целых чисел.

SumOfSquares Сумма квадратов набора чисел

TotalVariance «Полная дисперсия» для набора чисел. Это сумма квадратов расстояний всех величин от их среднего арифметического

Variance Выборочная дисперсия для набора чисел. Функция использует «несмещенную» формулу TotalVariance/(n1)