Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ABC_Pascal.doc
Скачиваний:
2149
Добавлен:
30.03.2015
Размер:
1.12 Mб
Скачать

8. Обработка символьных данных

8.1. Символьный тип

Символьный тип  это тип данных, состоящих из одного символа (знака, буквы, цифры). Традиционная запись символьного значения предс­тавляет собой символ, заключенный в апострофы ('ж'). В Pascal ABC имеются аль­тернативные способы представления символов [1]. Значениями символьного типа является множество всех символов компьютера. Каждому символу приписывается целое число в диапазоне 0..255, которое служит кодом его внутреннего представления. Связь между символом и кодом устанавливается функцией ORD:

<Код > = ORD ( <символ> ) .

Переменные символьного типа объявляются в блоке VAR ключе­вым словом CHAR. Пример.

VAR

C1, C2, C3: CHAR;

BEGIN C1 := 'A' ; C2 := 'B' ; C3 := chr(43);

END.

Для кодирования символов используется код ASCII (AMERICAN STAN­DART CODE FOR INFORMATION INTERCHANGE  Американский стандартный код для обмена информацией). Код ASCII имеет 7 бит, которые поз­воляют кодировать в стандарте основные 128 символов, включающие латинские пpописные и стpочные буквы, цифpы, pазделители и pяд служебных символов (с кодами 0..31). Служебные символы в тексте считаются пробельными и в операциях ввода-вывода имеют самостоятельное значение (табл. 7).

В Pascal ABC применяется восьмибитовый код, содержащий 256 символов. Ко­дировка символов с номерами [128..255] зависит от типа ПК и включает буквы русского алфавита, а также графические символы [3–5].

К символам типа char применимы операции присваивания и все операции логических отношений: <, >, <=, >=, =, <>.

Примеры 'A' = 'A' (TRUE);

'A' <> 'a' (TRUE);

'A' < 'a' (TRUE);

Таблица 7

Служебные символы

Символ

Код

Назначение

BEL

HT

LT

VT

FF

CR

SUB

ESC

7

9

10

11

12

13

26

27

Звонок

Табуляция горизонтальная

Перевод строки с сохранением текущей позиции

Табуляция вертикальная

Прогон страницы

Возврат каретки

Конец файла

Конец работы

Символьный тип имеет следующие встроенные функции:

ORD(С )  возвращает код типа byte для символа С:char;

CHR( b)  возвращает символ по коду аргумента b:byte;

UPCASE(c)  переводит в верхний регистр только букву латинс­кого алфавита, оставляя любой другой символ без изменения, и возвращает символ c:char;

PRED(C)  возвращает символ, предшествующий С:char в таблице ко­дов;

SUCC(C)  возвращает символ, следующий за С:char в таблице кодов.

Пример. Напечатать прописными только латинские буквы из двух заданных. Зададим буквы константами и применим функцию UpCase:

Var

c1, c2:char;

Begin

c1:= UPCASE( 'f' );

c2:= UPCASE( 'ф' );

writeln(c1, ' ' , c2, #7 ) {строка вывода: F ф }

End. {Вывод сопровождается звуковым сигналом}

Символы также можно описывать указанием в функции CHR кода симво­ла или с признаком # перед кодом. Например, считаются эквивалентными следующие записи:

'A'  CHR(65)  #65.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]