Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Подготовка к экзамену по Делфи.docx
Скачиваний:
7
Добавлен:
21.04.2019
Размер:
141.62 Кб
Скачать

27. Массив как тип данных, определение, назначение, структура. Объявление и программирование ввода-вывода одномерного, двух и многомерного массивов. Примеры применения в программах.

Массивом называется упорядоченная индексированная совокупность однотипных элементов, имеющих общее имя. Элементами массива могут быть данные различных типов, включая структурированные. Каждый элемент массива однозначно определяется именем массива и индексом (номером этого элемента в массиве) или индексами, если массив многомерный. Для обращения к отдельному элементу массива указываются имя этого массива и индекс (индексы) элемента, заключенный в квадратные скобки, например, arr1 [3, 35], arr1 [3] [35] или аrr3 [7].

Количество индексных позиций определяется размерностью массива (одномерный, двумерный и т. д.), при этом размерность не ограничивается. В математике аналогом одномерного массива является вектор, а двумерного— матрица. Индексы элементов массива должны принадлежать порядковому типу. Разные индексы одного и того же массива могут иметь различные типы. Чаще всего индекс имеет целочисленный тип.

Различают массивы статические и динамические.

Статический массив представляет собой массив, границы индексов и, соответственно, размеры которого задаются при объявлении, т. е. они известны еще до компиляции программы. Формат описания типа статического массива:

Определение типа статического массива

   

  1. Array [Имя массива] of <Тип элементов>;

Например,

Определение типа статического массива

   

  1. Type tm = Array[1 .. 10, 1 .. 100] of real;

...

Определение типа статического массива

   

  1. var

  2. arr1, arr1 : tm;

  3. arr3 : Array[20 .. 100] of char;

  4. arr4 : Array['a' .. 'z'] of integer;

Переменные arr1 и arr2 являются двумерными массивами по 1000 элементов (10 строк х 100 столбцов). Каждый элемент этих массивов представляет собой число типа real. Для объявления массивов arr1 и аrr2 введен специальный тип tm. Переменные аrrЗ и аrr4 являются одномерными массивами длиной в 81 символ и 26 целых чисел соответственно.

Динамический массив представляет собой массив, для которого при объявлении указывается только тип его элементов, а размер массива определяется при выполнении программы. Формат описания типа динамического массива:

Формат описания динамического массива

   

  1. Array of <Тип элементов>;

Во время выполнения программы размер динамического массива задается процедурой SetLength(var S; NewLength: Integer), которая для динамического массива S устанавливает новый размер, равный NewLength. Выполнять операции с динамическим массивом и его элементами можно только после задания размеров этого массива.

После задания размера динамического массива для определения его длины, а также минимального и максимального номеров элементов используются функции Length(), Low() и High() соответственно. Нумерация элементов динамического массива начинается с нуля, поэтому функция Low() для него всегда возвращает значение 0.

Приведем пример использования динамического массива.

Динамический массив

   

  1. var

  2. n : integer;

  3. m : array of real;

  4. SetLength (m, 100);

  5. for n:=0 to 99 do m[n] :=n;

  6. SetLength (m, 200);

Объявление массива

Массив, как и любая переменная программы, перед использованием должен быть объявлен в разделе объявления переменных.

В общем виде инструкция объявления одномерного массива выглядит следующим образом: