Символьный тип, коды ASCII, функции ORD, CHR и Upcase, выполнение операций отношения над данными символьного типа
Значением символьного типа является множество всех символов ПК. Каждому символу приписывается целое число в диапазоне 0...255. Это число служит кодом внутреннего представления символа, его возвращает функция ORD.
Для кодировки используется код ASCII (American Standard Code for Information Interchange - американский стандартный код для обмена информацией). Это 7-битный код, т.е. с его помощью можно закодировать лишь 128 символов в диапазоне от 0 до 127. В то же время в 8-битном байте, отведенном для хранения символа в Турбо Паскале, можно закодировать в два раза больше символов в диапазоне от 0 до 255. Первая половина символов ПК с кодами 0...127 соответствует стандарту ASCII. Вторая половина символов с кодами 128...255 не ограничена жесткими рамками стандарта и может меняться на ПК разных типов.
Таблица 1
Кодировка символов в соответствии со стандартом ASCII | |||||||
Код | Символ | Код | Символ | Код | Символ | Код | Символ |
NUL | BL | ® | ' | ||||
ЗОН | ! | A | a | ||||
STX | " | В | b | ||||
ЕТХ | # | С | с | ||||
EOT | $ | D | d | ||||
ENQ | % | E | e | ||||
АСК | & | F | f | ||||
BEL | ' | G | g | ||||
BS | ( | H | h | ||||
НТ | ) | I | i | ||||
LF | * | J | j | ||||
VT | + | k | k | ||||
FF | , | L | i | ||||
CR | - | M | m | ||||
SO | . | N | n | ||||
SI | / | О | |||||
DEL | p | P | |||||
DC1 | Q | q | |||||
DC2 | R | r | |||||
DC3 | S | s | |||||
DC4 | T | t | |||||
NAK | U | u | |||||
SYN | V | V | |||||
ETB | w | w | |||||
CAN | X | X | |||||
EM | У | У | |||||
SUB | : | z | z | ||||
ESC | / | [ | { | ||||
FS | < | \ | l | ||||
GS | = | ] | } | ||||
RS | > | ^ | ~ | ||||
US | ? | — | п |
Символы с кодами 0...31 относятся к служебным кодам. Если эти коды используются в символьном тексте программы, они считаются пробелами. При использовании их в операциях ввода-вывода они могут иметь следующее самостоятельное значение:
Символ | Код | Значение |
BEL | Звонок; вывод на экран этого символа сопровождается звуковым сигналом | |
НТ | Горизонтальная табуляция; при выводе на экран смещает курсор в позицию, кратную 8, плюс 1 (9, 17, 25 и т.д.) | |
LF | Перевод строки; при выводе его на экран все последующие символы будут выводиться, начиная с той же позиции, но на следующей строке | |
VT | Вертикальная табуляция; при выводе на экран заменяется специальным знаком | |
FF | Прогон страницы; при выводе на принтер формирует страницу, при выводе на экран заменяется специальным знаком | |
CR | Возврат каретки; вводится нажатием на клавишу Enter (при вводе с помощью READ или READLN означает команду «Ввод» и в буфер ввода не помещается; при выводе означает команду «Продолжить вывод с начала текущей строки») | |
SUB | Конец файла; вводится с клавиатуры нажатием Ctrl-Z; при выводе заменяется специальным знаком | |
SSC | Конец работы; вводится с клавиатуры нажатием на клавишу ESC; при выводе заменяется специальным знаком |
К типу CHAR применимы операции отношения, а также встроенные функции: СНR(В) - функция типа CHAR; преобразует выражение В типа BYTE в символ и возвращает его своим значением;
UPCASE(CH) - функция типа CHAR; возвращает прописную букву, если СН - строчная латинская буква, в противном случае возвращает сам символ СН, например:
var
cl,c2: Char;
begin
cl := UpCase('s') ;
c2 := UpCase ('Ф') ;
WriteLn(cl,' ',c2)
end.
Так как функция UPCASE не обрабатывает кириллицу, в результате прогона этой программы на экран будет выдано
S ф
Дата добавления: 2015-12-01; просмотров: 1014;