Читайте также: |
|
Лекция №5
Символы и строки. Множества
Приемы работы с символьными и строковыми данными. Использование множеств. Задание больших множеств массивами.
Содержание
Символы и строки. 2
Описание строк. 2
Символ-константа и строка-константа. 2
Неименованные константы.. 2
Нетипизированные константы.. 3
Типизированные константы.. 3
Действия с символами. 3
Операции. 3
Стандартные функции. 4
Стандартные функции и процедуры обработки строк. 4
Операции со строками. 5
Сравнения. 5
Обращение к компонентам строки. 6
Конкатенация. 7
Множества. 7
Описание множеств. 7
Множество-константа. 7
Неименованная константа. 7
Нетипизированная константа. 7
Типизированная константа. 8
Операции с множествами. 8
Представление множеств массивами. 8
Представление множеств линейными массивами. 8
Представление множеств битовыми массивами. 10
Примеры использования символов, строк и множеств. 12
Символы и строки
Две предыдущие лекции были посвящены произвольным массивам. Перейдем теперь к изучению массивов специального вида - линейных массивов, состоящих только из символов, - строк. Кроме того, сами символы мы тоже не обойдем вниманием.
Описание строк
В разделе var строки описываются следующим образом:
var <имя_строки>: string[[<длина>]]
Максимальная длина строки - 255 символов. Нумеруются ее компоненты начиная с 0, но этот нулевой байт хранит длину строки.
Если <длина> не указана, то считается, что в строке 255 символов. Поэтому для экономии памяти следует по возможности точно указывать длину используемых строк.
Примеры описаний:
var s1: string[10]; (*строка длиной 10 символов*)
s2: string; (*строка длиной 255 символов*)
Необходимо отметить, что один символ и строка длиной в один символ
var c: char;
s: string[1];
совершенно не эквивалентны друг другу. Вне зависимости от своей реальной длины, строка относится к конструируемым структурированным типам данных, а не к базовым порядковым (см. лекцию 2).
Символ-константа и строка-константа
Неименованные константы
В тексте программы на языке Pascal последовательность любых символов, заключенная в апострофы, воспринимается как символ или строка. Например:
c:='z'; {c: char}
s:='abc'; {s: string}
Константе автоматически присваивается "минимальный" тип данных, достаточный для ее представления: char или string[k]. Поэтому попытка написать
c:='zzz'; {c: char}
вызовет ошибку уже на этапе компиляции.
Кроме того, не забывайте, что если константа длиннее той переменной- строки, куда ваша программа пытается ее записать, то в момент присваивания произойдет усечение ее до нужной длины.
Пустая строка задается двумя последовательными апострофами:
st:= '';
Если же необходимо сделать так, чтобы среди символов строки содержался и сам апостроф, его нужно удвоить:
s:='Don''t worry about the apostrophe!';
Если теперь вывести на экран эту строку, то получится следующее:
Don't worry about the apostrophe!
Дата добавления: 2015-02-16; просмотров: 68 | Поможем написать вашу работу | Нарушение авторских прав |