- •Контрольные вопросы экзамену
- •2 Семестр
- •Группы символов языка Паскаль.
- •Структура языка Паскаль.
- •Понятие лексемы языка, категории лексем.
- •Зарезервированных слова в языке Паскаль.
- •Понятие идентификатора, допустимая длина идентификаторов, разновидности идентификаторов, стандартные идентификаторы.
- •Формы записи чисел в языке паскаль.
- •Использование комментариев.
- •Символы используемые в качестве разделителей лексем.
- •Разделы описаний и объявлений языка Паскаль.
- •Раздел операторов.
- •Виды констант.
- •Стандартные типы языка паскаль.
- •Интервальный и перечисляемый типы данных.
- •Порядковые типы и их свойства.
- •Совместимость типов данных.
- •Выражения и их использование.
- •Операции и операнды, приоритет и классификация операций.
- •Синтаксис выражений
- •Операции
- •Арифметические операции
- •Унарные арифметические операции
- •Логические операции
- •Булевские операции
- •Операция со строками
- •Операции над символьными указателями
- •Операции над множествами
- •Операции отношения
- •Сравнение простых типов
- •Сравнение строк
- •Сравнение упакованных строк
- •Сравнение указателей
- •Сравнение символьных указателей
- •Сравнение множеств
- •Проверка на принадлежность к множеству
- •Операция @
- •Использование операции @ для переменной
- •Использование операции @ для процедуры или функции или метода
- •Стандартные функции языка Паскаль. Арифметические функции
- •Функции преобразования типов
- •Функции для величорядкового типа
- •Функция ord
- •Функция chr
- •Функции succ и pred
- •3 Семестр
Операции
Операции подразделяются на арифметические операции, логические операции, операции со строками, операции над множествами, операции отношения и операцию @ (операция получения адреса).
Арифметические операции
В следующей таблице приведены типы операндов и результаты для бинарных и унарных арифметических операций:
Бинарные арифметические операции Таблица 6.2
------------T--------------T------------------T----------------¦
Операция ¦ Действие ¦ Типы операндов ¦ Тип результата ¦
+-----------+--------------+------------------+-----------------+
¦ + ¦ Сложение ¦ Целый ¦ Целый ¦
¦ ¦ ¦ Вещественный ¦ Вещественный ¦
+-----------+--------------+------------------+-----------------+
¦ - ¦ Вычитание ¦ Целый ¦ Целый ¦
¦ ¦ ¦ Вещественный ¦ Вещественный ¦
+-----------+--------------+------------------+-----------------+
¦ * ¦ Умножение ¦ Целый ¦ Целый ¦
¦ ¦ ¦ Вещественный ¦ Вещественный ¦
+-----------+--------------+------------------+-----------------+
¦ / ¦ Деление ¦ Целый ¦ Вещественный ¦
¦ ¦ ¦ Вещественный ¦ Вещественный ¦
+-----------+--------------+------------------+-----------------+
¦ div ¦ Целочисленное¦ ¦ ¦
¦ ¦ деление ¦ Целый ¦ Целый ¦
+-----------+--------------+------------------+-----------------+
¦ mod ¦ Остаток ¦ Целый ¦ Целый ¦
L-----------+--------------+------------------+------------------
Примечание: Операция + используется также, как опера ция для работы со строками и множествами. Операции +, - и * используются также для операций над множествами.
Унарные арифметические операции
Таблица 6.3
------------T--------------T------------------T----------------¦
Операция ¦ Действие ¦ Тип операнда ¦ Тип результата ¦
+-----------+--------------+------------------+-----------------+
¦ + ¦ Сохранение ¦ Целый ¦ Целый ¦
¦ ¦ знака ¦ Вещественный ¦ Вещественный ¦
+-----------+--------------+------------------+-----------------+
¦ - ¦ Отрицание ¦ Целый ¦ Целый ¦
¦ ¦ знака ¦ Вещественный ¦ Вещественный ¦
L-----------+--------------+------------------+------------------
Любая операция, включающая операнд, тип которого является подмножеством порядкового типа, обрабатывается также, как если бы он был порядкового типа.
Если оба операнда в операциях +, -, *, div или моd являются операндами целого типа, то тип результата будет таким же, как общий тип обоих операндов. (Определение общего типа см. в разделе "Целый тип" в Главе 3).
Если один или более операндов в операциях +, -, или * имеют вещественный тип, то тип результата будет вещественным, если использована директива компилятора {$N-}, или типом с повышенной точностью при использовании директивы компилятора {$N+}.
Если при использовании операции сохранения знака или операции отрицания знака операнд имеет целый тип, то результат будет тоже целого типа. Если операнд вещественного типа, то тип результата будет вещественным или типом с повышенной точностью (extended).
Значение выражения х/у всегда будет вещественного типа (real) или с повышенной точностью (extended), независимо от типов операндов. Если у равно 0, то результат будет ошибочным.
Значение выражение i div j представляет собой математическое частное от i/j, округленное в меньшую сторону до значения целого типа. Если j равно 0, результат будет ошибочным.
Операция mod возвращает остаток, полученный путем деления двух ее операндов, то есть:
i mod j = i - (i div j) * j
Знак результата операции mod будет тем же, что и знак i. Если j равно нулю, то результатом будет ошибка.