- •Контрольные вопросы экзамену
- •2 Семестр
- •Группы символов языка Паскаль.
- •Структура языка Паскаль.
- •Понятие лексемы языка, категории лексем.
- •Зарезервированных слова в языке Паскаль.
- •Понятие идентификатора, допустимая длина идентификаторов, разновидности идентификаторов, стандартные идентификаторы.
- •Формы записи чисел в языке паскаль.
- •Использование комментариев.
- •Символы используемые в качестве разделителей лексем.
- •Разделы описаний и объявлений языка Паскаль.
- •Раздел операторов.
- •Виды констант.
- •Стандартные типы языка паскаль.
- •Интервальный и перечисляемый типы данных.
- •Порядковые типы и их свойства.
- •Совместимость типов данных.
- •Выражения и их использование.
- •Операции и операнды, приоритет и классификация операций.
- •Синтаксис выражений
- •Операции
- •Арифметические операции
- •Унарные арифметические операции
- •Логические операции
- •Булевские операции
- •Операция со строками
- •Операции над символьными указателями
- •Операции над множествами
- •Операции отношения
- •Сравнение простых типов
- •Сравнение строк
- •Сравнение упакованных строк
- •Сравнение указателей
- •Сравнение символьных указателей
- •Сравнение множеств
- •Проверка на принадлежность к множеству
- •Операция @
- •Использование операции @ для переменной
- •Использование операции @ для процедуры или функции или метода
- •Стандартные функции языка Паскаль. Арифметические функции
- •Функции преобразования типов
- •Функции для величорядкового типа
- •Функция ord
- •Функция chr
- •Функции succ и pred
- •3 Семестр
Использование операции @ для переменной
Использование операции @ для обычной переменной (не параметра) не вызывает никаких сложностей. Применение @ к ссылке на переменную возвращает указатель на переменную. Введем описания:
type
TwoChar = array[0..1] of char;
var
Int: integer;
TwoCharPtr: ^TwoChar;
тогда оператор:
TwoCharPtr := @Int;
приводит к тому, что TwoCharPtr для получения ссылки на TwoCharPtr^ становится повторной интерпретацией значения Int, как если бы оно было символьным массивом array[0..1].
Тип получаемого в результате указатель управляется директивой компилятора $T: в состоянии {$T-} (по умолчанию) типом результата будет Pointer. Другими словами, результат ом является нетипизированный указатель, совместимый со всеми другими типами указателей. В состоянии {$T+} типом результата будет ^T, где T тип ссылки на переменную. То есть тип результата будет совместим со всеми другими указателями на тип этой переменной.
Примечание: К использованию операции @ с процедурным типом применяются специальные правила. См. ниже раздел "Процедурный типы в выражениях".
Использование операции @ для процедуры или функции или метода
Вы можете применять операцию @ к процедуре, функции или методу. При этом вы получите указатель на точку входа подпрограммы. Независимо от состояния $T, типом полученного в результате указателя всегда будет Pointer. Другими словами, результатом всегда является нетипизированный указатель, совместимый со всеми другими ссылочными типами.
При применении операции @ к методу метод должен задаваться с помощью уточненного идентификатора (идентификатора объектного типа, за которым следует точка и идентификатор метода).
Стандартные функции языка Паскаль. Арифметические функции
Арифметические функции можно использовать только с величинами целого и вещественного типа.
Функция |
Назначение |
Тип результата |
abs (x) |
абсолютное значение аргумента |
совпадает с типом аргумента |
sqr (x) |
квадрат аргумента |
совпадает с типом аргумента |
sqrt (x) |
квадратный корень аргумента |
вещественный |
cos (x) |
косинус аргумента |
вещественный |
sin (x) |
синус аргумента |
вещественный |
arctan (x) |
арктангенс аргумента |
вещественный |
exp (x) |
ex |
вещественный |
ln (x) |
натуральный логарифм |
вещественный |
int (x) |
целая часть числа |
вещественный |
frac (x) |
дробная часть числа |
вещественный |
Функции преобразования типов
Эти функции предназначены для преобразования типов величин, например, символа в целое число, вещественного числа в целое и т.д.
ord (x) |
- возвращает порядковый номер аргумента и, таким образом, преобразует величину порядкового типа в величину целого типа. |
round (x) |
- округляет вещественное число до ближайшего целого. |
trunk (x) |
- выдает целую часть вещественного числа, отбрасывая дробную. |