Элементы языка Паскаль и типы данных
Операции, функции, выражения
Оператор присваивания, ввод и вывод данных
Работа 3.1. Программирование линейных алгоритмов
К числовым типам данных относятся группы вещественных и целочисленных типов. К ним применимы арифметические операции и операции отношений. Операции над данными бывают унарными (применимые к одному операнду) и бинарными (применимые к двум операндам).
Унарная арифметическая операция в Паскале одна. Это операция изменения знака. Ее формат:
-<величина>
Бинарные арифметические операции стандартного Паскаля описаны в табл. 3.3. В ней символ «I» обозначает целые типы, символ «R» — вещественные типы.
В Паскале существует большое количество стандартных функций и процедур, к которым программист может обращаться в своих программах. Наиболее часто используются математические функции, например: sqrt(x) — квадратный корень, abs (х) — абсолютная величина, sin (х) и др. Часто используемые стандартные процедуры: Read(...) — процедура ввода, Write (...) — процедура вывода данных.
Стандартные функции и процедуры являются внешними подпрограммами по отношению к вызывающей их программе. Они объединены в модули, которые подключаются к основной программе и становятся доступными для использования. Наиболее часто используемые подпрограммы объединены в модуль под названием SYSTEM. Этот модуль подключается к программе автоматически.
Таблица 3.4 содержит описания стандартных математических функций Паскаля.
Для подключения других модулей необходимо в начале программы (после заголовка) записать строку:
Uses <имя модуля>
Для управления символьным выводом на экран используется стандартный модуль CRT. К программе он подключается командой:
Uses CRT
В дальнейшем из этого модуля мы будем использовать процедуру очистки экрана для символьного вывода, обращение к которой производится оператором ClrScr.
Арифметическое выражение задает порядок выполнения действий над числовыми величинами. Арифметические выражения содержат числовые константы и переменные, арифметические операции, функции, круглые скобки. Одна константа или одна переменная — простейшая форма арифметического выражения.
Например, рассмотрим математическое выражение:
На Паскале оно выглядит так:
(2*A + Sqrt(0.5*sin(X + Y))) / (0.2*C - ln(X - Y))
Для того чтобы правильно записывать арифметические выражения, нужно соблюдать следующие правила.
1. Все символы пишутся в строчку на одном уровне. Проставляются все знаки операций (нельзя пропускать знак *).
2. Не допускаются два следующих подряд знака операций. (Нельзя: А+-В; можно: А+ (-В).)
3. Операции с более высоким приоритетом выполняются раньше операций с меньшим приоритетом. Порядок убывания приоритетов:
вычисление функции;
унарная операция смены знака (-);
*, /, div, mod;
+, -.
4. Несколько записанных подряд операций одинакового приоритета выполняются последовательно слева направо.
5. Часть выражения, заключенная в скобки, вычисляется в первую очередь. (Например, в выражении (А+В) * (C-D) умножение производится после сложения и вычитания.)
Не следует записывать выражения, не имеющие математического смысла, например: деление на нуль, логарифм отрицательного числа и т. п.
Пример. Цифрами сверху указан порядок выполнения операций:
Данное арифметическое выражение (на Паскале) соответствует следующему математическому выражению:
В Паскале нет операции или стандартной функции возведения числа в произвольную степень. Для вычисления ху рекомендуется поступать следующим образом:
а) если у — целое положительное значение, то его степень вычисляется через умножение; например х3 —> х*х*х; большие степени следует вычислять умножением в цикле;
б) если у — целое отрицательное число, то степень вычисляется так: ху = (1/х)|y|; а при у = 0: х0 = 1.
в) если у — вещественное значение, не равное нулю, то используется следующая математическая формула: ху = еу1n(-х) На Паскале получим арифметическое выражение:
exp(Y*ln(х))
Очевидно, что в этом случае не допускается нулевое или отрицательное значение х. Для целого у такого ограничения нет.
На Паскале это выражение выглядит так:
ехр(1/3*ln(А+1))
Выражение имеет целочисленный тип, если в результате его вычисления получается величина целочисленного типа. Выражение имеет вещественный тип, если результатом его вычисления является вещественная величина.
1. Для следующих математических выражений запишите соответствующие арифметические выражения на Паскале:
2. Запишите математические выражения, соответствующие следующим выражениям на Паскале:
3. Для следующих математических выражений запишите соответствующие арифметические выражения на Паскале:
4. Вычислите значения выражений:
5. Определите типы выражений:
Следующая страница Оператор присваивания, ввод и вывод данных