пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

ВОПРОС 8. ПОНЯТИЕ И ТИПЫ МАССИВОВ. ИХ ОБЪЯВЛЕНИЕ

Массив - это составной тип данных, состоящий из фиксированного числа элементов одного и того же типа. Для описания массива предназначено словосочетание array of. После слова array в квадратных скобках записываются границы массива, а после слова of - тип элементов массива, например:

type

 TStates = array[1..50] of string;

 TCoordinates = array[1..3] of Integer;

 

После описания типа можно переходить к определению переменных и типизированных констант:

 var

 States: TStates; [ 50 strings ]

 const

 Coordinates: TCoordinates = (10, 20, 5); [3 integers ]

 

Обратите внимание, что инициализация элементов массива происходит в круглых скобках через запятую.

 Массив может быть определен и без описания типа:

 var

 Symbols: array[0..80] of Char; [ 81 characters ]

 

Чтобы получить доступ к отдельному элементу массива, нужно в квадратных скобках указать его индекс, например

 Symbols[0]

 Объявленные выше массивы являются одномерными, так как имеют только один индекс. Одномерные массивы обычно используются для представления линейной последовательности элементов. Если при описании массива задано два индекса, массив называется двумерным, если n индексов - n-мерным. Двумерные массивы используются для представления таблицы, а n-мерные - для представления пространств. Вот пример объявления таблицы, состоящей из 5 колонок и 20 строк:

var

 Table: array[1..5] of array[1..20] of Double;

То же самое можно записать в более компактном виде:

 var

 Table: array[1..5, 1..20] of Double;

Чтобы получить доступ к отдельному элементу многомерного массива, нужно указать значение каждого индекса, например

 Table[2][10]

 или в более компактной записи

 Table[2, 10]

 Эти два способа индексации эквивалентны.

 

По признаку размещения в памяти массивы подразделяются на статические (static) и динамические (dynamic).

Статические массивы. Эти массивы объявляются с помощью такого формата:

array [indexType 1 , ..., indexType n ] of baseType

Каждый из типов indexType должен быть порядкового типа, диапазон которого не должен превосходить 2 Гбайт.

Динамические массивы. Эти массивы, впервые введенные в Delphi 4, не имеют фиксированного размера или длины. Память для них перераспределяется с помощью процедуры SetLength. Динамические массивы объявляются с использованием формата array of baseType, например

var MyFlexibleArray: array of Real;

Многомерные динамические массивы (multidimensional dynamic arrays).Для их объявления итеративно используется конструкция array of ... . Например, описание

type TMessageGrid = array of array of string;

var Msgs: TMessageGrid;


11.01.2015; 20:12
хиты: 61
рейтинг:0
Точные науки
информатика
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь