Javascript must be enabled in your browser to use this page.
Please enable Javascript under your Tools menu in your browser.
Once javascript is enabled Click here to go back to �нтеллектуальная Кобринщина

Выражения

В операторах присваивания можно использовать арифметические выражения. Например:

num := (d + n) / 10;

sq := trunk(num) + 1;

Скобки обеспечивают необходимый порядок вычислений. Если бы в первом примере скобки бы были опущены:

num := d + n / 10;

то сначала было бы выполнено деление, приоритет которого выше. Приоритет в арифметических выражениях выше у операций умножения (*) и деления (/), ниже у сложения и вычитания.

Во втором из приведенных примеров производится присваивание значения целой переменной. Функция trunc дает целый результат, а число 1 записано без десятичной точки; таким образом, оба слагаемых в сумме дают целое значение. Вообще, когда все члены выражения – целые, само выражение принимает целое значение.

У сформулированного выше правила существует важное исключение: деление (с использованием знака /) всегда дает вещественный результат:

6.5 / 2 = 3.25

6 / 2 = 3.0

Деление нацело (нахождение частного и остатка) может быть выполнено при помощи операций div и mod.

Выражение может включать в себя и целые и вещественные члены. Наличие хотя бы одного вещественного члена или знака / приводит к тому, что значение результата будет вещественным. Функции trunc и round могут быть использованы для преобразования вещественного числа в целое.

Функция sqr возводит значение аргумента (записанного внутри скобок) в квадрат. В Паскале нет оператора возведения в произвольную степень. Возведение в степенно здесь осуществляется с использованием логарифмов. Вместо ax на Pascal можно написать exp(ln(a) * x).

Это может показаться странным, но знаки <, >= и др. тоже играют роль операций. Выражения, содержащие подобные операции, принимают логическое значение и называются логическими выражениями. В состав логических выражений могут входить логические операции not (не), and (и), or (или).