Строки
Строка - последовательность любых символов кодовой таблицы персонального компьютера. При использовании в выражениях строка заключается в апострофы. Для определения данных строкового типа используется идентификатор string, за которым может следовать в квадратных скобках значение длины строки. Если это значение не указано, то по умолчанию длина строки равна 255 байт.
Переменную строкового типа можно определить через описание в разделе описания переменных.
Строковые данные могут использоваться в программе также в качестве констант.
К любому символу в строке можно обратиться, указав имя строки и номер символа в квадратных скобках.
Операции над строками
Над строковыми данными допустимы операции сцепления и операции отношения.
Операция объединения (+) применяется для объединения нескольких строк в одну, присоединяя начало второй строки к концу первой, начало третьей строки к концу второй и т. д. Для данной операции существует нейтральный элемент, не влияющий на ее результат, - это строка нулевой длины (пустая строка), обозначаемая двумя рядом стоящими апострофами (‘ ‘). Такую строку можно присоединить к любой строке справа или слева и строка не изменится. В операциях сцепления длина результирующей строки не должна превышать 255. Операция объединения строк некоммутативная, т. е. a+b≠b+a.
Операции отношения (=, <>, >, <, >=, <=) проводят сравнение двух строковых операндов и имеют приоритет более низкий, чем операция сцепления. Сравнение строк происходит слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в стандартной таблице обмена информацией. Например, ‘program’>’PROGRAM’, ‘MS-DOS’<’MS-Dos’. Если строки имеют различную длину, но в общей части символы совпадают, то короткая строка меньше, чем длинная. Строки считаются равными, если они полностью совпадают по длине и имеют одни и те же символы.
Для присваивания строковой переменной результата строкового выражения используется оператор присваивания (:=). Если значение переменной после выполнения оператора присваивания превышает по длине максимально допустимую при описании величину, все лишние справа символы отбрасываются.
Для обработки строковых данных можно использовать специальные процедуры и функции.
Строковые процедуры и функции
Length (S) – вычисляет текущую длину в символах строки S. Результат имеет целочисленный тип, например:
Значение S |
Выражение |
Результат |
‘1234567’ |
Length (S) |
7 |
‘system 370’ |
Length (S) |
10 |
Delete (S, P, N) – удаление N символов строки S, начиная с позиции Р. Если значение Р>255, возникает программное прерывание.
Значение S |
Выражение |
Результат |
‘абвгде’ |
delete (S, 4, 2) |
‘абве’ |
‘река Волга’ |
delete (S, 1, 5) |
‘Волга’ |
Concat (S1, S2, …, SN) – выполняет сцепление строк S1, S2, …, SN в том порядке, в каком они указаны в списке параметров. Сумма всех сцепленных строк не должна превышать 255.
Insert (S1, S2, P) – вставка строки S1 в строку S2, начиная с позиции Р, например:
S1:=’че’;
S2:= ’знание’;
Insert (S1, S2, 4);
В результате выполнения последнего выражения значение строки S2 станет равным ‘значение’.
Copy (S, P, N) – выделяет из строки S подстроку длиной N, начиная с позиции Р. Если Р>length(S), то результатом будет пробел. Если Р>255, возникнет ошибка при выполнении. P, N – целочисленные выражения.
Pos (S1, S2) – обнаруживает первое появление строки S1 в строке S2. Результат имеет целочисленный тип и равен номеру той позиции, где находится первый символ строки S1.
Значение S2 |
Выражение |
Результат |
‘abcdef’ |
pos (‘de’, S2) |
4 |
‘abcdef’ |
pos (‘r’, S2) |
0 |
Val (S, i, c) – преобразует строковое значение S в величину целочисленного или вещественного типа и помещает результат в i. Значение S не должно содержать незначащих пробелов в начале и в конце. Если во время преобразования ошибки не обнаружено, значение с (целочисленная переменная) равно 0., если ошибка обнаружена (например, литерное значение переводится цифровое), с будет содержать номер позиции первого ошибочного символа, а значение i будет не определено.
Значение S |
Выражение |
Результат |
‘1450’ |
val (S, i, c) |
i=1450 c=0 |
’14.2E+02’ |
val (S, i, c) |
i=14.2E+02 c=0 |
’14.2A+02 |
val (S, i, c) |
i=0 c=5 |
UpCase (S) – преобразует строчные буквы в прописные. Обрабатывает буквы только латинского алфавита.
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.