Обучение начальных курсов методам программирования на языке Turbo Pascal — страница 2

  • Просмотров 2714
  • Скачиваний 360
  • Размер файла 11
    Кб

┌─────────┐ ┌───┐ индекс ──>│ [ ├───────>│выражение├────┬──>│ ] ├──> └───┘ ^ └─────────┘ │ └───┘ │ ┌───┐ │ └───────┤ , │<───────┘ └───┘ Индексные выражения обозначают

компоненты в соответствующей размерности массива. Число выражений не должно превышать числа индексных типов в описании массива. Более того, тип каждого выра- жения должен быть совместимым по присваиванию с соответствующим индексным типом. В случае многомерного массива можно использовать несколько индексов или несколько выражений в индексе. Например: Matrix[I][J] что тождественно записи: Matrix[I,J] Строковую переменную можно

проиндексировать с помощью оди- ночного индексного выражения, значение которого должно быть в ди- апазоне 0...n, где n - указанный в описании размер строки. Это дает доступ к каждому символу в строковом значении, если значение символа имеет тип Char. Первый символ строковой переменной (индекс 0) содержит дина- мическую длину строки, то есть Length(S) тождественно Ord(S[0]). Если атрибуту длины присваивается значение, то компилятор не про-

веряет, является ли это значение меньшим описанного размера стро- ки. Вы можете указать индекс строки и вне ее текущей динамической длины. В этом случае считываемые символы будут случайными, а присваивания вне текущей длины не повлияют на действительное зна- чение строковой переменной. Когда с помощью директивы компилятора {$X+} разрешен расши- ренный синтаксис, значение PChar может индексироваться одиночным индексным выражением

типа Word. Индексное выражение задает смеще- ние, которое нужно добавить к символу перед его разыменованием для получения ссылки на переменную типа Char. Открытые параметры позволяют передавать одной и той же про- цедуре или функции строки и массивы различных размеров. Открытые строковые параметры могут описываться двумя спосо- бами: - с помощью идентификатора OpenString; - с помощью ключевого слова string в состоянии {$P+}. Идентификатор

OpenString описывается в модуле System. Он обозначает специальный строковый тип, который может использовать- ся только в описании строковых параметров. В целях обратной сов- местимости OpenString не является зарезервированным словом и мо- жет, таким образом, быть переопределен как идентификатор, задан- ный пользователем. Когда обратная совместимость значения не имеет, для измене- ния смысла ключевого слова string можно использовать директиву