Засоби заповнення та обробки одновимірних масивів

При составлении программ важно правильно организовать не только действия, но и структуру данных, которые программа обрабатывает. Visual Basic различает три вида структур данных: массивы, структуры и коллекции. Наиболее распространенный способ организации данных – табличный.

Различаются линейные и прямоугольные таблицы. В программировании понятию таблицы соответствует понятие массива.

Массив – упорядоченная последовательность однотипных величин, имеющих общее имя.

Линейной таблице соответствует одномерный массив.

Прямоугольной таблице соответствует двумерный массив.

До сих пор мы рассматривали только простые переменные. Имени переменной соответствовала одна ячейка памяти.

Структуры данных это объединение под одним именем нескольких ячеек памяти. Массив – одна из таких структур в Visual Basic.

Пример одномерного массива:

i                      
Fam Петров Иванов Сидоров Котов Кротов Андреев Титов Львов Смирнов Лунин Мамин

Под общим именем Fam объединено 11 ячеек памяти, содержащих однотипные строковые величины – фамилии. i – индекс (номер) элемента в массиве.
При обращении к элементу массива указывается имя массива и в скобках его индекс.

Fam (2) = «Иванов»

Fam (7) = «Титов»

Прежде чем использовать массив, его необходимо объявить. При объявлении массива Visual Basic выделяет под него место в памяти. Массивы в программе объявляются точно так же, как объявляются обычные скалярные переменные. Если массив объявлен локальным, его можно использовать только в той процедуре, в которой он объявлен. Если массив объявлен как глобальный в стандартном модуле, он может быть использован в любом месте в программе.

При объявлении массива в оператор объявления необходимо включить следующую информацию:

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

Массивы, приведенные в качестве примеров, могут быть описаны следующим образом:

Public Fam (1 To 11) As String

Dim B (1 To 4,1 To 3) As Single

В первом случае объявлен одномерный массив из 11 элементов с индексами от 1 до 11; имя массива – Fam; тип данных – String; массив объявлен как глобальный. Во втором случае объявлен двумерный массив из 12 (4*3) элементов; имя массива – В; тип данных – Single; массив объявлен как локальный. Часто минимальное значение индекса не указывается. Тогда оно автоматически (по умолчанию) принимается равным 0. Ключевое слово To при этом не используется. Максимальное значение индекса должно быть указано обязательно.

Поместив в стандартный модуль оператор Option Base 1 можно сделать программу более удобной для восприятия, заменив индекс первого элемента каждого массива на 1 вместо 0. Допускаются отрицательные значения индексов.

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

Динамический массив создается в такой последовательности:

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: