Введение.

Массив – это структурированный тип данных, предназначенный для хранения в памяти компьютера большого количества однородных элементов. Простейшие математические объекты, требующие использования типа массива – вектор или матрица.

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

В общем виде описание типа массива:

 

Type <имя типа массива>=array [<тип индексов>] of <тип элемента>;

 

Здесь array – зарезервированное слово языка. В качестве индексов может использоваться любой порядковый тип. Тип элементов массива может быть любым.

Размер массива не должен превышать 65520 байт и определяется на этапе компиляции программы, поэтому диапазон изменений индексов должен задаваться через ранее определенную константу. Например,

 

сonst n=100;

type size=0..n;

vector=array[size] of real;

 

Здесь vector – идентификатор введенного нами типа массива, состоящего из (n+1) компонентов типа real. Заметим, что индексы массивов не обязательно отсчитываются от единицы. Вообще принцип индексирования массивов имеет глубокую внутреннюю связь с механизмом счетного цикла for.

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

 

var a:array[1920..2002] of integer;

b:array[byte] of extended;

 

Однако в этом случае его применение в программе ограничено. Так, например, нельзя использовать его в качестве параметров процедур и функций.

Количество индексов определяет n-мерность массива. Одномерный массив (n=1) соответствует понятию вектора, двумерный (n=2) – матрицы или прямоугольной таблицы, трехмерный (n=3) – набору матриц. Многомерный массив представляет собой чистую абстракцию, и в памяти компьютера хранится в виде линейной последовательности значений.

Стандартные функции Low и High возвращают минимальное и максимальное значения индекса массива.

К основным алгоритмам работы с массивами относятся: формирование и преобразование массивов, выборка, поиск и сортировка его элементов. В стандартных модулях среды Turbo Pascal отсутствуют процедуры и функции обработки массивов. Первый опыт работы с массивами Вами приобретён в прошлом семестре, при разработке процедур вставки, удаления элементов массива, перемножения, транспонирования матриц, решения систем линейных уравнений и решения других задач. Продолжим эту работу. Сначала рассмотрим простейшие алгоритмы сортировок и поиска чисел в массиве.