Порядковые типы
Символы с кодами 0…31 относятся к служебным кодам. Если эти коды используются в символьном тексте программы, они считаются пробелами. При использовании их в операциях ввода-вывода они могут иметь следующее самостоятельное значение:
| Символ | Код | Значение |
|---|---|---|
| BEL | 7 | Звонок; вывод на экран этого символа сопровождается звуковым сигналом |
| НТ | 9 | Горизонтальная табуляция; при выводе на экран смещает курсор в позицию, кратную 8, плюс 1 (9, 17, 25 и т.д.) |
| LF | 10 | Перевод строки; при выводе его на экран все последующие символы будут выводиться, начиная с той же позиции, но на следующей строке |
| VT | 11 | Вертикальная табуляция; при выводе на экран заменяется специальным знаком |
| FF | 12 | Прогон страницы; при выводе на принтер формирует страницу, при выводе на экран заменяется специальным знаком |
| CR | 13 | Возврат каретки; вводится нажатием на клавишу Enter (при вводе с помощью READ или READLN означает команду "Ввод" и в буфер ввода не помещается; при выводе означает команду "Продолжить вывод с начала текущей строки") |
| SUB | 26 | Конец файла; вводится с клавиатуры нажатием CTRL-Z; при выводе заменяется специальным знаком |
| SSC | 27 | Конец работы; вводится с клавиатуры нажатием на клавишу ESC; при выводе заменяется специальным знаком |
К типу CHAR применимы операции отношения, а также встроенные функции:
- СНR(В) – функция типа CHAR; преобразует выражение В типа BYTE в символ и возвращает его своим значением;
- UPCASE(CH) – функция типа CHAR; возвращает прописную букву, если СН – строчная латинская буква, в противном случае возвращает сам символ СН, например:
var
c1,c2: Char;
begin
c1: = UpCase('s');
c2: = UpCase ('Ф');
WriteLn(cl,' ',c2)
end.
Так как функция UPCASE не обрабатывает кириллицу, в результате прогона этой программы на экран будет выдано:
S ф
Перечисляемый тип
Перечисляемый тип задается перечислением тех значений, которые он может получать. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамленном круглыми скобками, например:
typе colors =(red, white, blue);
Применение перечисляемых типов делает программы нагляднее. Если, например, в программе используются данные, связанные с месяцами года, то такой фрагмент программы:
type
ТипМесяц=(янв,фев,мар,апр,май,июн,июл,авг,сен,окт,ноя,дек);
var
месяц: ТипМесяц;
begin
…….
if месяц = авг then WriteLn('Хорошо бы поехать к морю!');
…….
end.
Был бы, согласитесь, очень наглядным. Увы! В Турбо Паскале нельзя использовать кириллицу в идентификаторах, поэтому мы вынуждены писать так:
type
TypeMonth=(jan,feb,mar,may,jun,jul,aug,sep,oct,nov,dec);
var
month: TypeMonth;
begin
…….
if month = aug then WriteLn('Хорошо бы поехать к морю!');
…….
end.
