- •Обработка символьной информации в Объектном Паскале
- •КЛАССИФИКАЦИЯ ДАННЫХ ПО ТИПУ
- •СИМВОЛЬНЫЕ ДАННЫЕ
- •ПРЕДСТАВЛЕНИЕ СИМВОЛЬНЫХ ДАННЫХ В ПАМЯТИ ЭВМ
- •ASCII
- •ПРЕДСТАВЛЕНИЕ СИМВОЛЬНЫХ ДАННЫХ В ПАМЯТИ ЭВМ
- •Объявление символьных переменных в Объектном Паскале
- •Символьный тип - порядковый
- •Функция UPCASE
- •Символьная константа
- •Массивы символов
- •ПРЕДСТАВЛЕНИЕ СИМВОЛЬНЫХ ДАННЫХ В ПАМЯТИ ЭВМ
- •Тип String Турбо Паскаля (ShortString Объектного Паскаля)
- •Строковые типы Объектного Паскаля
- •Пример 1. Вычислить количество слов в строке.
- •начало
- •Пример 2. Удалить из текста все заглавные латинские буквы.
- •Функции, работающие со строками
- •Процедуры, работающие со строками
- •Задача обработки данных сложной структуры, представленных в виде таблицы
- •Шаги обработки строки таблицы
- •Определить самый дорогой конструктор для детей в возрасте до семи лет и его
- •BEGIN
- •При обработке таблиц большого объема эта программа имеет, по крайней мере, два недостатка:
Обработка символьной информации в Объектном Паскале
лекция №13
КЛАССИФИКАЦИЯ ДАННЫХ ПО ТИПУ
ДАННЫЕ ГРАФИЧЕСКИЕ
ЧИСЛОВЫЕ |
|
СИМВОЛЬНЫЕ |
|
ЛОГИЧЕСКИЕ |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ЦЕЛЫЕ
(С ФИКСИРОВАННОЙ ТОЧКОЙ)
ВЕЩЕСТВЕННЫЕ
(С ПЛАВАЮЩЕЙ ТОЧКОЙ)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Четырехбайтовые |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|||
БЕЗ ЗНАКА |
|
СО ЗНАКОМ |
|
||||||||||
|
|
|
|||||||||||
|
|
|
Шестибайтовые |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Однобайтовые |
|
|
Однобайтовые |
|
Восьмибайтовые |
|||||||
|
|
|
|
||||||||||
|
|
|
|
Десятибайтовые |
|||||||||
|
|
|
|||||||||||
|
Двухбайтовые |
|
|
Двухбайтовые |
|
||||||||
|
|
|
|
||||||||||
|
|
|
|
|
|
||||||||
|
Четырехбайтовые |
|
|
Четырехбайтовые |
|
|
|
||||||
|
|
|
|
|
|||||||||
|
Восьмибайтовые |
|
|
Восьмибайтовые |
|
|
|
||||||
|
|
|
|
|
СИМВОЛЬНЫЕ ДАННЫЕ
СИМВОЛЬНЫЕ ДАННЫЕ ПРИНИМАЮТ ЗНАЧЕНИЯ НА МНОЖЕСТВЕ ВСЕХ СИМВОЛОВ, КОТОРЫЕ МОЖНО ВВЕСТИ С КЛАВИАТУРЫ КОМПЬЮТЕРА
ПРЕДСТАВЛЕНИЕ СИМВОЛЬНЫХ ДАННЫХ В ПАМЯТИ ЭВМ
MS DOS, 16-разрядные компьютеры: 1 символ - 1 байт.
Таблица кодов символов: ASCII -
American Standard Code for Information Interchange
Первые 128 символов - мировой стандарт, вторая часть кодовой таблицы - для национальных алфавитов.
Турбо Паскаль: символьный тип данных - char
ASCII
Символ |
Код 10 |
Значение |
nul |
0 |
Нуль |
soh |
1 |
Начало заголовка |
… |
… |
… |
lf |
10 |
Перевод строки |
… |
… |
… |
esc |
27 |
Esc |
… |
… |
… |
0 |
48 |
Цифра «0» |
… |
… |
… |
9 |
57 |
Цифра «9» |
… |
… |
… |
A |
65 |
Латинская «A» |
… |
… |
… |
Z |
90 |
Латинская «Z» |
… |
… |
… |
del |
127 |
Delete |
ПРЕДСТАВЛЕНИЕ СИМВОЛЬНЫХ ДАННЫХ В ПАМЯТИ ЭВМ
Windows, 32- разрядные компьютеры:
используется таблица кодирования ANSI (разработана комиссией ANSI - American National Standard Institute). ANSI: 1 символ - 1 байт, вторая половина кодовой таблицы отличается от ASCII
Наряду с ANSI используется система кодирования UNICODE: 1 символ - 2 байта,
первые 256 символов кодовой таблицы совпадают с ANSI.
Объектный паскаль - два символьных типа: char (1 символ – 1 байт), char AnsiChar widechar (1 символ – 2 байта).
Объявление символьных переменных в Объектном Паскале
Var a:char; b: widechar;
Символьный тип - порядковый
•Все значения упорядочены, так как имеют номер (код) в таблице кодирования.
•К символьным данным (как к данным любого порядкового типа) применимы встроенные
функции:
ORD(сh) – возвращает код символа сh; CHR(x) – возвращает символ с кодом x; SUCC(сh) – определение следующего за сh
символа по кодовой таблице;
PRED(сh) –определение предшествующего символа).
Функция UPCASE
•Функция UPCASE(CH) возвращает символ CH в
верхнем регистре, если он определен для него, либо сам символ CH, если для него нет верхнего регистра.
•Например, UPCASE('a') вернет А, в то время как
UPCASE('2') вернет 2.
Символьная константа
• Соответствующий символ, заключенный в апострофы;
оператор А:='A' означает, что символьной переменной с именем А присваивается значение символа А.
• #х, где х - десятичное число, это символ с кодом х;
#97 - символ, код которого равен 97 (символ a), #90 - символ, код которого равен 90 (символ Z); особенно удобно такое обозначение для специальных символов; например, #27 соответствует клавише Esc, #10 -сдвигу курсора на одну строку вниз, #13 - перемещению курсора на левую границу окна; последовательность символов #13#10
соответствует нажатию клавиши Enter.