Работа с составными типами данных в системе Turbo Pascal. Батхин А.Б - 8 стр.

UptoLike

Составители: 

Первый символ строковой переменной (индекс 0) содержит динамическую длину
строки; Length(S) тождественно Ord(S[0]). Если атрибуту длины присваивается значение,
то компилятор не проверяет, является ли это значение меньше объявленного размера
строки. Можно указать индекс строки и вне ее текущей динамической длины. В этом
случае считываемые символы будут случайными, а присваивания вне текущей длины не
повлияют на действительное значение строковой переменной.
Приведем пример обработки строки, состоящий в удалении завершающих ее
пробелов.
var
s : string;
begin
.. . . . . . . .
while (length(s) <> 0) and (s[length(s)] = ' ') do
s[0] := chr(length(s) - 1);
.. . . . . . . .
end.
Turbo Pascal позволяет использовать оператор + для объединения двух строко-
вых операндов. Результатом операции S+T, где S и T имеют строковый тип, символьный
тип или упакованный строковый тип, будет конкатенация S и T. Результат будет совмес-
тим с любым строковым типом
(но не с символьным и не с упакованным типом). Если
длина результирующей строки превышает 255 символов, то она усекается до 255 сим-
волов.
3.2. Сравнение строк
Операторы отношения =, <>, <, >, <=, или >= могут применяться для сравне-
ния строк согласно порядку расширенного набора символов кода ASCII. Любые два зна-
чения строковых данных можно сравнить, поскольку все
значения строковых данных
совместимы.
Отношение между любыми двумя строковыми значениями устанавливается со-
гласно отношению порядка между значениями символов в соответствующих позициях. В
двух строках разной длины каждый символ более длинной строки без соответствующе-
го символа в более короткой строке принимает значение "больше"; например, 'xs' боль-
ше, чем 'x'. Пустые строки могут быть
равны только другим пустым строкам, и они явля-
ются строками с наименьшим значением.
Значения символьного типа совместимы со значениями строкового типа, и при их
сравнении символьное значение обрабатывается как строковое значение длиной 1. Ко-
гда со значением строкового типа сравнивается упакованное строковое значение из N
элементов, то оно обрабатывается как значение строкового
типа длиной N.
          Первый символ строковой переменной (индекс 0) содержит динамическую длину
строки; Length(S) тождественно Ord(S[0]). Если атрибуту длины присваивается значение,
то компилятор не проверяет, является ли это значение меньше объявленного размера
строки. Можно указать индекс строки и вне ее текущей динамической длины. В этом
случае считываемые символы будут случайными, а присваивания вне текущей длины не
повлияют на действительное значение строковой переменной.
          Приведем пример обработки строки, состоящий в удалении завершающих ее
пробелов.
          var
                s : string;
          begin
         .. . . . . . . .
          while (length(s) <> 0) and (s[length(s)] = ' ') do
                s[0] := chr(length(s) - 1);
         .. . . . . . . .
          end.
         Turbo Pascal позволяет использовать оператор + для объединения двух строко-
вых операндов. Результатом операции S+T, где S и T имеют строковый тип, символьный
тип или упакованный строковый тип, будет конкатенация S и T. Результат будет совмес-
тим с любым строковым типом (но не с символьным и не с упакованным типом). Если
длина результирующей строки превышает 255 символов, то она усекается до 255 сим-
волов.


                                              3.2. Сравнение строк
          Операторы отношения =, <>, <, >, <=, или >= могут применяться для сравне-
ния строк согласно порядку расширенного набора символов кода ASCII. Любые два зна-
чения строковых данных можно сравнить, поскольку все значения строковых данных
совместимы.
          Отношение между любыми двумя строковыми значениями устанавливается со-
гласно отношению порядка между значениями символов в соответствующих позициях. В
двух строках разной длины каждый символ более длинной строки без соответствующе-
го символа в более короткой строке принимает значение "больше"; например, 'xs' боль-
ше, чем 'x'. Пустые строки могут быть равны только другим пустым строкам, и они явля-
ются строками с наименьшим значением.
          Значения символьного типа совместимы со значениями строкового типа, и при их
сравнении символьное значение обрабатывается как строковое значение длиной 1. Ко-
гда со значением строкового типа сравнивается упакованное строковое значение из N
элементов, то оно обрабатывается как значение строкового типа длиной N.