Составление и реализация программ с использованием массивов


Массивы - это совокупности однотипных элементов. Характеризуются они следующим:
•    каждый компонент массива может быть явно обозначен и к нему имеется прямой доступ;
•    число компонент массива определяется при его описании и в дальнейшем не меняется.
Для обозначения компонент массива используется имя переменной-массива и так называемые индексы, которые обычно указывают желаемый элемент. Тип индекса может быть только порядковым (кроме longint). Чаще всего используется интервальный тип (диапазон).
Описание типа массива задается следующим образом:

type
   имя типа = array[ список индексов ] of тип


Здесь имя типа - правильный идентификатор; список индексов - список одного или нескольких индексных типов, разделенных запятыми; тип - любой тип данных.
Вводить и выводить массивы можно только поэлементно.
Пример 1. Ввод и вывод одномерного массива.

const
   n = 5;
type
   mas = array[1..n] of integer;
var
   a: mas;
   i: byte;
begin
   writeln('введите элементы массива');
   for i:=1 to n do readln(a[i]);
   writeln('вывод элементов массива:');
   for i:=1 to n do write(a[i]:5);
end.
 

Определить переменную как массив можно и непосредственно при ее описании, без предварительного описания типа массива, например:
var a,b,c: array[1..10] of integer;
Если массивы a и b описаны как:
var
   a = array[1..5] of integer;
   b = array[1..5] of integer;


то переменные a и b считаются разных типов. Для обеспечения совместимости применяйте описание переменных через предварительное описание типа.
Если типы массивов идентичны, то в программе один массив может быть присвоен другому. В этом случае значения всех переменных одного массива будет присвоены соответствующим элементам второго массива.
Вместе с тем, над массивами не определены операции отношения. Сравнивать два массива можно только поэлементно.
Так как тип, идущий за ключевым словом of в описании массива, - любой тип Турбо Паскаль, то он может быть и другим массивом. Например:

type
   mas = array[1..5] of array[1..10] of integer;

Такую запись можно заменить более компактной:
 type
   mas = array[1..5, 1..10] of integer;


Таким образом возникает понятие многомерного массива. Глубина вложенности массивов произвольная, поэтому количество элементов в списке индексных типов (размерность массива) не ограничена, однако не может быть более 65520 байт.
Работа с многомерными массивами почти всегда связана с организацией вложенных циклов. Так, чтобы заполнить двумерный массив (матрицу) случайными числами, используют конструкцию вида: 

for i:=1 to m do
for j:=1 to n do a[i,j]:=random(10);

Для "красивого" вывода матрицы на экран используйте такой цикл:

for i:=1 to m do begin
   for j:=1 to n do write(a[i,j]:5);
   writeln;
end;

Видеоурок (часть 1) с использованием массивов:
 
 
Видеоурок (часть 2) с использованием массивов:

 


автор видео урока Дмитрий Тарасов, 2009

 

Комментариев нет: