Лекция №6 Выражения и операторы язык программирования PASCAL

Выражения

Оператор присваивания

Процедуры ввода-вывода

Оператор выбора

Операторы организации циклической обработки

Выражения

Все вычисления и другие преобразования данных в программе записываются в виде выражений. Обычно выражение включает несколько операций, которые выполняются в порядке их приоритетности.

Различают:

• арифметические операции: + (сложение), - (вычитание), * (умножение), / (деление вещественное), div(деление целочисленное), mod(остаток целочисленного деления) - эти операции применяют к вещественным и целым числам, результат - также число;

• операции отношения: > (больше), < (меньше), = (равно), <> (не равно), >= (не меньше), <= (не больше) - эти операции применяют к числам, символам, символьным строкам и некоторым другим типам данных, результат значение логического типа;

• логические операции: and(и), or (или), хог(исключающее или), not(не) - эти операции выполняют с логическими переменными и константами, результат - значение логического типа;

• поразрядные операции: and(и), or (или), хог(исключающее или), not(не), shr(сдвиг вправо), shl(сдвиг влево) - эти операции выполняют с целыми числами, результат - целое число;

• строковая операция: + (сцепление строк) - выполняется над символами и строками, результат - строка ;

• операции над множествами: + (объединение), - (дополнение), * (пересечение), результат - множество; in (определение принадлежности элемента множеству), результат ~ значение логического типа;

• операция над указателями: @ (определение адреса программного объекта), результат - адрес

В табл. 2.3 приведены приоритеты, присвоенные этим операциям.

Лекция №6 Выражения и операторы язык программирования PASCAL - student2.ru

Для изменения порядка выполнения операций в выражении используют круглые скобки. В выражениях также допускается использование стандартных и определенных программистом функций Им присваивается высший приоритет.

Оператор присваивания

С помощью оператора присваивания в программе записываются действия, связанные с изменением значений переменных (рис. 2.9). При выполнении этого оператора вычисляется выражение, приведенное в правой части, и его результат заносится в переменную, имя которой указано слева. Если оператор присваивания записывается в последовательности операторов, то после него ставится точка с запятой.

Лекция №6 Выражения и операторы язык программирования PASCAL - student2.ru

Рис. 2.9. Синтаксическая диаграмма конструкции

Для корректного выполнения операции присваивания результат выражения и переменная, записанная в правой части оператора присваивания, должны иметь одинаковые или совместимые типы.

Совместимыми считаются:

· все целые типы;

· все вещественные типы;

· отрезок некоторого базового типа и базовый тип;

· два отрезка одного базового типа;

· символ и строка.

При несовпадении типов правой и левой частей оператора присваивания для совместимых типов происходит неявное преобразование результата выражения к типу переменной, указанной в правой части.

Например:

Лекция №6 Выражения и операторы язык программирования PASCAL - student2.ru

Если типы правой и левой частей оператора присваивания не совместимы, то необходимо использовать явное преобразование типов.

Явное преобразование обычно выполняют посредством использования специальных функций:

· Тrипс(х) - преобразует значение вещественного типа в значение целого типа, отбрасывая дробную часть;

· Round(x) - преобразует значение вещественного типа в значение целого типа, округляя его до ближайшего целого;

· Ord(x) - преобразует значение порядкового типа в его номер;

· Chr(x) - преобразует номер символа по таблице ASCII в сам символ.

Кроме того, для явного преобразования типов можно использовать функции, имена которых соответствуют идентификаторам стандартных или определенных пользователем типов. Этот вид преобразования иногда называют автоопределеиным.

Следует отметить, что при данном виде преобразования изменения значения не происходит, выполняется просто изменение типа, связанного с данным значением. В результате может произойти усечение или увеличение размера значения по сравнению с исходным. В случае усечения значения (приведениек меньшему по размеру типу) возможно изменение знака преобразуемого числа. В случае же расширения значения (приведение к большему по размерам типу) знак числа всегда сохраняется.

Например:

Лекция №6 Выражения и операторы язык программирования PASCAL - student2.ru

Наши рекомендации