Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика 2 part.docx
Скачиваний:
7
Добавлен:
03.12.2018
Размер:
40.62 Кб
Скачать

34. Структуры данных. Порядковые типы, совместимость типов.

1) Порядковые типы

Все стандартные типы, кроме вещественных типов, а так же перечисляемый и интервальный типы относятся к порядковым типам.

У порядковых типов значения ограничены (кол-во значений).

К порядковым типам можно применять след. ф-ции:

  • PRED(A) – возвращает предыдущее значение (если оно сущ-ет для аргумента А)

  • SUCC(A) – возвращает последующее значение (если оно сущ-ет для аргумента А)

Пр.: PRED(5) = 4; SUCC(5) = 6

PRED(F) = Е; SUCC(F) = G

PRED(TRUE) = FALSE; SUCC(FALSE) = TRUE.

Значения порядковых типов можно сравнивать между собой, используя (символы) операции сравнения: <, >, =, =>, <=.

Если PRED(A) = B, то А>B.

  1. Совместимость типов.

Turbo Paskal явл-ся типизированным языком, построенным на строгом соблюдении концепции типов.

В соответствии в этой концепцией все операции языка определены только над операндами совместимых типов.

В операциях сравнения 2 типа явл-ся совместимыми, если соблюдается хотя бы одно из след. условий:

  • Оба типа явл-ся одинаковыми;

  • Оба типа явл-ся вещественными;

  • Оба типа явл-ся целочисленными;

  • Один тип явл-ся под диапазоном другого: Пр.: D: 10..100;

  • Оба типа явл-ся под диапазонами одного и того же основного типа: Пр.: D: 1..100;

C: 1..5.

В операциях присваивания, например Т1:=Т2, 2 типа явл-ся совместимыми, если соблюдается хотя бы одно из след. условий:

  • Оба типа тождественны (т.е. одинаковы);

  • Оба типа явл-ся совместимыми порядковыми типами и значение второго (для Т2) попадает в диапазон возможных значений первого (Т1);

Пр.: D: 1..100;

C: 1..5.

D:=C (наоборот нельзя)!!!

  • Оба типа явл-ся вещественными типами. Значения второго типа (для Т2) попадает в диапазон возможных значений первого типа (Т1);

Пр.: D:REAL; (входит под диапазон С)

С:EXTENDED;

….

C:=D (наоборот нельзя)!!!

  • Первый тип явл-ся вещественным (Т1), а второй (для Т2) явл-ся целочисленным.

Пр.: C:REAL;

D:INTEGER; (входит под диапазон С)

….

C:=D (наоборот нельзя)!!!

В языке программирования ТР данные подразделяются на след типы: простые(скалярные) и сложные.

Простые типы данных подразделяются на: стандартный (предопределенный) тип; тип, задаваемый пользователем (перечисляемый тип); тип диапазона (интервальный тип).

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

В Turbo Paskal-e используются след. сложные типы: массивы, строки, записи, множества, файлы, указатели, процедурные типы, объекты.

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

В ТР-ле допускается произвольная глубина вложенности типов, но при этом суммарная длина люб. вложенности во внутреннем (двоичном) представлении не должна превышать 65 520 байт