Под Массивом понимается конечная совокупность данных одного типа, упорядоченных по значениям индекса. Каждый элемент массива обозначается именем массива с индексом.
Массив – структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип. Элементы, образующие массив, упорядочены таким образом, что каждому элементу соответствует номер (индекс), определяющий его местонахождение в общей последовательности.
Массивы бывают линейными (одномерные) и прямоугольные (двумерные).
Одномерный массив – это пример массива, в котором элементы массива нумеруются одним индексом.
Если в массиве хранится таблица значений, то такой массив называется двумерным, его элементы нумеруются двумя индексами – номером строки и столбца соответственно.
Перед использованием массив, как и любая переменная, должен быть объявлен в разделе объявления переменных.
Описание массивов может быть прямое или через описание типов Тype.
1) Прямое описание – через раздел описания переменных:
|
|
Var – идентификатор, идентификатор, …, идентификатор:
array – [границы индекса, границы индекса, …, границы индекса] of – базовый тип.
В общем виде объявление массива выглядит:
1. Для одномерного массива:
Имя: array[нижняя граница индекса..верхняя граница индекса] of тип
2. Для двумерного массива:
Имя: array[нижняя граница индекса1.. верхняя граница индекса1, нижняя граница индекса2..верхняя граница индекса2] of тип
где имя – имя массива;
нижняя граница индекса и верхняя граница индекса – целые числа, определяющие диапазон изменения индексов (номеров) элементов массива и, неявно, количество элементов (размер) массива;
тип – тип элементов массива.
Примеры объявлений массивов приведен в таблице И.1.
Таблица И.1 - Примеры
Объявление массивов с среде TurboPascal | Результат |
var A: array[1..10] of real; i:integer; {индекс элемента массива} | Объявление одномерного массива, состоящего из 10 элементов вещественного типа |
var A: array[1..9] ofstring; i:integer; {индекс элемента массива} | Объявление одномерного массива, состоящего из 9 слов. Элементы массива строкового типа указываются в апострофах (например, ‘Иванов’). |
const N=5; var А:array[1..N] of integer; i:integer; {индекс элемента массива} | Объявление одномерного массива с указанием верхней границы индекса через переменную N, состоящего из N=5 элементов целого типа |
var B: array[1..10,1..5] ofreal; i:integer; {индекс 1 элемента массива (строки)} j:integer; {индекс 2 элемента массива (столбца)} | Объявление двумерного массива, состоящего из 50 элементов вещественного типа |
const N=2; M=3; var B:array[1..N,1..M] of integer; i:integer; {индекс 1 элемента массива (строки)} j:integer; {индекс 2 элемента массива (столбца)} | Объявление двумерного массива, с указанием верхней границы индекса 1 через переменную N и верхней границы индекса 2 через переменную M, состоящего из NxM (2х3) элементов целого типа |
2) Описание через Тype – через раздел описания типов:
|
|
Тype E – имя типа=array[границы индекса, границы индекса,..., границы индекса] of базовый тип;
Var – идентификатор, идентификатор,.., идентификатор: имя типа;
Например:
type massiv = array [1..40] of integer;
var massiv;
Чтобы в программе использовать элемент массива, надо указать имя массива и номер элемента (индекс), заключив его в квадратные скобки, индекс может быть константой или выражением целого типа.
Например:
А[i]:=1; {Присвоение i-му элементу одномерного массива значения 1}
F[i,j]:=10;{Присвоение элементу i-ой строки и j-ом столбце двумерного массива значения 10}
massiv[5]:=’Иванов’; {Присвоение 5-му элементу одномерного массива значения Иванов}
К типичным действиям с массивами можно отнести следующие:
- Вывод массива;
- Ввод массива;
- Сортировка массива;
- Поиск в массиве заданного элемента;
- Поиск в массиве максимального и минимального элемента.