НОВОСТИ   БИБЛИОТЕКА   ЮМОР   КАРТА САЙТА   ССЫЛКИ   О САЙТЕ  




предыдущая главасодержаниеследующая глава

12.1. Массивы (ARRAY)

Массив - структура, состоящая из фиксированного числа компонент одного типа.

Общий вид описания массива (в разделе VAR):


здесь А - имя массива; TYPE1,TYPE2, . . . TYPEL - типы индексов; TYPEC - тип компонент (базовый тип).

Количество индексов (L) определяет размерность массива. Индексы могут быть любых скалярных типов, кроме REAL и INTEGER (не путать с SUBRANGE!). Индексы разделяются запятыми и заключаются в квадратные скобки.

Пример 1. Пусть в памяти ЭВМ расположена таблица чисел, представляющая собой двумерный массив М:


Каждое число в таблице имеет тип INTEGER это - тип компонент (TYPEO).

Первый индекс - номер строки таблицы - может в данном примере быть от 1 до 3; второй индекс - номер столбца - может меняться от 1 до 4.

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


Задав конкретные значения индексов, можно выбрать определенную компоненту массива. Например, оператор N:=M [1, 2] зашлет в N значение, стоящее в 1-й строке, 2-м столбце, т. е. 10.

12.1.1. Упакованные массивы

Если перед названием типа стоит ключевое слово PACKED, то при трансляции генерируется программа, плотно упаковывающая данные в ячейки памяти. Такая программа экономит память, но не время счета, так как для работы с элементами такого массива, как правило, требуется предварительная распаковка.

К упакованному массиву Z можно применить стандартные процедуры PACK и UNPACK.

Пусть массив В имеет тип ARRAY [M..N] OF TYPEC, а массив Z-PACKED ARRAY [U..V] OF TYPEC, где N-M ≥ V-U; Тогда

PACK(B,I,Z) означает "упаковку" элементов, начиная с I-й компоненты массива В, в массив Z.

UNPACK(Z,B,I) означает "распаковку", массива Z в массив В, начиная с I-го элемента массива В. Строка из N символов текстовой информации есть не что иное, как упакованный массив: PACKED ARRAY [1..N] OF CHAR;

Тип ALFA - частный случай упакованного массива:


предыдущая главасодержаниеследующая глава








© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна:
http://informaticslib.ru/ 'Библиотека по информатике'
Рейтинг@Mail.ru
Поможем с курсовой, контрольной, дипломной
1500+ квалифицированных специалистов готовы вам помочь