Массивы - это совокупности однотипных элементов. Характеризуются
они следующим:
каждый компонент массива может быть явно обозначен и к нему
имеется прямой доступ;
число компонент массива определяется при его описании и в
дальнейшем не меняется.
Для обозначения компонент массива используется имя переменной-массива и
так называемые индексы, которые обычно указывают желаемый элемент.
Тип индекса может быть только порядковым (кроме 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;
Знаете ли Вы, что Программный сниппет (англ. snippet — фрагмент, отрывок) в практике программирования — небольшой фрагмент исходного кода или текста, пригодный для повторного использования. Сниппеты не являются заменой процедур, функций или других подобных понятий структурного программирования. Они обычно используются для более лёгкой читаемости кода функций, которые без их использования выглядят слишком перегруженными деталями, или для устранения повторения одного и того же общего участка кода. Интегрированные среды разработки (IDE) содержат встроенные средства для ввода конструкций языка. Например, в Microsoft Visual Studio, Borland Developer Studio, для этого необходимо ввести ключевое слово и нажать определённую клавишную комбинацию. В IDE Geany существует специальный файл snippets.conf (путь к файлу: /home/user/.config/geany) позволяющий создавать свои сниппеты. Другие программы, такие как Macromedia Dreamweaver и Zend Studio, позволяют использовать сниппеты в Веб-программировании.