Массив - упорядоченная последовательность данных одного типа, объединенных под одним именем.

Под это определение подходит множество объектов из реального мира: словарь (последовательность слов), мультфильм (последовательность картинок) и т. д. Проще всего представить себе массив в виде таблицы, где каждая величина находится в собственной ячейке. Положение ячейки в таблице должно однозначно определяться набором координат (индексов). Самой простой является линейная таблица, в которой для точного указания на элемент данных достаточно знания только одного числа (индекса).

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

Алгоритм решения задач с использованием массивов:

1. описание массива;

2. заполнение массива;

3. вывод (распечатка) массива;

4. выполнение условий задачи;

5. вывод результата.

В структуре программы часто используют раздел описания типов, в котором объявляют пользовательский тип, т.е. тип «придуманный» автором.

Описание типа линейного массива выглядит так:
TYPE

<Имя типа>=Array [<Диапазон индексов>] Of <Тип элементов>;

В качестве индексов могут выступать переменные любых порядковых типов. При указании диапазона начальный индекс не должен превышать конечный. Тип элементов массива может быть любым (стандартным или описанным ранее).

Описать переменную-массив можно и сразу (без предварительного описания типа) в разделе описания переменных:
VAR

<Переменная-массив> : Array [<Диапазон индексов>] Of <Тип элементов>;

 

Элементы массива (тип целые)

-4 -49 -24

1 2 3 4 5 6 7 8 9 10

Индексы элементов (диапазон 1..10)

 

Примеры описания массивов:

VAR

S, BB : Array [1..40] Of Real;

T : Array [1..40] Of Real;

N : Array ['A'..'Z'] Of Integer;

R : Array [-20..20] Of Word;

M : Array [1..40] Of Char;

DD : Array [true..false] Of String;

Теперь переменные S, BB и T представляют собой массивы из сорока вещественных чисел; массив N имеет индексы символьного типа и целочисленные элементы; массив R может хранить в себе 41 число типа Word. Массив DD состоит из двух элементов, каждый из которых является символьной строкой.

Единственным действием, которое возможно произвести с массивом целиком – присваивание: S:=BB;

Однако присваивать можно только массивы одинаковых типов. Даже массиву T присвоить массив S нельзя, хотя, казалось бы, их описания совпадают, произведены они в различных записях раздела описания.

S:=T; BB:=T;

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

R[10] - элемент массива R с индексом 10.

Фундаментальное отличие компонента массива от простой переменной состоит в том, что для элемента массива в квадратных скобках может стоять не только непосредственное значение индекса, но и выражение, приводящее к значению индексного типа. Таким образом, реализуется косвенная адресация:
BB[15] - прямая адресация;
BB[K] - косвенная адресация через переменную K, значение которой будет использовано в качестве индекса элемента массива BB.

Для заполнения, обработки и распечатки содержимого массива используют цикл.

*Введение в язык Паскаль цикла с параметром было обусловлено во многом необходимостью обработки информационных последовательностей, т. е. массивов.

*По своим свойствам массивам типа Char очень близки переменные типа String. Отличия в следующем: строковые переменные можно было вводить с клавиатуры и распечатывать на экране (с обычным массивом это не проходит); длина строковой переменной ограничена 255 символами (255 б), а для размера массива с критическим объемом информации является 64 Kб.