Исходные данные для решения многих задач удобно представляются в табличной форме.
Колонки и строки таблицы, как правило, содержат однородную информацию, если использовать терминологию Turbo Pascal - данные одинакового типа. Поэтому в программе для хранения и обработки табличных данных можно использовать совокупность одномерных массивов. Так таблица может быть представлена как совокупность одномерных массивов следующим образом:
array [1..4] of integer; Х[1.1] X[1.2] X[1.3] X[1.4]
array [1..4] of integer; Y[1.1] Y[1.2] Y[1.3] Y[1.4]
array [1..4] of integer; Z[1.1] Z[1.2] Z[1.3] Z[1.4]
Помимо совокупности одномерных массивов, таблица может быть представлена как двумерный массив.
Двумерный массив состоит из строк и столбцов. Каждый элемент двумерного массива можно представить индексированной переменной с двумя индексами:
Х[1.1] X[1.2] X[1.3] X[1.4]
X[2.1] X[2.2] X[2.3] X[2.4]
X[3.1] X[3.2] X[3.3] X[3.4]
Первый индекс в скобках обозначает номер строки, второй – номер столбца прямоугольной таблицы.
1) Описание массива
В общем виде описание двумерного массива выглядит так:
Имя: array [ Нижняя Граница Индекса 1. . Верхняя Граница Индекса 1,
Нижняя Граница Индекса 2. . ВерхняяГраницаИндекса2] ofТип
Где:
Имя – имя массива;
array - служебное слово обозначающее, что объявляемый элемент является массивом;
Нижняя Граница Индекса 1 . . Верхняя Граница Индекса 1,
Нижняя Граница Индекса2 . . ВерхняяГраницаИндекса2 – целые константы, определяющие диапазоны изменения индексов и, следовательно, количество элементов массива;
Тип — тип элементов массива.
Пример описания массива:
VAR
a : array [1 . . 3, 1 . . 4] of integer;
baza : array[1..3, 1..4] of real;
При описании массивов в программе удобно использовать именованные константы как значения верхних границ индексов массива.
CONST n = 3; m = 4
VAR a : array [1 . . n, 1 . . m] of integer;
baza : array[1..n, 1..m] of real;
Это позволяет при использовании программы с другими значениями верхних индексов не изменять (находить и переписывать) их во всём тексте программы а достаточно поменять значения констант в разделе описания.
Количество элементов массива может быть вычислено по формуле:
Таким образом, массив a состоит из 12 элементов типа integer.
Чтобы обратится к элементу массива, нужно указать имя массива и индексы элемента. Первый индекс соответствует номеру строки массива, второй – номеру колонки. (Каждый элемент массива описывается, как а [i,j] где a-имя массива; i-номер строки;j-номер столбца.) Пример : а [1,1].
Так как границы индексов массива заранее определены, а шаг изменения индекса равен 1, для выполнения однотипных операций со всеми элементами массива удобно использовать цикл со счётчиком (параметром) FOR…TO…DO. При работе с двумерными массивами – вложенные циклы.
Значения элементов двумерных массивов выводят на экран и вводят с клавиатуры, как правило, по строкам, т.е. сначала все элементы первой строки, затем второй и т.д. Это удобно выполнять при помощи вложенных инструкций for . Так как границы индексов массива заранее определены, а шаг изменения индекса равен 1, для выполнения однотипных операций со всеми элементами массива удобно использовать цикл со счётчиком (в случае двумерных массивов вложенные циклы).
Каждый раз, когда внутренний цикл завершается, внешний цикл увеличивает i на единицу, и внутренний цикл выполняется вновь. Таким образом выводятся все компоненты массива.