В TP существуют ограничения на длину строки (не более 255 символов). Если вы используете компиляторы Free Pascal или Delphi (именно они используются в тестирующих системах популярных сайтов), то там таких жестких ограничений нет.
Описание в программе:
Var S: String;
R: String[10];
Принципиальным отличием первого описания от второго является то, что при первом случае описания максимальная длина строки составляет 255 символов, а во втором – 10.
Строка в памяти размещается последовательно символ за символом, нулевой байт строки содержит текущую длину строки в символьном типе.
7.2. Стандартные функции для работы со строками:
1. Функция Length (S) – возвращает текущую длину строки.
S:='дом на траве'; L:=Length(S); - L=12
2. Функция Copy (S, k, n) копирует часть S строки из n символов, начиная k–го символа. Длина строки S не изменяется.
После выполнения операторов
S:='дом на траве'; S1:=Copy(S, 5, 8);
S1 получит значение S1='на траве'
3. Функция Pos (s1, S) – возвращает первое вхождение подстроки в строку.
После выполнения операторов
S:='гиппопотам'; p:=Pos('по', S);
p получит значение p=4. С четвертой позиции начинается первый слог 'по'.
4. Процедура Delete (S, k, n) – удаляет n символов из строки S, начиная с k-го.
После выполнения операторов
S:='на дворе трава, на траве дрова'; Delete(S, 10,16);
S изменится и будет S='на дворе дрова'
5. Процедура Insert (r, S, n) – вставляет r в S с позиции n.
После выполнения операторов
S1:='ике'; S:='на дворе дрова'; Insert(S1, 8);
S изменится и будет S='на дворике дрова'
6. Процедура Str (x[:6:2],S) – преобразует число x в строку S с указанным форматом. Пример ниже поясняет работу функции.
Var k: integer;
x: real;
Begin
x:=37.289; Str(x:6:2, S); {результат S=' 37.29'}
k:=37; Str(x, S); {результат S='37'}
End.
7. Процедура Val (S, x, Error) – преобразует строку S в число x, если строка S не содержит недопустимых для числа символов, то Error = 0.