ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Цикл, управляемый параметромОбщий вид оператора: For <параметр>=<нач. знач> To <конеч.знач.> Step <шаг> - операторы тела цикла Next - конец цикла. Например, Ø ввод массива из рабочего листа: n = 5 For i = 1 To n A(i) = Cells(3, i + 1) Next i
Ø вывод результирующего массива после выполнения вычислений: For i = 1 To n Cells(4, i + 1) = A(i) Next i
Ø просмотр элементов массива в обратном порядке: S=0 For i = n To 1 Step -1 S = S+A(i) Next i
Цикл Do While … Loop Цикл пока. После управляющего слова While записывается логическое выражение. Используются логические операции And, Or, Not. Например, в целочисленном одномерном массиве определить количество отрицательных элементов до первого нуля. Dim A(1 To 5) As Integer k = 0 i = 1 Do While (i <= n And A(i) <> 0) If A(i) < 0 Then k = k + 1 i = i + 1 Loop
Цикл Do Until … Loop Так же как у цикла «пока» условие проверяется перед входом в тело цикла, но работа прекращается, если условие выполнено (цель достигнута). Например, проверить есть ли в целочисленном массиве нулевые элементы. flag = False i = 1 Do Until (i > n Or flag) If A(i) = 0 Then flag = True i = i + 1 Loop
Цикл Do … Loop While Цикл с пост-условием, т.е. проверка условия после выполнения тела цикла. Пока условие выполняется работа цикла продолжается. Например, все ли элементы одномерного массива положительны: flag = True i = 1 Do If A(i) <= 0 Then flag = False i = i + 1 Loop While i <= n And flag Цикл Do … Loop Until Цикл с пост-условием. Аналог цикла repeat …until языка Паскаль (цикл «до»). Например, рассмотрим сортировку по возрастанию одномерного массива методом «пузырька». В программе вложенные циклы: внутренний – For и внешний Do … Loop Until. Dim A(1 To 5) As Integer Dim n As Integer, i As Integer Dim flag As Boolean, temp As Integer … Do flag = True For i = 1 To n - 1 If A(i) > A(i + 1) Then temp = A(i) A(i) = A(i + 1) A(i + 1) = temp flag = False End If Next i Loop Until flag
Не нашли, что искали? Воспользуйтесь поиском:
|