Операции над строками.
Работа со строками
Строка — упорядоченная последовательность символов. Строковый тип данных — структурированный тип в Турбо-Паскале. Каждый символ строковой величины занимает 1 байт памяти (код ASCII). Количество символов в строке называется ее длиной. Длина строки может лежать в диапазоне от 0 до 255.
Строковая константа — последовательность символов, заключенных в апострофы.
Например: ' это строковая константа', '272'.
Два следующих друг за другом апострофа ('') обозначают пустую строку, т.е. строку с нулевой длиной.
Строковая переменная описывается в разделе описания переменных:
Var <идентификатор>: string[<максимальная длина строки>];.
Например: Var Name: string[20].
В описании строки можно не указывать длину.
Например:
Var
slovo: string;
В таком случае подразумевается, что она равна максимальной величине — 255.
Элементы строки идентифицируются именем строки с индексом, заключенным в квадратные скобки.
Например: N[5], S[i], slovo[k+l].
Первый символ строки имеет номер 1. Индекс может быть положительной константой, переменной, выражением целого типа. Значение индекса не должно выходить за границы описания.
Тип string и стандартный тип char совместимы. Строки и символы могут употребляться в одних и тех же выражениях.
Операция сцепления (конкатенации) (+) применяется для соединения нескольких строк в одну результирующую строку. Сцеплять можно как строковые константы, так и переменные.
Пример: 'Мама'+' мыла'+' раму'. В результате получится строка: 'Мама мыла раму'.
Длина результирующей строки не должна превышать 255.
Операции отношения: =, <, >, <=, >=, <>. Позволяют произвести сравнение двух строк, в результате чего получается логическое значение (true или false). Операция отношения имеет приоритет более низкий, чем операция сцепления. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в таблице символьной кодировки. Если строки имеют различную длину, но в общей части символы совпадают, считается, что более короткая строка меньше, чем более длинная. Строки равны, если они полностью совпадают по длине и содержат одни и те же символы.
Функция Copy(S, Poz, N) выделяет из строки S подстроку длиной N символов, начиная с позиции Роz. Здесь N и Роz — целочисленные выражения.
Функция Concat(S1, S2.....SN) выполняет сцепление (конкатенацию) строк Sl, S2.....SN в одну строку.
Функция Length(S) определяет текущую длину строки S. Результат — значение целого типа.
Функция Pos(S1, S2) обнаруживает первое появление в строке S2 подстроки S1. Результат — целое число, равное номеру позиции, где находится первый символ подстроки S1. Если в S2 подстроки S1 не обнаружено, то результат равен 0.
Процедура Delete(S, Poz, N) — удаление N символов из строки S, начиная с позиции Poz.
В результате выполнения процедуры уменьшается текущая длина строки в переменной S.
Процедура Insert(S1, S2, Poz) — вставка строки S1 в строку S2, начиная с позиции Роz.