Читайте также:
|
|
Задает строковые переменные постоянной длины. Строковая переменная определяется как одномерный массив символов. Например:
Array [1.. N] Of Char
<Тип_индекса> может быть задан только с помощью типа диапазон, где N – длина строки (N ≥ 1), определяемая как целое число без знака.
При таком способе объявления строка обладает всеми свойствами массивов.
Например, строковой переменной можно присвоить значение другой строковой переменной той же длины; возможно обращение к отдельным символам строковой переменной, используя индексные переменные.
Пример 10.14.
Работа со строковыми переменными постоянной длины. Использование свойств строки, аналогичных свойствам массивов.
---------------------------------------------------------
Type
{Одномерный массив символов (строка)}
Stroka = Array [1.. 9] Of Char;
{Двумерный массив символов (одномерный массив строк)}
Stranitca = Array [1.. 30] Of Stroka;
Var
Stroka1, Stroka2: Stroka;
Stranitca1, Stranitca2: Stranitca;
I, K, J: 1..30;
X, Y: Boolean;
Const
Literal = ‘Программа’;
Begin
------------------------------------
{K этому моменту Stroka2 должна быть определена:}
Stroka1:= Stroka2;
{Одной строке может быть присвоено значение другой строки той же
длины. Здесь К-ой строке страницы присваивается значение строки:}
Stranitca1[K]:= Stroka2;
{Обращение к отдельным символам строковой переменной:}
Stroka1[I]:= ‘A’;
Stroka1[J]:= Stroka2[I];
{J-ому символу I-ой строки страницы присваивается значение К-ого
символа строки:}
Stranitca1[I, J]:= Stroka1[K];
------------------------------------
Особенности строковых переменных по сравнению с массивами:
1. Строковым переменным могут быть присвоены значения строковых констант (литералов), если длина строки равна длине литерала.
Пример 10.15.
Применительно к примеру 10.14 можно написать следующие операторы присваивания:
Stroka1:= Literal;
Stranitca[I]:= Literal;
Stroka1:= ‘ПРОГРАММА’;
2. Над значениями строковых переменных одинаковой длины можно выполнять операции сравнения (=, <>, >, <, >=, <=). Сравнение производится посимвольно, начиная с левой стороны до первого несовпадающего символа. Считается большей та строка, в которой первый несовпадающий символ имеет больший номер в коде обмена информацией.
Пример 10.16.
Применительно к примеру 10.14 можно написать следующие операторы присваивания:
X:= Stroka1 = Stroka2;
Если Stroka1 и Stroka2 равны, то X примет значение True, в противном случае – False.
Y:= Stranitca[I] >= Stroka2;
I- ая строка страницы сравнивается со строкой (у них длины должны быть одинаковые).
Строковые переменные различной длины сравнивать нельзя.
Дата добавления: 2014-12-20; просмотров: 30 | Поможем написать вашу работу | Нарушение авторских прав |