В массивы объединены результаты экспериментов, списки фамилий сотрудников, различные сложные структуры данных. Так, список из классного журнала 10 «А» является массивом. В массиве могут быть одинаковые данные, поэтому элементы массива различаются по своим порядковым номерам. Если каждый элемент имеет один порядковый номер, то такой массив называется одномерным, если два — то это таблица из строк и столбцов. Для таблиц первый номер элемента показывает строку, а второй — столбец, на пересечении которых находится элемент. Все строки таблицы имеют одинаковую длину.
Одномерный массив может быть числовой последовательностью с известным количеством членов. Так же, как и в последовательности, в массиве можно указать элемент с конкретным номером, например as, или записать общий вид элемента, используя в качестве индекса переменную и указывая диапазон ее изменения: аi,, i = 1, 2, ..., п.
Задачи на обработку массивов могут иметь различную формулировку. Например, начинаться со слов «Дано n чисел...», а далее говорится, что требуется сделать с этими числами. Чтобы решить такую задачу на компьютере с использованием языка программирования Паскаль, необходимо выполнить следующее:
1) определить, какие числа даны: целые или вещественные (если об этом конкретно не сказано, то лучше считать их вещественными);
2) назвать весь массив одним именем, которое будет использоваться для каждого элемента, только к нему добавится номер этого элемента (индекс);
3) описать массив в разделе переменных var,тем самым отведя место в памяти для массива;
4) ввести данные в память.
В описании массива имеется специальное слово array(массив), после которого в квадратных скобках через две точки указывается диапазон изменения номеров элементов, затем слово of(из) и пишется тип данных массива. Встретив описание массива, транслятор отводит для него столько последовательных ячеек, сколько указано в квадратных скобках, и такого формата, каков тип данных массива. Эту память в программе можно использовать целиком или частично, вычисляя значения элементов массива или вводя их с клавиатуры (либо с диска). Чаще всего номера элементов меняются от 1 до заданного числа п. Поместив значение п в разделе констант (const),в описании можно указать в качестве переменной и последнее значение (верхнюю границу) номера элемента массива.
Пример описания:
const n = 10;
var a: array [1 .. n ] of real;
Это описание означает, что для массива а будет отведено десять ячеек оперативной памяти по шесть байтов каждая. Имена ячеек: а1, а2, ... , a10. В Паскале эти имена будут записаны следующим образом: а[1], ... , а[10].
В описании после имени массива а ставится двоеточие, за которым указывается тип данного — массив. Если в программе несколько массивов одного размера и типа, то, как и для простых переменных, их имена можно перечислить через запятую, а потом, после двоеточия, указать описание массива.
Для ввода данных в память необходимо организовать цикл. Поскольку число повторений ввода данных известно, удобно использовать цикл пересчет.Ввод описанного массива а может иметь вид:
for i: = 1 to n do
read (a[ i ]);
Вводимые значения набираются на клавиатуре через пробел и нажимается < Enter>.
Можно ввод прокомментировать и вводить каждое данное на отдельной строке экрана:
for i: = 1 to n do
Begin
write ('a[', i, '] = ');
readln (a [ i ])
end;
При обработке массивов решения многих задач основываются на следующих, более простых, задачах: вычисление суммы (произведения) элементов массива; нахождение наибольшего (наименьшего) элемента; упорядочение элементов по возрастанию или убыванию. Рассмотрим эти базовые задачи.