Для меня образ массива это excel табличка.
Например Лист1[A][1]=500
Лист1 - название массива
[А][1] - индексы по вертикали и горизонтали
500- значение ячейки
В Small Basic задается так же
имя массива [i] = N
Значения заносятся через циклы, как я понимаю.
Небольшой пример. Мне нужна была программа, создающая массив биржевых цен (открытие, максимум, минимум, закрытие) и вычисляющее максимум и минимум массива.
LJW288 - код для импорта
'ввод начальных условий
TextWindow.WriteLine("Сколько периодов нужно рассчитать?")
x=TextWindow.Read()
TextWindow.WriteLine("Начальная цена?")
open[0]=TextWindow.Read()
TextWindow.WriteLine("Введите волатильность(изменчивость) цен?")
vol=TextWindow.Read()
vol2=vol 'нужно для того, чтобы цены не ушли в отрицательную область
max=open[0]'нужен для вычисления максимума
min=open[0]'нужен для вычисления минимума
'создание массива
For i = 1 To X
open[i] = open[i-1]-Math.GetRandomNumber(vol)+Math.GetRandomNumber(vol2)
close[i] = open[i]-Math.GetRandomNumber(vol)+Math.GetRandomNumber(vol2)
If (close[i]>open[i]) Then
high[i] = close[i] + Math.GetRandomNumber(vol)
low[i] =open[i] - Math.GetRandomNumber(vol)
Else
high[i] = open[i] + Math.GetRandomNumber(vol)
low[i] =close[i] - Math.GetRandomNumber(vol)
Endif
If (open[i]>(open[0]/4)) Then 'нужно для того, чтобы цены не ушли в отрицательную область
vol2=vol
Else
vol2=vol*2
EndIf
If (high[i]>max) Then 'вычисление максимума
max=high[i]
EndIf
If (low[i]<min) Then ' вычисление минимума
min=low[i]
Endif
EndFor
'сейчас будет условие видимости для массива
TextWindow.WriteLine("Вывести массив? (1-если да)")
massivvisible=TextWindow.Read()
If (massivvisible=1) Then
For i = 1 To X
TextWindow.Write(open[i] + " ")
TextWindow.Write(high[i] + " ")
TextWindow.Write(low[i] + " ")
TextWindow.WriteLine(close[i] + " ")
EndFor
EndIf
TextWindow.Write("минимум цены " + min + " ")
TextWindow.WriteLine("максимум цены " + max + " ")
Например Лист1[A][1]=500
Лист1 - название массива
[А][1] - индексы по вертикали и горизонтали
500- значение ячейки
В Small Basic задается так же
имя массива [i] = N
Значения заносятся через циклы, как я понимаю.
Небольшой пример. Мне нужна была программа, создающая массив биржевых цен (открытие, максимум, минимум, закрытие) и вычисляющее максимум и минимум массива.
LJW288 - код для импорта
'ввод начальных условий
TextWindow.WriteLine("Сколько периодов нужно рассчитать?")
x=TextWindow.Read()
TextWindow.WriteLine("Начальная цена?")
open[0]=TextWindow.Read()
TextWindow.WriteLine("Введите волатильность(изменчивость) цен?")
vol=TextWindow.Read()
vol2=vol 'нужно для того, чтобы цены не ушли в отрицательную область
max=open[0]'нужен для вычисления максимума
min=open[0]'нужен для вычисления минимума
'создание массива
For i = 1 To X
open[i] = open[i-1]-Math.GetRandomNumber(vol)+Math.GetRandomNumber(vol2)
close[i] = open[i]-Math.GetRandomNumber(vol)+Math.GetRandomNumber(vol2)
If (close[i]>open[i]) Then
high[i] = close[i] + Math.GetRandomNumber(vol)
low[i] =open[i] - Math.GetRandomNumber(vol)
Else
high[i] = open[i] + Math.GetRandomNumber(vol)
low[i] =close[i] - Math.GetRandomNumber(vol)
Endif
If (open[i]>(open[0]/4)) Then 'нужно для того, чтобы цены не ушли в отрицательную область
vol2=vol
Else
vol2=vol*2
EndIf
If (high[i]>max) Then 'вычисление максимума
max=high[i]
EndIf
If (low[i]<min) Then ' вычисление минимума
min=low[i]
Endif
EndFor
'сейчас будет условие видимости для массива
TextWindow.WriteLine("Вывести массив? (1-если да)")
massivvisible=TextWindow.Read()
If (massivvisible=1) Then
For i = 1 To X
TextWindow.Write(open[i] + " ")
TextWindow.Write(high[i] + " ")
TextWindow.Write(low[i] + " ")
TextWindow.WriteLine(close[i] + " ")
EndFor
EndIf
TextWindow.Write("минимум цены " + min + " ")
TextWindow.WriteLine("максимум цены " + max + " ")
Комментариев нет:
Отправить комментарий