logo
Лекция 8_Массивы

Массивы. Одномерные массивы. Понятие о массиве

Массив это структурированный тип данных состоящий из упорядоченного числа элементов которое имеет общее имя и общий тип данных.

    При решении задач с использованием большого количества однотипных упорядоченных данных, часто возникает необходимость объединять ряд переменных, хранящих значения одинакового типа, в единую структуру, имеющую общее имя. Для этих целей существуют массивы.

    МАССИВ - упорядоченная группа фиксированного количества переменных одного типа, имеющая общее имя.

   "Группа переменных" в данном смысле означает, что каждый элемент массива является переменной, для хранения значения которой в памяти отводится определенная область.

   "Упорядоченная"- означает, что переменные в массиве хранятся не хаотично, а в установленном порядке, по очереди.

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

   "Одного типа" - означает, что переменные, входящие в массив, должны хранить данные одного типа (Real, Integer, Char, Boolean и т.д.), который называется типом элементов массива.

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

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

   Каждый элемент массива имеет свое имя, представляющее собой имя массива и стоящие за ним квадратные скобки, в которых указывается индекс элемента - целое число, равное порядковому номеру этого элемента в массиве. Таким образом, для ссылки на отдельный элемент массива используется запись вида: имя массива[индекс]. Например: A[1], D[24], Massiv[5], Mas[12].

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

   В этой программе для хранения в памяти количества киловатт- часов ежедневного потребления энергии можно было бы предусмотреть отдельные переменные:

KWatt1

KWatt2

KWatt3

...

KWatt30

KWatt31

   Такой подход возможен, и ошибки в нем нет, но в этом случае неудобно оперировать данными в виде отдельных переменных: описание большого количества переменных будет громоздким, перебор и сравнение переменных - трудоемким. Между тем указанные переменные содержат однотипные данные, несущие информацию одного и того же характера. В подобных случаях информацию удобнее хранить в массиве, представляющем собой таблицу с одной строкой (вектор), имеющую 31 столбец (по числу дней в месяце):

Массив “KWatt”:

KWatt[1]

KWatt[2]

KWatt[3]

...

KWatt[31]

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

..................

{начальное значение счетчика цикла равно 1}

i:=1;

{начальное значение переменной Max, предназначенной}

Max:=0;

{для хранения максимального значения массива, равно 0}

REPEAT

{начинаем цикл}

IF KWatt[i]>Max 

{если значение очередного элемента массива}

     THEN

{превышает текущее значение переменной Max,}

          Max:=KWatt[i];

{то переменная Max меняет свое значение на}

{значение элемента массива}

i:=i+1

{увеличиваем значение счетчика на единицу}

UNTIL i>31;

{цикл заканчивается, если значение счетчика цикла превысит число 31}

..................

без труда догадаемся, что здесь идет поиск максимального числа (Max) из набора однотипных данных (KWatt[i]).