Основы языка Delphi

         

строки таблицы, как правило, состоят



Таблица 5.7





Январь

Февраль

Март

...

Ноябрь

Декабрь

ВA3 2106













ВA3 2107













ВA3 2108













ВA3 2109













ВАЗ 2110













ВАЗ 2111













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

vaz2106: array [1..12] of integer;

vaz2107: array [1..12] of integer;

vaz2108: array [1..12] of integer;

vaz2109: array [1..12] of integer;

vaz2110: array [1..12] of integer;

vaz2111: array [1..12] of integer;

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

Возможно и такое представление таблицы:

jan: array [1..6] of integer;
feb: array [1..6] of integer;
mar: array [1..6] of integer;

dec: array [1..6] of integer;

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

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

В общем виде инструкция объявления двумерного массива выглядит так:

Имя: array[ НижняяГраница1..ВерхняяГраница1,

НижняяГраница2..ВерхняяГраница2] of Тип

где:

  • Имя — имя массива;
  • array — слово языка Delphi, указывающее, что объявляемый элемент данных является массивом;
  • НижняяГраница1, ВерхняяГраница1, НижпяяГраница2, ВерхняяГраница2 — целые константы, определяющие диапазон изменения индексов и, следовательно, число элементов массива;
  • Тип — тип элементов массива.
Табл. 5.7 может быть представлена в виде двумерного массива следующим образом:

itog: array [1..12, 1..6] of integer

Количество элементов двумерного массива можно вычислить по формуле:

(ВГ1-НГ1+1) х (ВГ2-НГ2+1):

где:

  • ВГ1 и ВГ2 — верхняя граница первого и второго индексов;
  • НГ1 и НГ2 — нижняя граница первого и второго индексов. Таким образом, массив itog состоит из 60 элементов типа integer.
Для того чтобы использовать элемент массива, нужно указать имя массива и индексы элемента. Первый индекс обычно соответствует номеру строки таблицы, второй — номеру колонки. Так, элемент itog [2,3] содержит число проданных в марте (третий месяц) автомобилей марки ВАЗ 2107 (данные о продаже ВАЗ 2107 находятся во второй строке таблицы).

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

s := 0;

for j := 1 to 12 do

s := s + itog[2,j];

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

s:=0;

for i := 1 to 6 do // шесть моделей автомобилей

for j := 1 to 12 do //12 месяцев s := s + itog[i,j];

В приведенном фрагменте программы каждый раз, когда внутренний цикл (цикл по j) завершается, во внешнем цикле значение i увеличивается на единицу и внутренний цикл выполняется вновь. Таким образом, к текущему значению переменной s последовательно прибавляются значения элементов массива itog: itog[l,l], itog[l,2], ..., itog[l,12], itog[2,l], itog[2,2], ..., itog[2,12] и т. д.

В качестве примера рассмотрим программу, которая обрабатывает результаты спортивных соревнований летней олимпиады в Сиднее, 2000 г. Исходные данные представлены в табл. 5.8.



Содержание раздела