Типы данных, относящиеся к порядковым
Опишем теперь порядковые типы данных более подробно.
- Логический тип boolean имеет два значения: false и true, и для них выполняются следующие равенства:
ord(false)=0, ord(true)=1, false<true, pred(true)=false, succ(false)=true, inc(true)=false, inc(false)=true, dec(true)=false, dec(false)=true.
- В символьный тип char входит 256 символов расширенной таблицы ASCII (например, 'a', 'b', 'я', '7', '#'). Номер символа, возвращаемый функцией ord(), совпадает с номером этого символа в таблице ASCII.
- Целочисленные типы данных сведем в таблицу:
Тип данныхКоличествоДиапазон байтовбитов shortint byte integer word longint 1 1 2 2 4 8 8 16 16 32 -128..127 0..255 -32768..32767 0..65535 -2147483648..2147483647 -27..27-1 0..28-1 -215..215-1 0..216-1 -231..231-1 - Перечисляемые3) типы данных задаются в разделе type явным перечислением их элементов. Например:
type week =(sun,mon,tue,wed,thu,fri,sat) 0 1 2 3 4 5 6
Напомним, что для этого типа данных:
inc(sat) = sun, dec(sun) = sat.
- Интервальные типы данных задаются только границами своего диапазона. Например:
type month = 1..12; budni = mon..fri;
- Программист может создавать и собственные типы данных, являющиеся комбинацией нескольких стандартных типов. Например:
type valid_for_identifiers = 'a'..'z','A'..'Z','_','0..9';
Этот тип состоит из объединения нескольких интервалов, причем в данном случае изменен порядок латинских букв: если в стандартном типе char 'A' < 'a', то здесь, наоборот, 'a' < 'A'. Для величин этого типа выполняются следующие равенства:
inc('z')='A'; dec('0')='_', pred('9')='8'; ord('b')= 2.