ВыраженияВ операторах присваивания можно использовать арифметические выражения. Например: num := (d + n) / 10; sq := trunс(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 (или). |