1). Рассмотрим первоначально решение этой задачи для одного города, например, для Лондона.
Примечание: Исходные числовые данные в таблице записаны в блоке ячеек B3 : E9.
Блок-схемa 1:
Программа 1:
Sub pr1()
k = 0
For i = 3 To 9
If Cells(i, 2).Value > 0 Then ‘ Исходные числовые данные
k = k + 1 ‘ записаны в блоке ячеек B3 : E9
ElseIf Cells(i, 2).Value < 0 Then
Cells(i, 2).Interior.ColorIndex = 20
End If
Next i
Cells(10, 2) = k
End Sub
Сложные циклы
Циклы, которые содержат внутри себя (в теле цикла) один или несколько других циклов, называются сложными или вложенными циклами.
При этом циклы, охватывающие другие циклы, называются внешними, а циклы, входящие во внешние, – внутренними циклами
На каждом шаге внешнего цикла внутренний цикл «прокручивается» полностью.
2). Блоки For … Nextмогутбыть вложены друг в друга.
Пример 2.
Рассмотрим вложенный цикл для решения первого примера для всей таблицы 7.
Блок-схема 2:
В блок-схеме 2 представлен вложенный цикл.
Программа 2:
Sub pr2()
Dim i, j, k As Integer
For j = 2 To 5 ‘ Исходные числовые данные
k = 0 ‘ записаны в блоке ячеек B3 : E9.
For i = 3 To 9
If Cells(i, j).Value > 0 Then
k = k + 1
ElseIf Cells(i, j).Value < 0 Then
Cells(i, j).Interior.ColorIndex = 20
End If
Next i
Cells(10, j) = k
Next j
End Sub
Пример 3.
В ячейках H1:H10 записаны числа.
Составить блок-схему и написать программу сортировки этого массива по возрастанию.
Блок-схема 3:
Программа 3:
Sub pr3()
Dim i, j As Integer, d As Single
For i = 1 To 9
For j = 1 To 10 - i
If Cells(j, 8) > Cells(j + 1, 8) Then
d = Cells(j, 8) : Cells(j, 8) = Cells(j + 1, 8)
Cells(j + 1, 8) = d
End If
Next j
Next i
End Sub
Массив – это упорядоченный набор однотипных значений – элементов массива. Массив имеет:
имя, которое записывается по тем же правилам, что и имена переменных;
размер – количество элементов в массиве;
базовый тип, который определяется типом элементов массива.
Имя массива задает имя каждому элементу массива: каждый элемент массива обозначается этим именем и индексом, который определяет номер (место) этого элемента в массиве.
Имя, размер и базовый тип массива задаются при описании массива.
Массивы могут быть одномерными и многомерными. Мы будем рассматривать только одномерные и двумерные массивы.
Одномерные массивы – массивы, в которых элементы пронумерованы последовательно по порядку: первый элемент, второй, третий и т.д. Для обозначения элементов одномерного массива используется один индекс.
Двумерные массивы – массивы, в которых данные условно организованы в виде таблицы (матрицы), где положение каждого элемента определяется номером строки и номером столбца. Для обозначения элементов двумерного массива используются два индекса: первый индекс для обозначения номера строки, второй индекс для обозначения номера столбца.
Значения индексов можно задать непосредственно числом (прямая адресация) или косвенно, указав в индексе идентификатор переменной, которая позволит вычислить индекс, (косвенная адресация).
Прямая адресация элементов массива: для одномерных массивов – a(1), a(2), a(3), a(4),…;
для двумерных массивов – a(1,1), a(1,2), a(1,3), a(2,1), a(2,2), a(2,3), …
Косвенная адресация элементов массива:
для одномерных массивов – a(i), a(i+1), …;
для двумерных массивов – a(i,j), a(i+1, j),…
Описание массивов
При работе с массивами в программе они должны быть объявлены (описаны), т.е. указано имя массива, тип элементов массива, его размерность.
Оператор описания массива:
Dim <имя>(<размерность>) As <тип>
В качестве размерности указывается либо верхняя граница изменения индекса, либо конкретный диапазон изменения значений индексов: IнTOIк:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.