Определение массивов и отладка программы STATISTICA Visual Basic

Пример №1. Определение массивов и отладка программы
Option Base 1
Sub Main
Dim A(-1 To 1,1 To 3)’Объявляется двумерный массив. Индексы меняются там, где захотим.
A(0,2)=13
A(-1,2)=7.71
Debug.Print A(0,2) ‘Команда Debug.Print выдаёт в область проверки при отладке программы13, если программу запускать не всю, а до курсора.
Debug.Print A(-1,2)’Выдаёт 7.71
B=Array(5,6,7,1,2,3)’Предъявляется массив B(0),…,B(5).
Debug.Print B(2);B(0)’Выдаёт 7 5
Debug.Print UBound(B)’Выдаёт 5, а не 6 — есть 0-й элемент.
s=UBound(A,2)’Максимум второго индекса.
r=UBound(A)’Максимум первого индекса.
b=LBound(A)’Минимум первого индекса.
Dim X()’Объявляется переменный массив, размерность которого может изменяться.
ReDim X(3)’А у этого массива нет 0-го элемента!
X(3)=8
X(1)=7
X(2)=” 6 строк” ‘Присваивать элементам можно значения любого типа.
Debug.Print UBound(X); X(1) ;X(2) ‘Выдаёт 3, 7, 6 строк.
ReDim X(200)
X(188)=6.75
Debug.Print UBound(X); LBound(X);» «; «X(1)=»;X(1);» «; «X(188)=»;X(188) ‘ Выдаёт 200, 1, X(1)=, «пусто” (– не присвоено значение) X(188)=6.75.
Debug.Print s;b;r ‘ Выдаёт3 -1 1
End Sub

Пример №2. Другой способ объявления массивов и программа в программе
Option Base 1
Public A0,A1(3),A2(2,2) ‘Массивы можно объявить так.
Sub Init
A0 = 6
A1(1) = «FENJA»
A1(2) = -5
A1(3) = 6.7
‘A1(0)=89 или A1(4) = 777 Такие присвоения — ошибка.
A2(1,1) = -3
A2(1,2) = 3
A2(2,1) = -4
A2(2,2) = 8
End Sub
Sub Main
Init
Debug.Print A0;»;»;A1(2);»;»;A2(1,1);»;»;A2(2,2)/2.7;»;»;A1(1)’Для просмотра в «отладке» запустить «до курсора»и программа Main вызовет программу Init и напечатает 6;-5;-3; 2,96296296296296;FENJA
End Sub

Пример №3. Третий способ объявления массивов и программа в программе
Option Base 1
Private A0,A1(2),A2(2,3) ‘Не вижу разницы между Private и Publik
Sub Init1
A0 = 1
A1(1) = 2
A2(1,3) = 3
End Sub
Sub Init2
A0 = 7
A1(1) = 23
A2(1,3) = 3.9
End Sub
Sub Main
Init1
Debug.Print A0;A1(1);A2(1,3) ‘ 1 2 3
Init2
Debug.Print A0;A1(1);A2(1,3) ‘ 7 23 3,9 Переприсвоения в одной программе.
End Sub

- доцент
- кандидат юридических наук
- профессор кафедры

Оцените автора
Добавить комментарий