Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Средства описания и работы с двумерными массивами данныхСодержание книги
Поиск на нашем сайте
При решении математических, экономических, статистических задач информация располагается в матрицах и таблицах, которые являются прототипом двумерного массива в программировании. Если в одномерных массивах каждый элемент содержит только один индекс, то в двумерных массивах каждый элемент имеет два индекса – номера строки и номера столбца. Из предыдущей темы известно, что массив представляет собой последовательность переменных одинакового типа, объединенных общим именем. Количество индексов (измерений) указывает на размерность (ранг) массива. Например, двумерный массив b(3,2):
Так, в приведенном выше примере размерность массива b(3,2) – 2, т.е. массив двумерный (имеет два измерения). В нашем примере количество элементов массива b(3,2) равно 12 (4 строки и 3 столбца). Перед использованием двумерного массива в программе, его необходимо объявить с помощью оператора Dim, который выделяет место в памяти для размещения элементов статического массива. Например:
Необходимо обратить внимание на то, что, как при описании – A(m,n), так и при обращении – A(i,j) к элементам двумерного массива, в скобках сначала указывается номер строки, а затем номер столбца ( рис. 4.8.1-1). Для определения параметров двумерного массива могут использоваться свойство класса Array – Rank и метод класса Array – GetLength(). Свойство Rank используется для определения количества измерений (ранга) массива (для двумерного массива ранг равен 2). Причем каждое измерение в массиве может иметь свою длину. Метод GetLength() используется для определения количества элементов в заданном измерении массива (для первого измерения используется значение 0, для второго – 1 и т.д.). Необходимо обратить внимание, что метод GetLength() возвращает значение, которое на единицу больше, чем указанное в объявлении Dim, так как индексация элементов массива в VBвсегда начинается с нуля, а метод GetLength() определяет количество элементов, считая от единицы.
Матрица прямоугольная A(n,m) - n¹m Матрица квадратная A(n,m) - n=m
Рис. 4.8.1-1. Прямоугольная и квадратные матрицы Так, для определения параметров массива Mac1(,), описанного как
можно воспользоваться следующими выражениями:
Где ArrayRank – ранг матрицы (равен 2); RawCount – количество строк (равно 5); ColumnCount – количество столбцов (равно 8).
Таким образом, ArrayRank, RawCount, ColumnCount являются переменными целочисленного типа, которые принимают значения 2, 5 и 4.8. Кроме того, для определения параметров двумерного массива можно использовать метод GetUpperBound(), который находит верхнюю границу (максимальный индекс) заданного измерения. В качестве параметра этот метод принимает значения аналогично методу GetLength(), т.е. для первого измерения (строк) используется значение 0, для второго (столбцов) – 1. Например, для массива Mac2(4,7):
Ввод, вывод и обработка двумерных массивов, как правило, основаны на использовании вложенных циклов, которые обеспечивают перебор всех элементов массива. В некоторых задачах может иметь значение порядок перебора элементов массива: «по строкам» или «по столбцам». Если внешний цикл будет организован по первому индексу (по строкам), а внутренний цикл по второму индексу (по столбцам), то выполняется построчный перебор элементов двумерного массива. Если внешний цикл в качестве параметра использует второй индекс, а внутренний цикл – первый индекс, то элементы массива перебираются по столбцам.
Пример 4.8.1-1. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах обработки двумерных массивов. Некоторые процедуры ввода и вывода приведены в Темах 4.3, 4.4, 4.5, 4.6 и 4.7. Остальные процедуры ввода и вывода, которые можно использовать при написании базовых алгоритмов формирования и обработки двумерных массивов, представлены на рис. 4.8.1-2, 4.8.1-3, 4.8.1-4 и 4.8.1-5.
Рис. 4.8.1-2. Процедура ввода элементов двумерного массива
Рис. 4.8.1-3. Процедура формирования массива vvod2() случайными числами Примера 4.8.1-1
Рис. 4.8.1-4. Процедура форматированного вывода массива vivodSngMac19() Примера 4.8.1-1 На рис. 4.8.1-4 представлен пример процедуры вывода целочисленной матрицы в TextBox. Напомним, что для того, чтобы в элементе управления TextBox можно было записать несколько строк текста, необходимо присвоить его свойству MultiLine значение True.
Рис. 4.8.1-5. Процедура форматированного вывода массива
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-12-27; просмотров: 181; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.154.237 (0.005 с.) |