Лекция №11. Символьный и строковый типы данных

 

Для работы с текстом в ТР имеется два типа данных: char – литерный или символьный тип; string – строковый или стринговый тип.

Значением переменных символьного типа является один символ. Каждому символу соответствует код символа – целое число в диапазоне от 0 до 255. Из этого следует, что символьный тип – это порядковый тип, т.е. каждому символу соответствует целое число, лежащее в диапазоне от 0 до 255. Это первый момент, который нужно уяснить – все действия по обработке символов сводятся к действиям над целыми числами, расположенными строго по порядку.

Над данными символьного типа определены операции отношения:

=, <>, <, >, <=, >=, вырабатывающие результат логического типа.

При выполнении всех операций сравнения коды символов сравниваются как обычные целые числа. При этом получается, что любая заглавная буква всегда меньше соответствующей ей строчной, т.к. в кодовой странице сначала расположены заглавные буквы, а затем строчные. Точно также, любая буква латинского алфавита меньше любой буквы русского алфавита, даже если их изображения на экране практически неразличимы (например, A латинская, А русская).

Для данных символьного типа определены следующие стандартные функции:

- Chr(x) –возвращает значение символа по его коду;

Chr(129) à 'Б'.

- Ord(ch) – возвращает код заданного символа;

Ord('A') à 65.

- Pred(ch) – возвращает предыдущий символ;

Pred('Б') à 'А'.

- Succ(ch) – возвращает следующий символ;

Succ('Г') à 'Д'.

- Upcase(ch) – преобразует строчную букву в прописную.

Upcase('n') à 'N'. Обрабатывает буквы только латиницы.

 

Строки. Обработка строковых данных

 

К структурированным типам данных относятся также строки.

Строка – это последовательность символов. Максимальное количество символов в строке (длина строки) может изменяться от 1 до 255. переменную строкового типа можно определить в разделе определения типов или в разделе объявления переменных.

Type

ИмяТипа = string [максимальная длина строки];

Var

Идентификатор1, Идентификатор2, …: ИмяТипа;

Или строковые переменные указываются только в разделе объявлений после слова VAR, например:

VAR

FIO: STRING[15];

STROK: STRING;

Если строковая константа используется в программе несколько раз, то ее целесообразно объявить в разделе констант, например:

CONST

STR = 'STROKA';

Если максимальная длина строки не указывается, то она равна 255 байт.

Строка в языке ТР трактуется, как массив символов. Для строки из n символов в памяти ПК отводится n+1байт, nбайтов для хранения символов строки, а один дополнительный байт – для значения текущей длины строки. Этот дополнительный байт имеет номер 0, соответственно первый символ строки имеет номер 1, второй – 2 и т.д.

Например, переменная strokтипа string[15]хранится в памяти таким образом:

Strok:= 'университет;

 

Номер байта
Его значение к о л л е д ж   М и р а с    

 

Вся строка занимает 16 байтов, из них 2 байта остались незанятыми, т.к. реальная длина строки составляет 13 символов, это значение и хранится в нулевом байте строки. Незанятые байты составляют "хвост" строки, в котором может находиться любой "мусор", однако программа не будет обращаться к "хвосту", т.к. реальный размер строки ей известен.

Из этого примера становиться понятным, почему максимальная длина строки может быть равна 255 символам, т.к. для хранения длины строки отведен всего лишь один байт, а число 255 в двоичном представлении выглядит как восемь единиц, т.е. 1111 1111.

К отдельным символам строки можно обратиться как к элементу одномерного массива, т.е. с помощью индексов в квадратных скобках, например

FIO[5]; STROK[24];

При вводе строки количество символов в ней определяется автоматически, при этом автоматически заполняется нулевой байт.

В отличие от массивов переменные строкового типа могут целиком участвовать в операторах ввода/вывода. Например:








Дата добавления: 2017-11-04; просмотров: 2008;


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

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.