Pascal. Стандартные функции и выражения
В программировании, довольно часто приходиться выполнять однотипные действия, причем в задачах разного уровня и класса. И для ускорения процесса написания кода эти действия выносят в специальные подпрограммы – стандартные функции. Обращение к такой подпрограмме происходит по ее имени, а в скобках указывается значение аргумента. В следующей таблице указаны те стандартные функции, которые используются в языке программирования Pascal.
Функция Назначение ABS(x) Вычисление абсолютного значения x: |х| SQR(x) Вычисление квадрата x: x*x SIN(x) Вычисление синуса x: sin x COS(x) Вычисление косинуса x: cos x ARCTAN(x) Вычисление арктангенса x: arctg x EXP(x) Вычисление экспоненты (числа Е) в степени x EXP10(x) Вычисление 10 в степени x LN(x) Вычисление натурального логарифма x LOG(x) Вычисление десятичного логарифма x SQRT(x) Вычисление квадратного корня из x A DIV B Вычисление частного при делении А на В с отбрасыванием остатка A MOD B Нахождение остатка от делении А на В TRUNC(x) Нахождение целой части x RANDOM(x) Псевдослучайное число в интервале [0, x] ROUND(x) Округление значения x в сторону ближайшего целого ODD(x) Проверяет аргумент на нечетность. Результат TRUE, если аргумент нечетный, FALSE – если четный. ORD(x) Возвращает порядковый номер аргумента и, как следствие, преобразует величину порядкового типа в величину целого типа. CHR(x) Определение символа языка Паскаль по его порядковому номеру SUCC(x) Нахождение элемента, идущего после данного в перечне допустимых элементов PRED(x) Нахождение элемента, идущего перед данным в перечне допустимых элементов FRAC(X) Возвращает дробную часть x INT(X) Возвращает целую часть x Pi Значение математической постоянной π EOF(x) Возвращает TRUE, если файл находится в стоянии “конец файла”, иначе FALSE, если нет конца файлаВыражения
Выражение состоит из переменных, констант, полей в записях, указателей функций, круглых скобок и знаков операций. Для корректной записи выражений необходимо знать не только как обозначаются те или иные операции, функции и т. п., но также стоит предусмотреть приоритеты их выполнения, математические и логические правила, а также некоторые тонкости самого языка. Для более углубленного изучения выражений, стоит рассмотреть несколько примеров.
1) 12+3*3=21 (12+3)*3=45
Как видите выражения в Pascal , имеют такой же приоритет, как и в математике, а с помощью круглых скобок его можно изменить.
2) ( a >1) and ( a <=20)
Такое логическое выражение возвращает истину, лишь в том случае, когда истинны оба выражения, т. е. если a входит в диапазон от 1 до 20 включительно. Стоит обратить внимание на скобки, здесь они необходимы для изменения приоритета, так как у операторов сравнения он низший.
3) (a+3>0) and (a+3<15) or (b>1) and (b<10)
Условие вернет истину, тогда когда истинными будут два условия слева или справа от OR , а также если они оба будут истинными.
Логическая операция OR (или) суть дизъюнкция в логики и поэтому имеет следующую таблицу истинности:
X Y X or Y 0 0 0 0 1 1 1 0 1 1 1 1Ложь имеет место только когда X и Y ложны (нули). В том случае, чтобы истина возвращалась только тогда, когда одно из условий верно следует применить оператор XOR (исключающее или):
(a+3>0) and (a+3<15) xor (b>1) and (b<10)
4) x ^( a ) = exp( a *ln( x ))
В Pascal нет функции возведения числа в степень (кроме степени 2), поэтому существует два пути:
1 — умножать число само на себя, какое то количество раз;
2 — воспользоваться функциями экспоненты и натурального логарифма.
В этом примере использованы оба варианта, но если степень, в которую необходимо возвести число, достаточно велика, то предпочтение следует отдать второму способу.