Обращение | Тип аргумента | Тип результата | Функция |
Pi | — | R | Число л = 3.1415926536Е+00 |
abs (x) | I, R | I, R | Модуль аргумента х |
arctan (x) | I, R | R | Арктангенс х, рад |
cos (х) | I, R | R | Косинус x, рад |
ехр (х) | I, R | R | ех — экспонента х |
frac (x) | I, R | R | Дробная часть х |
int (x) | I, R | R | Целая часть х |
1п(х) | I, R | R | Натуральный логарифм х |
random | R | Псевдослучайное число в интервале [0, 1) | |
random (x) | I | I | Псевдослучайное число в интервале [0, х) |
round (x) | R | I | Округление х до ближайшего целого |
sin (x) | I, R | R | Синус х, рад |
sqr (x) | I, R | I, R | Квадрат х |
sqrt (x) | I, R | R | Корень квадратный из х |
trunc (х) | R | I | Ближайшее целое, не превышающее х по модулю |
Для верной записи арифметических выражений следует соблюдать определенные правила.
1. Все символы писать в строку, т.е. на одном уровне. Проставлять все знаки операций, не пропуская знак «*».
2. Не допускать записи двух знаков операций подряд, т. е. нельзя писать А + — В, следует писать А + (-В).
3. Операции с более высоким приоритетом выполняют раньше операций с меньшим приоритетом. Порядок убывания приоритетов операций следующий:
• вычисление функции;
• унарная операция смены знака (-);
• *, /, div, mod;
• +, -.
4. Несколько записанных подряд операций с одинаковым приоритетом выполняют последовательно слева направо.
5. Часть выражения, заключенная в скобки, вычисляется в первую очередь. (Например, в выражении (А + В) * (С - D) умножение производится после сложения и вычитания.)
6. Не следует записывать выражения, не имеющие математического смысла, например: деление на нуль, логарифм отрицательного числа и т.п.
Приведем пример. Арифметическое выражение, записанное по указанным правилам (цифрами в кружке указан порядок выполнения операций),
соответствует следующей математической формуле: |
В Паскале нет операции или стандартной функции возведения числа в произвольную степень. Для вычисления ху рекомендуется поступать следующим образом:
• если у — целое значение, следует использовать умножение, например: х3 → х * х * х. Для больших степеней следует использовать умножение в цикле;
• если у — вещественное значение, используется следующая математическая формула:
ху = еуlп(х), запись которой на Паскале имеет вид
Очевидно, что при вещественном типе у недопустимо нулевое или отрицательное значение х. Для у целого типа такого ограничения нет.
Например, формула будем иметь вид
Выражение имеет целый тип, если в результате его вычисления получается величина целого типа. Выражение имеет вещественный тип, если результатом его вычисления является вещественная величина.
Арифметический оператор присваивания имеет структуру, представленную на рис. 2.10.
Например, это может быть запись вида
Порядок выполнения оператора присваивания рассматривался ранее. Следует только обратить внимание на следующее правило: типы переменной и выражения должны быть одинаковыми. Исключением является случай, когда выражение имеет целый тип, а переменная — вещественный.
Упражнения
1. Записать арифметические выражения на Паскале для следующих формул:
3. Почему в Паскале аргумент функции всегда записывают в скобках, например пишут ln(5), а не ln 5?
4. Записать соответствующие арифметические выражения на Паскале для следующих формул:
8. Поменять местами значения целых переменных х и у, не используя дополнительные переменные. Определить недостаток найденного алгоритма по сравнению с методом обмена значений через третью переменную. Можно ли применять данный алгоритм для вещественных чисел?
9. Присвоить целой переменной h значение цифры, стоящей в разряде сотен в записи положительного целого числа к (например, если к = = 28 796, то h = 7).
10.Присвоить целой переменной S значение суммы цифр трехзначного целого числа к.
11.Определить, какую задачу решает следующая программа:
Указать, можно ли полученный результат получить более простым способом.