7.3.1. АРИФМЕТИЧЕСКИЕ ВЫРАЖЕНИЯ

 

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

 Арифметическое выражение порождает целое или действительное (вещественное) значение. В арифметических выражениях, кроме констант, переменных, скобок и знаков арифметических операций, могут использоваться встроенные (стандартные) функции и процедуры:

 

abs (x: real / integer) real / integerвычисление |x|. Тип результата совпадает с типом параметра.

arctan (x: real): real – вычисление arctg x (в радианах).

cos (x: real): real – вычисление cos x. Параметр x задает значение угла в радианах.

exp (x: real): realвычисление ex.

frac (x: real): real – вычисление дробной части x.

int (x: real): real – вычисление целой части x как значение вещественного типа.  

ln (x: real): real вычисление ln x.

pi: real – возвращает значение числа p (3,141592653897932385).

sin (x: real): real – вычисление sin x. Параметр x задает значение угла в радианах.

sqr (x) – возведение в квадрат числа x. Тип результата совпадает с типом параметра x.

sqrt (x: real): realвычисление Öx.

random: real – генерирует значение случайного числа из диапазона 0..0,99.

random (n: word): word – генерирует значение случайного числа из диапазона 0..n.

round (x: real): longint – возвращает значение x, округленное до ближайшего целого числа.

trunc (x: real): longint – возвращает ближайшее целое число, меньше или равное x, если x ³0, и большее или равное x, если x<0.

 

Примеры арифметических выражений:   

ln(abs(1.3E-02*x))+sin(x)/(1+2*a)

sqr(cos(1.5*pi*z))–sqrt(exp(frac(y)))

 

При вычислении значений арифметических выражений имеет место следующий приоритет операций: сначала выполняются стандартные функции и процедуры, затем умножение и деление, затем сложение и вычитание. При этом операции одинакового приоритета выполняются слева направо.