Шаг 27.
Организация одномерных массивов


    На этом шаге мы начнем знакомиться с организацией и использованием массивов.

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

    Поясним сказанное на следующем примере. Пусть имеются следующие конструкции, входящие в какую-то программу:


  Var
    x: Integer;
  Begin
      x:=3;
      x:=8;
  End.

    При обработке секции Var компьютер "выделяет" место в памяти для размещения значений указанных переменных (будем изображать эти области памяти в виде "ящичков"):


    При выполнении оператора присваивания Х:=3; в этот "ящичек" помещается значение 3:


    После выполнения следующего оператора присваивания Х:=8; "старое" значение заменяется новым:


   


Отсюда можно сделать следующие выводы:


    Вернемся к массивам. Так вот, массивы можно рассматривать как совокупность таких ящичков:


Рис.1. Структура одномерного массива


Рис.2. Структура двумерного массива

    На этих рисунках изображены два основных типа массивов: А - одномерный массив, состоящий, в нашем случае, из 5 элементов; В - двумерный массив, состоящий из 4 строк и 3 столбцов.

    Прежде чем привести конструкцию, используемую для описания массивов, разберем еще один вопрос, о котором мы ничего не говорили: это размер ящичков. Напомним, что под "ящичком" мы понимаем область памяти, выделяемую для размещения значения определенного типа. Например, переменная Х имеет в нашем примере тип Integer. Для размещения в памяти значения переменной такого типа компьютер выделяет область памяти длиной 2 байта. Остальные значения приведены в таблице 2 пятого шага. Таким образом, помимо размерности массива (количества элементов строк и столбцов) нужно указывать, из каких элементов состоит массив (емкость "ящичков"). Отсюда общий вид описания массива выглядит следующим образом:


Рис.3. Общий вид описания массива

    Для одномерного массива размерность определяется следующим образом:


   [<номер начального элемента>.. <номер конечного элемента>].

    Для двумерного массива определение размерности выглядит следующим образом:


   [<начальный номер строки> .. <конечный номер строки>,
    <начальный номер столбца> .. <конечный номер столбца>].

    Аналогично указывается размерность трехмерного массива, четырехмерного и т.д.

    Приведем примеры описания массивов А и В в предположении, что массив А состоит из целых, а массив В - из вещественных чисел:


   А: Array [1..5] Of  Integer;
   B: Array [1..4, 1..3] Оf  Real;

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


Замечание. В качестве значений нижней и верхней границ можно использовать только константы. Использование переменных запрещено!

    Доступ к элементам массива осуществляется путем указания имени массива, за которым в квадратных скобках располагается номер элемента массива, например:



    Значения, расположенные в квадратных скобках, называются индексами. В качестве индексов могут использоваться выражения, например: В[2*х-7, 3*y+1]. Однако в этом случае автор программы должен сам заботиться о том, чтобы вычисленные значения не выходили за границу массива.

   

    На следующем шаге мы продолжим знакомство с одномерными массивами.


Предыдущий шаг Содержание Следующий шаг