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