Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 4.doc
Скачиваний:
2
Добавлен:
04.11.2018
Размер:
169.47 Кб
Скачать

62

Тема 4. Работа с массивами

4.1. Определение массива и его характеристик

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

Это бывает не очень удобно, когда в задачах приходится иметь дело с набором однотипных величин. В этом случае в практике программирования принято использовать составные или структурные типы данных, к которым относятся массивы. Массив можно представить как "большую" переменную, состоящую из нескольких ячеек. Ячейки называются элементами массива. Каждый элемент имеет одинаковый тип, но может хранить разные значения. Все элементы имеют одно имя - имя массива, но отличаются номерами.

Массив – это сложная структура данных, которая имеет одно имя, состоит из последовательности конечного количества однородных скалярных элементов, каждый элемент имеет свой уникальный порядковый номер в массиве.

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

Рис. 4.1. Расположение элементов массива в памяти ЭВМ

Индексами массива могут быть только целые числа. Все элементы массива должны иметь одинаковый тип данных.

Характеристики массива:

  1. имя массива;

  2. тип массива;

  3. число измерений или ранг массива – допускается от 1 до 7;

  4. размерность (протяженность) - неотрицательное число, указывающее на количество возможных значений индекса по выбранному измерению, например, число строк или столбцов матрицы;

  5. диапазон значений индекса задается указанием нижней и верхней границ индекса; когда нижняя граница опущена, верхняя граница совпадает с размерностью;

  6. форма массива – это перечисление или вектор всех размерностей, характеризующий порядок размещения элементов в памяти;

  7. число элементов – это произведению размерностей массива;

  8. объем памяти, занимаемой массивом, равен памяти, приходящейся на один элемент, помноженной на число элементов, ограничивается лишь объемом доступной памяти компьютера;

  9. как выделяется память под массив:

-статически,

-динамически,

-динамически автоматически - массив с переменной размерностью в подпрограмме.

Для статического массива все характеристики известны уже при компиляции. Память под статический массив рассчитывается по описанию массива и выделяется при запуске программы.

Для динамического [allocatable] массива при запуске программы известен только ранг, а размерности не известны и память под него не выделяется. Когда размерности станут известны, будет подсчитан и выделен необходимый объем памяти при исполнении специального оператора allocate.

Массив с переменной размерностью спрятан в процедуре. Для него в процедуре допускается вместо констант указывать размерность переменной целого типа. Память под массив известна или не известна, но она выделяется в вызывающей программе, массив передается в подпрограмму в качестве параметра вместе со своими размерностями, что создает возможность перераспределения памяти.

Мы будем рассматривать только статические массивы.

Массив может иметь нулевой размер.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]