Значением символьного типа CHAR является множество всех символов ПК. К символам относятся все буквы алфавита, знаки и числа 0-9. Переменная данного типа – это один символ. Символы могут использоваться по отдельности (а, Z, !, 3) или соединяться друг с другом в строки (например, 'Это только проверка').
Каждому символу приписывается целое число в диапазоне 0...255. Это число служит кодом внутреннего представления символа, его возвращает функция ORD.
К типу CHAR применимы операции отношения, а также встроенные функции: СНR(В) – функция типа CHAR; преобразует выражение В типа BYTE в символ и возвращает его своим значением;
UPCASE(CH) – функция типа CHAR; возвращает прописную букву, если СН – строчная латинская буква, в противном случае возвращает сам символ СН. При отсутствии предыдущего или последующего символов значение соответствующих функций не определено.
4.1.4. Перечисляемый тип
Перечисляемый тип задается перечислением тех значений, которые он может получать. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамленном круглыми скобками, например:
typе
colors =(red, white, blue);
Применение перечисляемых типов делает программы нагляднее. Если, например, в программе используются данные, связанные с месяцами года, то такой фрагмент программы:
if month = aug then WriteLn('Хорошо бы поехать к морю!');
end.
Соответствие между значениями перечисляемого типа и порядковыми номерами этих значений устанавливается порядком перечисления: первое значение в списке получает порядковый номер 0, второе – 1 и т.д. Максимальная мощность перечисляемого типа составляет 65536 значений, поэтому фактически перечисляемый тип задает некоторое подмножество целого типа WORD и может рассматриваться как компактное объявление сразу группы целочисленных констант со значениями О, 1 и т.д.
Использование перечисляемых типов повышает надежность программ благодаря возможности контроля тех значений, которые получают соответствующие переменные.
Между значениями перечисляемого типа и множеством целых чисел существует однозначное соответствие, задаваемое функцией ORD(X). В Турбо Паскале допускается и обратное преобразование: любое выражение типа WORD можно преобразовать в значение перечисляемого типа. Такое преобразование достигается применением автоматически объявляемой функции с именем перечисляемого типа.
Переменные любого перечисляемого типа можно объявлять без предварительного описания этого типа, например: