КАТЕГОРИИ: Архитектура-(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) |
Объявление двумерных массивов
ДВУМЕРНЫЕ МАССИВЫ Результат деятельности некоторой фирмы, торгующей автомобилями, может быть представлен в виде следующей таблицы.
Приведенная выше таблица может быть представлена как совокупность одномерных массивов: 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;
Естественное изображение двумерного массива отличается от его изображения в оперативной памяти, ведь оперативная память линейная.
Дата добавления: 2014-01-04; Просмотров: 420; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |