Операция сцепления (конкатенации) (+) применяется для соединения нескольких строк в одну результирующую строку. Сцеплять можно как строковые константы, так и переменные,
Пример:
'Мама'+' мьла'+' раму' . В результате получится строка: 'Мама мыла раму'. Длина результирующей строки не должна превышать 255.
Операции отношения
Операции отношения: =, <, >, <=, >=, <>. Позволяют произвести сравнение двух строк, в результате чего получается логическое значение (true или false), Операция отношения имеет приоритет более низкий, чем операция сцепления. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в таблице символьной кодировки. Если строки имеют различную длину, но в общей части символы совпадают, считается, что более короткая строка меньше, чем более длинная. Строки равны, если они полностью совпадают по длине и содержат одни и те же символы.
Пример:
Выражение
Результат
'True1' <'True2'
True
' Mother' >' MOTHER'
True
True
'Мама' <> ' Мама'
True
Тгие
True
'Cat' = 'Cat'
True
True
Функция Сору
Функция Сору позволяет копировать фрагмент некоторой строки из одной переменной в другую. Вызывая функцию Сору, необходимо указывать следующие параметры;
• имя строки, из которой должен извлекаться копируемый фрагмент,
• позицию в строке, начиная с которой будет копироваться фрагмент,
• число копируемых символов.
Сообщения об ошибке не будет, если начальная или конечная позиции копируемого фрагмента находятся вне пределов исходной строки символов. Результатом выполнения операции в первом случае будет строка нулевой длины, во втором — фрагмент от начальной позиции копирования до конца исходной строки.
Функция Сору(S, Pos, N) выделяет из строки S подстроку длиной N символов, начиная с позиции Pos. Здесь N и Pos – целочисленные выражения.
Пример:
Значение S
Выражение
Результат
' Мама мыла раму'
Сору (S, 6,4)
'мыла'
'Маша ела кашу'
Сору(S, 1,8)
'Маша ела'
PROGRAM function_Copy;
VAR Word : STRING[20];
word1, word2, word3 : STRING[20];
BEGIN
Word:=’форматирование’;
Writeln (Word);
Word1 :=copy (Word, 1, 5);
Writeln (Word1); {на экран выводится форма}
Word2 :=copy (Word, 6, 3);
Writeln (Word2); {на экран выводится тир}
Word3 :=copy (Word, 8, 3);
Writeln (Word3); {на экран выводится ров}
END.
Функция Concat
Функция Concat(S1, S2, …, Sn) выполняет сцепление (конкатенацию) строк S1, S2, …, Sn в одну строку.
Пример:
Выражение
Результат
Concat ( 'Маша ',' ела ',' кашу' )
' Маша ела кашу'
PROGRAM function_Concat;
VAR slovo, s1, s2, s3 : STRING;
BEGIN
Writeln(’введите слово’);
Readln(s1);
Writeln(’введите слово’);
Readln(s2);
Writeln(’введите слово’);
Readln(s3);
slovo:= concat(s1, s2, s3);
Writeln(slovo);
Readln;
END.
Функция Length
Встроенная функция Length (длина) позволяет определить фактическую длину текстовой строки, хранящейся в указанной переменной (а не величину предельного размера строки, установленную при декларации).
При подсчете фактической длины строки учитываются все входящие в нее символы, в том числе и пробелы.
Функция Length(S) определяет текущую длину строки S. Результат — значение целого типа.
Пример:
PROGRAM function_Length;
VAR Words : STRING;
BEGIN
Writeln(’введите слово’);
Readln(Words);
Writeln(’слово состоит из ’, Length (Words),’букв. ’);
END.
Функция Pos
С помощью функции Poz можно осуществить в некоторой строке поиск определенного фрагмента. Если заданный фрагмент в строке присутствует, то функция возвращает номер позиции в строке, с которой этот фрагмент начинается. Если фрагмент в строке не найден, то функция возвращает 0.
Функция Pos требует полного совпадения искомого фрагмента и фрагмента строки, в которой производится поиск. Причем большие и маленькие буквы считаются различными символами(«К»не идентично«к»).
Функция Pos(S1, S2) обнаруживает первое появление в строке S2 подстроки S1. Результат – целое число, равное номеру позиции, где находится первый символ подстроки S1. Если в S2 подстроки S1 не обнаружено, то результат равен 0.
Пример:
PROGRAM function_Pos;
VAR Words : STRING[50];
Search_Word : STRING[20];
Position : INTEGER;
BEGIN
Position := Pos(Serch _Word, Words);
Writeln(Position );
END.
Процедура Delete
Процедура Delete удаляет в исходной строкe фрагмент определенной длины, начинающийся с указанной позиции. Так, оператор Delete(Words,2,3); удаляет из строки Words фрагмент, состоящий из трех символов и начинающийся со второй позиции.
Процедура Delete(S, Poz, N) - удаление из строки S начиная с позиции Poz N символов,.
Пример:
Исходное значение S
Оператор
Конечное значение S
' abcdefg '
Delete ( S, 3, 2 )
' abef '
' abcdefg '
Delete( S, 2, 6 )
' а '
В результате выполнения процедуры уменьшается текущая длина строки в переменной S.
Процедура Insert
Процедура Insert вставляет в исходную строку, начиная с указанной позиции, другую строку. Оператор Insert(Word1, Words,4); указывает, что необходимо вставить строку Word1 в строку Words, начиная с 4-й позиции (перед ней). Процедура Insert (S1, S2, Poz) – вставка строки S1 в строку S2, начиная с позиции Poz.
Пример:
Исходное значение S2
Оператор
Конечное значение S2
'ЭВМ РС'
Insert (' IВМ-' , S2, 5)
' ЭВМ IВМ-РС'
'Рис. 2'
Insert('N' ,S2, 6)
' Рис . N2 '
PROGRAM procedura _Insert_i_Delete;
VAR words : STRING[20];
word1 : STRING[20];
BEGIN
Word:=’математика’;
Writeln (Word);
Delete(word, 1, 2);
Writeln (Word); {на экран выводится тематика}
Delete(word, 5, 4);
Writeln (Word); {на экран выводится тема}
Word1:=’сис’;
Insert (word1,word, 1);
Writeln (Word); {на экран выводится система}
END.
Функция UpCase
Функция UpCas позволяет преобразовывать символ любой литеры из строчного в прописной. Эта функция рассчитана на обработку отдельного символа. Поэтому для обработки строки символов с помощью этой функции приходится организовывать цикл.