Операции над строками.

Работа со строками

Строка — упорядоченная последовательность символов. Строковый тип данных — структурированный тип в Турбо-Паскале. Каждый символ строковой величины занимает 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.