Введение.
Массив – это структурированный тип данных, предназначенный для хранения в памяти компьютера большого количества однородных элементов. Простейшие математические объекты, требующие использования типа массива – вектор или матрица.
Основными характеристиками массива являются его имя, размерность (число элементов), тип элементов и тип индексов.
В общем виде описание типа массива:
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 отсутствуют процедуры и функции обработки массивов. Первый опыт работы с массивами Вами приобретён в прошлом семестре, при разработке процедур вставки, удаления элементов массива, перемножения, транспонирования матриц, решения систем линейных уравнений и решения других задач. Продолжим эту работу. Сначала рассмотрим простейшие алгоритмы сортировок и поиска чисел в массиве.