Строки в Pascal

В Pascal существует специальный тип данных для упрощения работы со строками, называемый – строковым. Он специально разработан для обработки информации, представленной символами.
 
Var st : String ; {символьная строка длиной 255 байт}
Переменная st определяется как строка символов, содержащая максимальное количество элементов (256). Каждый символ занимает 1 байт.
Строка представляет собой одномерный массив из символов. Индексы в нем начинаются не с единицы, а с нуля. В нулевом байте строкового типа данных содержится номер количества символов в строке.
 
st1 : String [10] ;
{символьные строки длиной  10 байт}

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

Доступ к символам строки в Pascal.

Доступ к символа строк реализуется также, как и в массиве. Например st[i] или s[i]. Так как строки является разновидностью массива, то они могут обрабатываться по правилам обработки массива -
For i := 1 To length(st) Do
Строки в Pascal вводятся с помощью оператора
For i := 1 To length(st) Do
Readln(st);
и выводятся
Writeln(st);
Над переменной строкового типа данных могут применяться операции сравнения и сцепления. Операция присвоения стандартна, и реализуется так:
S1 :=  'Stroka' ;
{присваиваем строке значение строковой константы}
S2 := 'Z' ;
{присваиваем строке значение символа}
S := S1 ; {переписываем одну строку в другую}

Сцепление строк.

Сцепление используется, когда необходимо соединить две строки в одну или присоединить к строке какой-либо символ. При этом длина строки становится равной сумме двух данных.
Пример:
'abc' + 'def' {получаем ' abcdef'}

Отношения строк.

Над строками можно выполнять операции отношения: = , <> , >, <, >=, <=. Сравнение происходит по кодам символов в таблице ASCII. Больше та строка, чей символ (неравный символу другой строки) больше чем сравниваемый.

Специальные функции строки в Pascal

При работе со строками в Pascal, применяются специальные функции, работающие только с ними.

  1. Функция Length(st):word - возвращает длину строки st.
  2. Процедура Delete(sU index, count) - удаляет count символов строки st, начиная с символа с номером index.
  3. Процедура Insert(St2,Stl,index) - вставляет подстроку символов St2 в строку Stl, начиная с символа с номером index. Процедура обычно используется при формировании строк, включающих числовую информацию.
  4. Процедура Str(x[:w [:d]], St) - преобразует результат выражения x в строку st, содержащую запись этого числа в виде последовательности символов (как при выводе).
  5. Процедура Val(St, х, Code) - преобразует строку St с записью числа в виде последовательности символов во внутреннее представление целого или вещественного числа и помещает его в переменную х.
  6. Функция Copy(St,index,count):string - возвращает фрагмент строки St длиной count символов, начиная с символа с номером index.
  7. Функция Pos(St2,Stl):integer - возвращает номер позиции первого вхождения подстроки St2 в строку Stl. Если вхождение не найдено, то функция возвращает 0.