Имеющихся в Паскале функций достаточно для вычисления других, более сложных. Вот несколько примеров: tg x = sin x/cos x, ctg x = cos x/sin x, logy x = ln x/ln y, xy = ey ln x
Например, чтобы вычислить (2х + 3)1+cos x, мы напишем на Паскале: ехр( (1+cos(х)) * ln(2*х+3) )
Обратите внимание на то, что при записи выражений на языке Паскаль нужно тщательно задумываться о приоритетах операций. Например, выражение «x+1, деленное на 2x», записанное в виде х+1/2х, содержит сразу три ошибки.
Во-первых, приоритет операции деления выше, чем у сложения, поэтому для правильного вычисления числителя его надо взять в скобки: (х+1). Во-вторых, Паскаль не понимает, что означает 2х. Это мы привыкли, что в математике операцию умножения в таких случаях опускают. Паскалю требуется, чтобы она была указана явно: (х+1)/2*х. Но даже это выражение все еще содержит ошибку. Дело в том, что умножение и деление имеют одинаковый приоритет и выполняются слева направо. Значит, при такой записи сначала выполнится деление, а потом результат будет умножен на х.
Нужно либо поставить знаменатель в скобки и написать (х+1)/(2*х), либо, для ленивых, поставить вместо умножения деление: (х+1)/2/х. Порядок вычисления в этом случае будет не такой, как требует условие, однако результат будет таким же: ведь поделить на 2х — это все равно, что поделить сначала на 2, а потом результат поделить на х.
ЗАПОМНИТЕ. Аргументы функции всегда пишутся в скобках. То есть, если у функции нет аргументов (как у Pi, например), то скобки после ее имени не нужны. Если же аргументы есть, то после имени функции вы должны обязательно открыть скобку, перечислить аргументы и не забыть закрыть скобку. Например, sin 2х в Паскале нужно записывать как sin(2*x).
Задание 2.8. Напишите программу для вычисления дискриминанта квадратного уравнения. Коэффициенты задайте в программе через оператор присваивания. Продумаем алгоритм решения данной задачи (рис. 2.6). Запишите каждый шаг алгоритма на языке Паскаль.