3. Типы данных
25
следует индекс. Индекс специфицирует компоненту массива. Его тип называется тип
индекса (IndexType). Индексы можно вычислять. Они не так строго фиксированы как в
FORTRAN-е или BASIC-е. Программист может задавать их. Единственное требование к
индексу относится к его типу - он должен быть ординальным, т.е. он не может быть
вещественным. Например, если даны дефиниции:
const AreaLimit = 100;
type AreaIndex = 0..AreaLimit;
 AreaType = array[AreaIndex] of integer;
var I: AreaIndex;
Area: AreaType;
то Area[I] обозначает I-тую компоненту массива Area. Время доступа к любой компоненте
массива не зависит от значения индекса этой компоненты массива. Кроме того, чтобы достичь
I-той компоненты массива, не нужно проходить через все I-1 предыдущие компоненты.
Поэтому говорим, что массив является структурой данных, которая допускает прямой
доступ. Поскольку базовый тип компонент массива (Type) может быть любой тип кроме
файлового, то компоненты массива могут быть и составного типа. В частности, если базовый
тип компонент тоже массивовый, то исходный массив называется многомерным. Например:
var A: array [LoInd1..HiInd1] of
 array [LoInd2..HiInd2] of SomeType;
В этом случае через A[I][J] обозначаем J-тую компоненту (типа Type) I-той
компоненты массива A. Синтаксис языка позволяет записать этот пример короче:
var A: array [LoInd1..HiInd1, LoInd2..HiInd2] of Type;
Компоненты массива можно обозначать и через A[I, J]. Если при описании
массива задано n индексов, то массив называется n-мерным, а его компоненты
обозначаются с помощью n индексных выражений.
Компонентам массива можно присваивать значения того же типа.
Если имеем две переменные-массивы одного типа, то можно одной присвоить
значение другой. Например, если:
var A, B: AreaType;
то возможно присваивание A:= B; и оно означает: 
"Для всех I из диапазона IndexType: A[I]:= B[I]"
Над объектами массивого типа определены и отношения "равно" (=) и различно
(<>). Они применяются для всех компонент объектов и возвращают результат типа
Boolean.
При работе с упакованными массивами с компонентами типа Char существуют
следующие дополнительные возможности. Можно применять все операции сравнения:
=, <>, <, <=, >, >=. Упорядоченность начинается с первой компоненты массива и
определяется порядком, существующим для типа Char.
3.2.2. Стандартный тип STRING
Специфичным одномерным символьным массивом является тип string (строка,
символьная строка). Его длина динамична. Она изменяется от 0 до некоторого
максимального значения, определенного при описании типа и не превышающего 255.
StringType =
'string' [ '[' Constant ']' ].
<<  <  GO  >  >>

Вернуться к началу сайта