Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика - экзамен.docx
Скачиваний:
9
Добавлен:
16.04.2019
Размер:
59.07 Кб
Скачать

15.Стандартный тип символьный. Кодирование символьной информации. Кодировочные таблицы. Символьные типы

Значениями символьных типов являются элементы набора литер, определяемого реализацией языка. При этом некоторые элементы не имеют графического изображения – это управляющие литеры, которые служат для задания таких действий, как переход к следующей строке, переключение с одного регистра на другой и др. Элементы множества значений символьных типов считаются перенумерованными, начиная с нуля. Номер символа можно определить при помощи функции Ord(C), где C – какой-либо символ.

Символьные типы задают некоторые стандартные схемы коди­рования и декодирования информации для обмена символьными дан­ными. Существуют две схемы: набор 8-битовых символов, известный как расширенный (extended) ANSI-стандарт (American National Standards Institute – Американский национальный институт стандартов), и схема, соответствующая международному стандарту UNICODE, представляю­щая набор 16-битовых символов, в котором первые 256 символов совпадают с символами, определенными ANSI-стандартом.

В Delphi определены два физических символьных типа и один общий. Физические типы ANSIChar и WideChar реализуют ANSI-стандарт и UNICODE-схему, соответственно. Общий тип, именуемый Char, соответствует типу ANSIChar.

В Паскале набор символов и способ их упорядочения не фикси­руется, а определяется конкретной реализацией языка. Однако предпола­гается, что в любой его реализации множество значений типа Char обладает следующими свойствами:

  • содержит цифры от 0 до 9, которые упорядочены по возрастанию изображаемых ими чисел, их порядковые номера идут подряд без пропусков, не обязательно начиная с нуля;

  • если строчные (малые) латинские буквы ‘a’..‘z’ допускаются, то они упорядочены по алфавиту; порядковые номера этих литер сохраня­ют указанную упорядоченность, но не обязаны быть последователь­ными целыми числами;

  • то же относится и к прописным латинским буквам ‘A’..‘Z’;

  • отношение порядка между двумя литерами множества значений типа Сhar такое же, как между их порядковыми номерами.

Константой типа Char является одна из допустимых литер, взятая в апострофы. Если апостроф принадлежит множеству значений типа Char, то значение константы апостроф, записывается дважды.

Для прямого и обратного отображения множества литерных зна­чений на подмножество натуральных чисел, являющихся порядковыми номерами этих значений, в Паскале есть две стандартные взаимно обратные функции:

ord(с) – дает порядковый номер литеры в множестве значений типа Char;

chr(i) – дает литеру с порядковым номером i, причем

chr(ord(с))=с ord(chr(i))=i

В Паскале нет операций над значениями типа char, которые давали бы значения этого же типа. Над литерами определены только операции сравнения, при этом с & d эквивалентно ord(с) & ord (d)

Заметим, что обычно ord(‘0’)≠0, поэтому для преобразования цифры в изображаемое ею целое число можно записать, например, так

ord(‘7’) – ord(‘0’) = 7.

Значения символьного типа переменным присваивают, записывая символ в апострофах или используя его порядковый номер.

Пример. x:='f'; y: = #70.