Лекция: Особенности работы со строками
1. Строку можно вводить и выводить как единое целое с помощью операторов readln, writeIn, например:
read (st); writeln (¢пример¢);
2. Значением строки может быть любая последовательность символов, заключенная в апострофы:
А:=¢abcd1¢;В:=¢¢; {пустая строка}
3. Для строк применима операция слияния.
Слияние строки записывается в естественном виде. Если сумма получается длиннее, чем описанная длина левой части оператора присваивания, излишек отсекается.
var S1, S2, S3,: string;
………………………………….
S1 := ¢Вам¢;
S2 := ¢привет!';
S3 := S1 + S2; {S3 =¢Вам привет!¢}
……………………..
4. Сравнение строк происходит посимвольно, начиная от первого символа в строке. Строки равны, если имеют одинаковую длину и посимвольно эквивалентны.
Результат выполнения операций отношения над строками всегда имеет логический тип и принимает значение True, если выражение истинно, и False, если выражение ложно.
| ¢abcd¢ =¢abcd¢ | true, |
| ¢abсd¢ <>¢abcde¢ | true, |
| ¢abсd¢<> ¢abcd¢ | false. |
Если при посимвольном сравнении окажется, что один символ больше другого (его код больше), то строка, его содержащая, тоже считается большей. Остаток строк и их длины не играют роли. Любой символ всегда больше «пустого места»:
| ¢abcd¢ >¢abcD¢ | (так как ¢d¢ > ¢D¢) |
| ¢abсd¢ >¢abc¢ | (так как ¢d¢ > ¢ ¢) |
| ¢aBсd¢< ¢ab¢ | (так как ¢B¢ < ¢b¢) |
Можно, конечно, использовать и нестрогие отношения:
>= или <=.
5. Строку можно рассматривать как массив, состоящий из отдельных символов, например, описания
st: string [25]; и st: array [0..25] ofchar; идентичны.
Нулевой символ предназначен для указания количества символов в строке и может изменяться от символа с кодом 0 до символа с кодом N. С ним можно работать, как и с остальными символами строки:
N := ord(A[0]); где N –длина строки А.
6. Отдельный символ строки совместим с типом char:
var В : string; S: char;
B := ¢Hello¢;
S := B[1]; {S = ¢H¢}
В[2] := ¢o¢; {В =¢Hоllo¢}
Для работы со строками в TURBO PASCALе реализовано большое количество стандартных процедур и функций.