Операции со строками
Строка- это последовательность символов ASC II . При использовании в выражениях строка заключается в апострофы. Количество символов в строке может динамически изменяться в пределах от 0 до 255. Для определения данных строкового типа используется идентификатор string, за которым следует заключенное в квадратные скобки значение максимально допустимой длины строки данного типа. Если это значение не указывается, то по умалчиванию длина строки принимается равной 255 байт.
var
st1 : string[100];
st2 : string[80];
st3 : string;
Строковые данные могут использоваться в программе в качестве констант, например:
const
address=’ул. ленина, дом 100, кв.3’
Выражения, в которых операндами служат строковые данные, называются строковыми. Они состоят из строковых переменных, констант, указателей и знаков операций. Над строковыми данными допустимо выполнять операции сцепления и отношения.
Операция сцепления (+) применяется для объединения нескольких строк в одну результирующую строку, например:
Выражение Результат
'Turbo'+' Pascal' 'Turbo Pascal'
Операции отношения =, <>, >, <, >=, <= сравнивают строковые операнды и имеют приоритет ниже, чем у операций сцепления. Сравнение строк производится слева направо до первого несовпадающего символа, и больше считается та строка, в которой первый несовпадающий символ имеет больший номер в таблице ASC II. Результат выполнения операций отношения над строковыми операндами имеет булевский тип.
Выражение Результат
‘MS DOS’<’MS Dos’ true
Если строки имеют разную длину, но в общей части символы совпадают, считается, что более короткая строка меньше, чем более длинная. Строки считают равными, если они полностью совпадают по ждлине и содержат одни и те же символы.
Выражение Результат
‘MS DOS’<’MS DOS ’ true
Для присвоения строковой переменной результата строкового выражения используют оператор присвоения (:=).
St1 := ‘MS’;
St2 := ‘DOS’;
St3:=St1+St2;
Если длина переменной после выполнения операции присвоения превышает в описании величину, то все лишние символы отбрасываются.
Вводятся и выводятся строки с помощью стандартных процедур ввода и вывода.
Readln(st);
Writeln(st);
К отдельным символам строки можно обратиться по индексу данного символа в строке. Индекс определяется выражением целочисленного типа, которое записывается в квадратных скобках сразу после идентификатора строковой переменной или константы. Например: Address[4] обеспечивает доступ к четвертому символу ’Л’, Address[11] – к одиннадцатому символу ’д’.
При помощи записи Address[0] можно получить доступ к нулевому байту, содержащему текущую длину строки. Значение текущей длину строки, можно получить и с помощью функции length(st)
Все остальные действия над строками и символами реализуются с помощью описываемых ниже стандартных процедур и функций.