Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Объявление двумерных массивов

ДВУМЕРНЫЕ МАССИВЫ

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

 

Марка Январь Февраль Март ... Ноябрь Декабрь
ВАЗ 2106            
ВАЗ 2107            
ВАЗ 2108            
ВАЗ 2109            
ВАЗ 2110            
ВАЗ 2111            

 


Приведенная выше таблица может быть представлена как совокупность одномерных массивов:

var 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;

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

var jan:array [6..11] of integer;

feb:array [6..11] of integer;

mar:array [6..11] of integer;

...

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

 

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

 

var vaz:array [6..11] of array [1..12] of integer;

 

Принято более компактное описание:

 

var vaz: array [6..11, 1..12] of integer;

 


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

 

array [ тип_индекса1, тип_индекса2 ] of базовый_тип;

 

Объявить массив возможно в разделах объявления типов, переменных

 

type имя = array [ тип_индекса1, тип_индекса2 ] of базовый_тип;

 

var имя: array [ тип_индекса1, тип_индекса 2] of базовый_тип;


 

где имя – это имя типа массива, имя переменной массива и соответственно (идентификатор);

array, of – зарезервированные слова, которые переводятся как «массив», «из»;

базовый_тип – тип элементов массива (кроме файлового типа);

тип_индекса1, тип_индекса2 – любой порядковый тип, размерность которого не превышает 2 Гб для OP Delphi 6 (для Turbo Pascal – 64 Кбайт).

 

Тип_индекса1 характеризует порядковые номера элементов матрицы в строках, тип_индекса2 – в столбцах.


 

В случае использования в роли типа индекса ограниченного типа (интервального типа) конструкция описания двумерного массива выглядит:

 

array [ нижний_индекс1 .. верхний_индекс1,

нижний_индекс2 .. верхний_индекс2 ] of базовый_тип;

Количество элементов массива равняется величине:

 

 


Примеры объявления двумерных массивов:

const k=10; m=2; n=5;

 

{Объявление типа массива из пяти строк, пяти столбцов –

25 целочисленных элементов}

type matrix = array [1..n, 1..n] of integer;

 

{Объявление переменных массивов}

{массив из пяти строк, пяти столбцов – 25 целых элементов}

var a:matrix;

 

{ Массив из 10 строк, двух столбцов – 20 действительных элементов}

b: array [1.. k, 1.. m] of real;

{Массив из четырех строк, трех столбцов – 12 символьных элементов}

c: array [1..4, 1..3] of char;

 

{Массив из 256 строк, двух столбцов – 512 целых элементов}

d: array [byte, 1..2] of integer;


 

Напомним:

объем сегмента памяти, где будут храниться данные Pascal-программы, представляет для Turbo Pascal 64 Кбайт, Object Pascal – 2 Гбайт. Поэтому есть ограничения на количество элементов массива. Размер памяти можно рассчитать: произведение количества элементов массива на размер одного элемента в байтах.


Естественной формой изображения двумерного массива является таблица.

Пример: на рисунке изображен массив, который объявлен как

 

var а: array [1..2, 1..3] of byte;

 

      Направление увеличения второго индекса
   
           
Направление увеличения первого индекса 1 a11 a12 a13  
  a21 a22 a23  

 


 

Естественное изображение двумерного массива отличается от его изображения в оперативной памяти, ведь оперативная память линейная.

 

1-я строка 2-я строка  
             

 

<== предыдущая лекция | следующая лекция ==>
Основные сведения о Windows XP | Размер оперативной памяти определяется при объявлении двумерного массива и не изменяется во время работы с ним
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 381; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.