
- •1Системы счисления и представление информации в эвм
- •1.1Системы счисления
- •1.2Двоичная арифметика
- •Варианты задания №1
- •Пример выполнения задания №1
- •2Логические операции
- •Варианты задания №2
- •Пример выполнения задания №2
- •3Основы программирования нa vba
- •3.1Типы данных
- •3.2Описание переменных
- •Варианты задания №3
- •Пример выполнения задания №3
- •4Массивы
- •Варианты задания №4
- •Пример выполнения задания №4
- •5Реферат
- •Варианты задания №5
- •Библиографический список
4Массивы
Массивы были первым составным типом данных, который появился в языках высокого уровня, и использовался в вычислительных задачах при работе с векторами и матрицами. В литературе массивы иногда называют регулярным типом данных.
Массив (регулярный тип данных) — класс объектов, которые состоят из элементов одного и того же типа.
В VBA реализовано два типа массива — статические массивы и динамические массивы. Во многих языках программирования термин массив используется для статических массивов, т. к. динамические в них не реализованы
Заданием типа переменной по умолчанию является включение в конец имени специального символа, устанавливающего тип переменной. Допустимо использование следующих специальных символов для установки типов. При неявном определении тип переменной задается последним символом в имени.
% |
Integer |
& |
Long |
! |
Single |
# |
Double |
@ |
Currency |
$ |
String |
Как и в других языках программирования, в VBA вы можете использовать массивы. Примеры объявления массивов приведены ниже
Dim B(3, 3) As Single
Dim А(12) As Integer
Первая строка объявляет двумерный массив 3x3 (матрицу), состоящий из действительных чисел. Вторая строка объявляет одномерный массив (вектор) из 12 целых чисел, причем по умолчанию первый элемент массива будет А(0), а последний A(11). В этом случае говорят, что 0 — базовый индекс. Можно изменить базовый индекс, написав в начале листа модуля инструкцию Option Base l. После этого индексы массивов Aбудут начинаться с единицы. Другим способом изменения базового индекса является использование ключевого слова To при объявлении массива:
Dim B(1 To 3, 1 To 3) As Single
Dim A(1 To 12) As Integer
Массив в программе определяется поэлементно. Например,
Dim B(1 To 2, 1 To 2) As Single
B(1,1)=2
B(1,2)=4
B(2,1)=1
B(1,2)=6
Удобным способом определения одномерных массивов является функция Array, преобразующая список элементов, разделенных запятыми, в вектор из этих значений, и присваивающая их переменной типа Variant. Например,
Dim A As Variant
А = Array(10, 20, 30)
В = A(2)
Статический массив — массив, состоящий из фиксированного числа элементов.
Синтаксис:
Dim | Private | Public | Static nameArray ([i1, To] j1[, [i2, To] j2]...) [As nameType]
где, nameArray — имя массива;
nameType — имя типа элементов массива;
iK — нижняя граница к-го индекса массива;
jK — верхняя граница к-го индекса;
Dim|Private|Pub-lic|Static, To, As — ключевые слова.
Динамический массив — массив, у которого количество элементов и их тип может меняться в процессе работы программы.
Синтаксис:
Dim | Private | Public nameArray 0 [As nameType]
где, nameArray — имя массива; nameType — имя типа элементов массива; Dim|Private|Public, As — ключевые слова.
Иногда в процессе выполнения программы требуется изменять размер массива. В этом случае первоначально массив объявляют как динамический. Для этого при объявлении массива не надо указывать размерность, например:
Dim R() As Single
В программе следует вычислить необходимый размер массива и связать его с некоторой переменной, например n, затем изменить размер динамического массива с помощью оператора ReDim.
Синтаксис:
ReDim [Preserve] ИмяПеременной(Индексы) [As Тип] _
[, ИмяПеременной (Индексы) [As Тип]] ...