Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции программирование.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
1.01 Mб
Скачать

Порядковые типы данных

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

К непрерывному набору относятся вещественные (дробные) числа. Смысл непрерывности заключается в том, что для двух любых, сколь угодно близких друг другу неравных чисел найдётся промежуточное число. Например, возьмём A=0.000001 и B=0.000002. Для них существует промежуточное число C=0.0000015. При использовании компьютера понятие непрерывности нарушается. Дело в том, что для дробного числа в компьютере выделяется определённое количество байт. Например, в Pascal ABC для числа типа Real резервируется 8 байт. Такое число содержит 16 значащих цифр и по модулю не может превосходить величины 1.7∙10308. Самое маленькое положительное число типа Real равно 5.0∙10-324. Следовательно, если A и B отличаются на 1 только в 16-ой цифре, то найти между ними промежуточное значение C невозможно.

Надо иметь в виду, что в других реализациях Паскаля тип Real может отличаться по количеству байт, верхнему и нижнему пределам, числу значащих цифр. Кроме того, многие реализации Паскаля имеют и другие вещественные типы данных (single, double, cardinal…), которые отличаются от Real количеством байт, верхним и нижним пределами, числом значащих цифр. Поэтому, приступая к работе с какой-либо реализацией Паскаля, следует изучить используемые в ней вещественные типы данных или, если очень высокая точность расчётов не требуется, ограничиться типом Real, который имеется в любой реализации Паскаля.

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

Тип

Байт

Значащих цифр

Нижний предел

Верхний предел

Integer

2

5

-32768

32767

Byte

1

3

0

255

ChortInt

1

3

-128

127

Word

2

5

0

65535

LongInt

4

9

-2147483648

2147483647

К порядковым типам данных относятся не только числовые, но ещё перечислимые, символьные и ограниченные типы данных. Рассмотрим их подробнее:

Перечислимый тип данных

Перечислимый тип определяется упорядоченным набором идентификаторов. Задаётся этот набор в разделе type (он находится до раздела var), а в разделе var описываются переменные такого типа. Например:

type   DayOfWeek = (Mon,Tue,Wed,Thi,Thr,Sat,Sun);

var   Segodnya, Zavtra: DayOfWeek;

begin Segodnya:=Wed;

Zavtra:=succ(Segodnya);

writeln('Завтра будет ',ord(Zavtra));

end.

С данными перечислимого типа возможны такие операции:

  1. Найти порядковый номер величины в наборе: k:=ord(Zavtra);

  2. Найти следующее значение в наборе: Zavtra:=succ(Segodnya);

  3. Найти предыдущее значение в наборе: Vchera:=pred(Segodnya);

Переменную перечислимого типа можно использовать в качестве счётчика в цикле for и в качестве проверяемого выражения в команде выбора варианта case. Например: