Операторы программы | Описание действий |
Sub pr() | Начало процедуры |
Dim x(10) as Integer, I as Integer | Задаем размерность массива Х (10 элементов) и тип массива и переменной I |
For I=1 to 10 | Начало цикла для считывания массива |
x(i)=Cells(I,”a”) | i-ому элементу массива Х присвоить значение ячейки расположенной на пересечении I-ой строки и столбца “A” |
if x(i)<0 then k=k+1 | Проверяем является ли I-ый элемент массива отрицательным. Если элемент оказался отрицательным увеличиваем счетчик отрицательных элементов (k) на единицу. |
Next i | Конец цикла |
Range(“B1”)=k | Ячейке “B1” присвоить значение переменной k |
End sub | Конец процедуры |
Пример 7.
Указать индекс первого нулевого элемента в массиве.
Операторы программы | Описание действий |
Sub pr() | Начало процедуры |
Dim x(10) as Integer, I as Integer | Задаем размерность массива Х (10 элементов) и тип массива и переменной I |
For i=1 to 10 | Начало цикла для считывания массива |
x(i)=Cells(I,”a”) | i-ому элементу массива Х присвоить значение ячейки расположенной на пересечении I-ой строки и столбца “A” |
Next i | Конец цикла |
I=1 | Присваиваем счетчику элементов массива (переменная i) начальное значение 1 |
Do while x(i)>0 | Начало цикла Do. До тех пор пока i-ый элемент массива больше 0 |
I=i+1 | Увеличиваем счетчик на 1 (т.е. переходим к следующему элементу) |
Loop | Конец цикла Do |
Range(“C1”)=i | В ячейку С1 выводим значение переменной i |
End sub | Конец процедуры |
Пример 8
Сортировка массива чисел методом ‘’пузырька
Rem Программа_8 – сортировка массива чисел методом ‘’пузырька”
Sub Main()
Dim T(5) As Single, X As Single
Dim i As Integer, OSTANOV As Integer
For i = 1 To 5
T(i) = InputBox ("Введите " & Str(i) & "-е число")
Next i
M: OSTANOV = 1 ‘ переменная, принимающая значение 0, если есть перестановка чисел
For i = 1 To 4
If T(i) > T(i + 1) Then
X = T(i + 1): T(i + 1) = T(i): T(i) = X ‘ два числа меняются местами
OSTANOV = 0
End If
Next I
If OSTANOV = 0 Then GoTo M
MsgBox “Результат: ” & Str(T(1)) & “ “ & Str(T(2)) & “ “ & Str(T(3)) & “ “ & Str(T(4)) & “ “ & _
Str(T(5))
End Sub