Строка
(строковый тип данных) – это
последовательность символов
кодовой таблицы ПК. Количество символов в
строке (длина строки) может лежать в
диапазоне от 0 до 255. Для определения данных
строкового типа используется
идентификатор string,
за которым следует значение максимальной
длины строки данного типа (заключается в
квадратные скобки).
Строковые
данные могут использоваться в качестве
констант. Строковая константа –
последовательность символов, заключенная в
апострофы. Например, ‘237’, ‘это строковая
константа’.
Переменную
строкового типа можно определить
в разделе описания переменных:
Var
<имя>: string[<максимальная
длина строки>].
Например,
var Name: string[20]. В
описании строки можно не указывать длину, в
этом случае она равна максимальной
величине – 255. Элементы строки определяются
именем строки с индексом, заключенным в
квадратные скобки. Например, N[5].
Первый символ строки имеет номер 1 и т.д.
Можно сказать, что строка представляет
собой одномерный массив, элементами
которого являются символы. Тип string
и тип char
совместимы, они могут употребляться в одних
и тех же выражениях.
Выражения,
в которых операндами служат строковые
данные, называются строковыми. Они могут
состоять из строковых констант, переменных,
знаков операций. Над этими данными
допустимы операция сцепления (конкатенация)
и операции отношения.
Операция
сцепления (+) применяется для соединения
нескольких строк в одну строку. Сцеплять
можно и константы, и переменные. Длина
результирующей строки не должна превышать
255 символов.
Операции
отношения (=, <>, >, <, <=, >=) проводят
сравнение двух строк и имеют приоритет
более низкий, чем операция конкатенации.
Сравнение строк производится слева направо
до первого несовпадающего символа. Строка
считается больше, если в ней первый
несовпадающий символ имеет больший номер в
таблице кодов.
Например,
‘MS-DOS’<’MS-Dos’.
Если строки имеют различную длину, но в
общей части символы совпадают, то более
короткая строка меньше.
Например,
‘Компьютер’<’Компьютер
’.
Строки равны, если они
полностью совпадают.
Например,
‘Маска’ = ’Маска’.
Для обработки строковых данных можно
использовать специальные процедуры и
функции.
Процедура
Delete(St,
poz,
n)
– удаление n
символов строки St,
начиная с позиции Poz.
Пример
Значение
St |
Выражение |
Результат |
‘абвгде’ |
Delete(St,
4, 2); |
‘абве’ |
‘река
Волга’ |
Delete(St,
1, 5); |
‘Волга’ |
Процедура
Insert
(S1,
S2,
Poz)
– вставка строки S1
в строку S2,
начиная с позиции Poz.
Пример
Значение
S1 |
Значение
S2 |
Оператор |
Результат |
‘
ЕС ’ |
‘ЭВМ1841’ |
Insert
(S1, S2, 4); |
‘ЭВМ
ЕС 1841’ |
‘
N’ |
‘
Рис. 2’ |
Insert
(S1, S2 , 6); |
‘
Рис. N2’ |
Процедура
Str(N,St)
– преобразование числового значения N
в строковый и помещение результата в строку
St.
Пример
Значение
N |
Выражение |
Результат |
1500 |
Str
(N:6,St); |
‘
1500’ |
Процедура
Val(St,
N,Code)
– преобразует значение St в величину
целочисленного или вещественного типа и
помещает результат в N. Code – целочисленная
переменная. Если во время операции
преобразования ошибки не обнаружено,
значение Code равно 0, если же обнаружена
ошибка, то Code будет содержать номер позиции
первого ошибочного символа, а значение N
не определено.
Пример
Значение
St |
Выражение |
Результат |
‘1500’ |
Val(St,
N,Code); |
Code=0 |
’14.2A+02 |
Val(St,
N,Code); |
Code=5 |
Функция
Copy(S,
Poz,
N)
– выделяет из строки S
подстроку длиной N
символов, начиная с позиции Poz.
Пример
Значение
S |
Выражение |
Результат |
‘Мама
мыла раму’ |
Copy(S,
6, 4); |
‘мыла’ |
Функция
Concat(S1,S2,…,Sn)
– выполняет сцепление строк S1,S2,…,Sn
в одну строку.
Пример
Выражение |
Результат |
Concat(‘Мама
’,’мыла ’,’раму’) |
‘Мама
мыла раму’ |
Функция
Length(S)
– определяет текущую длину строки S.
Пример
Значение
S |
Выражение |
Результат |
‘1500
символов’ |
Length(S) |
13 |
Функция
Pos(S1,S2)
– определяет первое появление в строке S2
подстроки S1.
Пример
Значение
S2 |
Выражение |
Результат |
‘abcdef’ |
Pos(‘cd’,S2) |
3 |
‘abcdef’ |
Pos(‘k’,S2) |
0 |
Функция
UpCase
(ch)
– преобразует строчную букву в прописную.Обрабатывает
буквы только латинского алфавита.
Пример
Значение
Ch |
Выражение |
Результат |
‘d’ |
UpCase
(ch) |
‘D’ |
Пример.
Из данной символьной строки выбрать все
цифры и сформировать другую строку из этих
цифр, сохранив их последовательность.
Program
Stroki;
Var
S1, S2:string;
Begin
Write(‘Введите
строку’);
Readln(S1);
S2:=
‘ ‘;
For
i:=1 to length(S1) do
If
(S1[i]>=’0’) and (S1[i]<=’9’)
Then S2:=S2+S1[i];
Writeln(‘Результат’,
S2)
End.
<<<Предыдущий урок | К содержанию | Следующий урок>>>