Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2- Введение в программирование.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
753 Кб
Скачать
☆

Типы данных языка тр

Любые данные (константы, переменные, значения функций или выражения) в ТР характеризуются своими типами. Тип - это множество значений, которые могут принимать объекты программы, а также совокупность операций, допустимых над этими значениями. Кроме того, тип определяет также и формат внутреннего представления данных в памяти компьютера.

Простые типы

Эти типы определяют тип только одного отдельного значения.

Простые типы можно разделить на два класса. Порядковые типы отличается тем, что каждый из них имеет конечное число возможных значений. Эти значения можно определенным образом упорядочить, и, поэтому с каждым из них можно сопоставить некоторое целое число - порядковый номер значения. Вещественные типы, строго говоря, тоже имеют конечное число значений (количество этих значений определяется форматом внутреннего представления вещественного числа). Однако количество возможных значений настолько велико, что сопоставить с каждым из них целое число (его номер) не представляется возможным.

К любому из порядковых типов (целые, логический, символьный, перечисляемый и тип-диапазон) применима функция ORD(X), которая возвращает порядковый номер значения Х. Применительно к целым эта функция возвращает само значение Х (т.е. ORD(X) = X). Применительно к логическому типу дает в результате 0 или 1, к символьному - целое число от 0 до 255 (коды), к перечисляемому - целое число от 0 до 65535. Тип-диапазон сохраняет все свойства базового порядкового типа, поэтому результат применения к нему функции ORD(X) зависит от свойств этого типа.

К порядковым типам также применимы функции:

  • PRED(X) - возвращает предыдущее значение порядкового типа (значение, которое соответствует порядковому номеру ORD(X)-1). Следовательно, ORD(PRED(X)) = ORD(X) - 1.

  • SUCC(X) - возвращает следующее значение порядкового типа (соответствует номеру ORD(X) +1). Т.е. ORD(SUCC(X)) = ORD(X) + 1;

Запрещены Pred ( первый элемент перечисления ) и Succ (последний элемент перечисления).

Пример,

Var

c,d : char;

begin

c := ‘f’;

d := PRED(c);

end.

Значение переменной d - это символ ‘e’.

Рассмотрим вначале особенности порядковых типов.

Целые типы

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

НАЗВАНИЕ

Длина, байт

Диапазон значений

Byte

1

0..255

ShortInt

1

-128..+127

Word

2

0..65535

Integer

2

-32768..+32767

LongInt

4

-2 147 483 648..+2 147 483 647

Целочисленные значения записываются привычным способом: 123 4 -5 -63333. Число должно быть записано без всяких преобразований. Будет ошибкой задать целое число следующим образом: 1е+2 (в смысле 100), 123.0.

Как говорилось ранее, при действиях с целыми числами тип результата будет соответствовать типу операндов, а если операнды относятся к разным типам, - типу того операнда, который имеет максимальную мощность (максимальный диапазон значений (иначе называется общим типом).

Стандартные функции, которые применяются к целым типам, будут рассмотрены после рассмотрения вещественных типов.