Строкой в Паскале называется последовательность из определённого количества символов для обработки строковой информации. Кол-во символов в последовательности называется длиной строки.
Типы строк в Паскале:
1. Стандартные (String)
2. Определяемые программистом на основе String
3. Строки в динамической памяти
Строка типа String может содержать до 255 символов. Под каждый символ отводится по одному байту, в котором хранится код символа. Ещё один байт отводится под фактическую длину строки.
Операции над строками:
1. Строки можно присваивать друг другу. Если мах длина результирующей строки меньше длины исходной – лишние символы справа отбрасываются
2. Строки можно склеивать (сцеплять) между собой с помощью операции конкатенации, которое обозначается знаком ‘+’.
3. Строки можно сравнивать друг с другом с помощью операции отношений. При сравнении строки рассматриваются посимвольно слева направо. При этом сравниваются коды соответствующих пар символов. Строки равны, если они имеют одинаковую длины и посимвольно эквивалентны.
Функции для работы со строками:
1. Функция Concat (s1,s2…,sn) возвращает строку, являющуюся слиянием строк s1, s2, …, sn.
2. Функция Copy (s, start, len) возвращает подстроку длинной len, начинающуюся с позиции start строки s. Параметры len и start должны быть целостного.
3. Процедура Delete (s, start, len) удаляет из строки s начиная с позиции start подстроку длиной len.
4. Процедура Insert (subs, s, start) – вставляет в строку s подстроку subs начиная с позиции start.
5. Функция Length (s) возвращает фактическую длину строки s, результат имеет тип byte.
6. Функция Pos (subs, s) ищет вхождение подстроки subs в строку s и возвращает номер первого символа subs в s или 0.
7. Процедура Str (x, s) преобразует числовое значение x в строку s, при этом для x может быть задан как в процедурах вывода byte и writeln.
8. Процедура Val (s, x, errcode) преобразует строку s в значении числовой переменной x, при этом строка s должна содержать символьные представления числа. В случае успешного преобразования переменная errcode будет равна нулю. Если же обнаружена ошибка, то errcode будет содержать номер позиции первого ошибочного символа, а значение x будет неопределенно.