Выражения. В операторах присваивания можно использовать арифметические выражения
В операторах присваивания можно использовать арифметические выражения. Например:
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 (или).
Дата добавления: 2015-04-15; просмотров: 854;