Порядковые типы
Символы с кодами 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.