Двумерные массивы и алгоритмы их обработки.

В дисциплине «Информатика» при изучении Visual Basic были рассмотрены одномерные массивы (соответствует последовательности или ряду данных), в которых каждый элемент определяется одним индексом. Современные языки программирования позволяют работать также с многомерными массивами (таблицы – 2х мерная, куб 3-х мерная и т д.), в которых элементы определяются несколькими индексами. Мы будем использовать двумерные массивы – каждый элемент определяется двумя индексами (соответствуют матрице – один индекс определяет номер строки, второй – столбца).

В Visual Basic Script все массивы должны быть определены оператором Dim. Двумерный массив с именем matrix, состоящий из трех элементов по одному измерению и двух элементов по другому измерению (матрица из трех строк и двух столбцов) определяется оператором:

Dim matrix(2,1)

В Visual Basic для определения массивов мы использовали, например, оператор Dim A (1 To 5) As Integer для определения целочисленного массива из пяти элементов (индексы элементов могут принимать значения от 1 до 5). В данном случае мы использовали явный способ задания диапазона значений индексов элементов массива от 1 до 5.

При неявном определении массива индексом первого элемента является 0. Оператор Dim A (5) определяет массив из 6 элементов (индексы 0, 1,2, 3, 4, 5).

В Visual Basic Script не допускается использование явного определения массивов. Таким образом, оператор Dim matrix(2,1) определяет двумерный массив, состоящий из трех элементов по одному измерению и двух элементов по другому измерению. Соответствующая такому массиву матрица из трех строк и двух столбцов показана на рисунке 18, в элементах матрицы указаны их индексы (первый индекс – номер строки, второй – номер столбца).

 

0,0 0,1
1,0 1,1
2,0 2,1

Рис. 18.

Оператор определения массива выделят ячейки (область) оперативной памяти для его размещения. Такие области всегда одномерны независимо от размерности массива. В разных языках программирования многомерные массивы упорядочиваются по-разному.

В Visual Basic и Visual Basic Script многомерные массивы упорядочиваются таким образом, что быстрее всего меняется левый индекс (для приведенной на рисунке матрицы это будет означать, что она упорядочивается по столбцам – сначала первый столбец, затем второй). Приведенный в примере массив matrix(2,1) в памяти будет храниться в следующей последовательности (рис. 19):

0,0 1,0 2,0 0,1 1,1 2,1

Рис. 19.

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

Цикл по i – внешний цикл, цикл по j – внутренний (вложенный). Каждому оператору For соответствует свой оператор Next. Цикл по j вложен в цикл по i.
Sum = 0

For i = 0 to 2

For j = 0 to 1

Sum = Sum + matrix (i,j)

Next j

Next i

Оператор суммирования Sum = Sum + matrix (i,j) выполняется 6 раз. Внешний и вложенный циклы работают в следующей последовательности:

· для первого значения параметра внешнего цикла i = 0 последовательно меняются значения параметра вложенного цикла (0,1), т.е. полностью выполняется внутренний цикл;

· параметр внешнего цикла i принимает следующее значение i = 1 и опять последовательно меняются значения параметра вложенного цикла (0,1), опять полностью выполняется внутренний цикл;

· и т.д.

 








Дата добавления: 2015-08-11; просмотров: 877;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.