- •Тема 3. Структура типов данных. Стандартные процедуры и функции, применимые к целым, вещественным числам. Логический, символьный, перечисляемый типы, тип-диапазон. Примеры. Типы данных
- •Простые типы
- •Порядковые типы
- •Целые типы
- •Логический тип
- •Символьный тип
- •Перечисляемый тип
- •Тип – диапазон
- •Вещественные типы
- •12Доп. [30-42]
Логический тип
Значениями логического типа может быть одна из предварительно объявленных констант FALSE ( ложь) или TRUE ( истина) . Для них справедливы правила: ord ( false)=0; ord ( true)=1; false<true; succ(false)=true; pred (true)= false
Логические операции применимы к операндам целого и логического типов. Если операнды- целые числа, то результат логической операции есть тоже целое число, биты которого ( двоичные разряды) формируются из битов операндов по правилам, приведённым ниже.
Таблица 4
|
Логические операции над данными типа INTEGER | |||||
|
Операнд 1 |
Операнд 2 |
not |
and |
or |
xor |
|
1 0 0 0 1 1 |
- - 0 1 0 1 |
0 1 - - - - |
- - 0 0 0 1 |
- - 0 1 1 1 |
- - 0 1 1 0 |
Логические операции над логическими данными дают результат логического типа по правилам, указанным в таблице:
Таблица 5 - Логические операции над данными типа Boolean
|
Операнд 1 |
Операнд 2 |
not |
and |
or |
xor |
|
TRUE FALSE FALSE FALSE TRUE TRUE |
- - FALSE TRUE FALSE TRUE |
FALSE TRUE - - - - |
- - FALSE FALSE FALSE TRUE |
- - FALSE TRUE TRUE TRUE |
- - FALSE TRUE TRUE FALSE |
Символьный тип
Значениями символьного типа является множество всех символов ПК. Каждому символу приписывается целое число в диапазоне 0… 255, которое служит кодом внутреннего представления символа (его возвращает функция ORD).
Для кодировки используется код ASCII (Американский стандартный код для обмена информацией). Это 7-битный код т.е. с его помощью можно закодировать лишь 128 символов в диапазоне от 0 до 127. В 8-битном байте, отведенном для хранения символа в Турбо Паскале, можно закодировать символы в диапазоне от 0 до 255.
Первая половина символов ПК с кодами 0..127 соответствует стандарту ASCII. Вторая половина символов с кодами 128…255 не ограничена жесткими рамками стандарта и может меняться на ПК разных типов.
К типу CHAR применяются операции отношения, а также встроенные функции: CHR (B) –функция типа CHAR; преобразует выражение. B типа BYTE в символ и возвращает его своим значениям.
UPCASE (CH) –функция типа CHAR; возвращает прописную букву, если CH -строчная латинская буква, в противном случае возвращает сам символ CH.
Перечисляемый тип
Перечисляемый тип задается перечислением тех значений, которые он может получать. Каждое значение именуется идентификатором и располагается в списке, заключенном в скобки, например:
type неделя=(пн., вт., ср., чтв., птн., сбб., вс.);
VAR D: неделя;
Соответствие между значениями перечисляемого типа и порядковыми номерами этих значений устанавливается порядком перечисления: первое значение в списке получает порядковый номер 0, второе-1 и т. д.
ord (пн.)=0; ord(вт.)=1; … ord(вс.)=6;
Допустим оператор:
D:=ср.;
Как отмечалось выше, между значениями перечисляемого типа и множеством целых чисел существует однозначное соответствие, задаваемое функцией ORD(x). В Турбо Паскале допускается и обратные преобразования: любое выражение типа WORD можно преобразовать в значение перечисляемого типа, если только значение целочисленного выражения не превышает мощности перечисляемого типа
D:=неделя(0);
Переменные любого перечисляемого типа можно объявлять без предварительного описания этого типа, например:
VAR D:(пн., вт., ср., чтв., птн., сб., вс.);
