Принцип последовательного кодирования алфавитов




Тема 17. Работа с символьной информацией (4 часа)

Правила описания символьных величин и символьных строк. Основные функции и процедуры Паскаля для работы с символьной информацией

Символьный тип данных

Величина типа «символ» может принимать значения любых символов компьютерного алфавита. Символьная величина занимает 1 байт памяти, в котором хранится код этого символа, соответствующий используемой кодовой таблице. Заметим, что в Delphi наряду с однобайтовой кодировкой символов используется и двухбайтовая.

Символьная константа записывается между апострофами. Например: 1R', ' + ', '9', 'j'.

Символьной тип называется Char. Пример описания символьных переменных:

Var c1, с2: Char;

Символьный тип относится к порядковым типам данных. Из этого следует:

• символы — упорядоченное множество;

• у каждого символа в этом множестве есть свой порядковый номер;

• между символами работает соотношение «следующий — предыдущий ».

Порядковый номер символа — это его десятичный код, который лежит в диапазоне от 0 до 255. Например, в кодовой таблице ASCII десятичный код латинской буквы 'А' равен 65, а цифры '5' — 53. О стандартах кодирования символов рассказывалось на уроках 13 - 16 "Представление текста, изображения и звука в компьютере".

Функция Ord(x)

Ord(x) — функция от аргумента порядкового типа, которая возвращает порядковый номер значения х в этом типе данных. Если х — символьная величина, то результатом функции будет десятичный код х в кодовой таблице. Например:

Ord('А')= 65, Ord('5')= 53

Функция Chr (х)

Chr (х) — функция от целочисленного аргумента, результатом которой является символ с кодом, равным х. Например:

Chr(65)='A', Chr(53)='5'

Поскольку коды символов лежат в диапазоне от 0 до 255, желательно тип х определять либо как byte, либо как интервальный тип 0..255.

Пример 1. Составить программу на Паскале, по которой на экран будет выводиться таблица кодировки в диапазоне кодов от 32 до 255. Напомним, что символы с кодами, меньшими 32, являются управляющими (не экранными).

Значения выводятся парами: символ — код. В одной строке располагается 10 таких пар. Вся таблица разместится в 24 строках на экране.

Принцип последовательного кодирования алфавитов

В любой кодовой таблице выполняется принцип последовательного кодирования латинского (английского) алфавита и алфавита десятичной системы счисления. Это важное обстоятельство, которое часто учитывается в программах обработки символьной информации.

При выполнении операций отношений, применительно к символьным величинам, учитываются коды этих величин. Чем больше значение кода, тем символ считается больше. Истинными являются следующие отношения: 'А' с 'В', 'Z' > 'Y', 'а' > 'А'. Значение символьной переменной С является прописной (заглавной) латинской буквой, если истинно логическое выражение:

(С >= 'А') and (C <= 'Z')

Значение символьной переменной С является цифрой, если истинно логическое выражение:

(С >= ’0') and (С <= '9')

В латинском алфавите 26 букв. Поэтому разница между кодами букв 'Z' и 'А', а также 'z' и 'а' равна 25.

Пример 2. С помощью датчика случайных чисел заполнить массив Sim[0..10] строчными английскими буквами. Затем массив отсортировать в алфавитном порядке.

Пример 3. Записать текст программы, определяющей числовой код символа, а также соседние символы алфавита.

Var

a: char;

kod: integer;

b: string;

 

Begin

writeln('Код и строка');

write('Введите исходную букву>>');

readln(a);

kod:= ord(a);

b:= chr(kod - 1) + a + chr(kod + 1);

writeln('Код буквы ', a, ' - ', kod);

writeln('Строка: ', b)

end.

Домашнее задание:

Определите результаты вычисления выражений (типы и значения):

*Результаты можно выслать по электронной почте на адрес: gsv76@rambler.ru



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-12-05 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: