Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
End Sub
Оператор цикла Do – Loop
В VBA для организации циклов с неизвестным заранее числом повторений тела цикла используется и оператор цикла Do – Loop. Существует четыре формы записи этого оператора. Их можно разбить на две группы: циклы с предусловием и циклы с постусловием.
I. Циклы с предусловием. 1. Do While Условие 2. Do Until Условие Блок операторов Блок операторов Loop Loop II. Циклы с постусловием. 1. Do 2. Do Блок операторов Блок операторов Loop While Условие Loop Until Условие
Оператор Do While – Loop обеспечивает многократное выполнение блока операторов до тех пор, пока условие истинно, а оператор Do Until – Loop – пока условие ложно. Операторы Do – Loop While и Do – Loop Until отличаются от первых двух операторов тем, что сначала выполняется блок операторов, а затем проверяется условие. Таким образом, в этих циклах блок операторов, составляющих тело цикла, выполнится по крайней мере один раз. Приведем примеры использования цикла Do – Loop While.
Задача 1. Составить программу, позволяющую вводить с клавиатуры целые числа до тех пор, пока не будет введено число, кратное 6, и вычислить количество введенных чисел (вместе с последним).
Программный код
Option Explicit Sub PR12() Dim x As Integer, k As Integer k = 0 Do x = Val(Inputbox(“Введите число”)) k = k+1 Loop While x mod 6< > 0 MsgBox (" количество=" & k) End Sub
Если использовать оператор Do – Loop Until, то основная часть программы выглядит следующим образом:
k = 0 Do x = Val(Inputbox(“Введите число”)) k = k+1 Loop Until x mod 6=0 MsgBox (" количество=" & k)
Задача 2. Составить программу, вычисляющую сумму членов последовательности –1, 3, 7, … до тех пор, пока она (сумма) не превысит заданное число Х. Задачу можно решить, используя различные формы записи цикла Do – Loop.
Программный код 1. Option Explicit Sub PR13() Dim x As Integer, sum As Integer, a As Integer x = Val(Inputbox(“Введите число”)) sum = 0 a = -1 Do sum = sum + a a = a + 4 Loop While sum< =x ‘ или Loop Until sum> x MsgBox (" Сумма равна" & sum) End Sub
2. … x = Val(Inputbox(“Введите число”)) sum = 0 a = -1 Do While sum< =x ‘ или Loop Until sum> x sum = sum + a a = a + 4 Loop MsgBox (" Сумма равна" & sum)
Задача 3. Вычислить произведение и сумму цифр произвольного числа.
Option Explicit Sub PR14() Dim x As Integer, sum As Integer, pr As Long, c As Integer x = Val(Inputbox(“Введите число”)) sum = 0 pr = 1 While x< > 0 c = x mod 10 ‘ вычисляем последнюю цифру в числе sum = sum + c ‘ вычисляем сумму цифр pr = pr * c ‘ вычисляем произведение цифр x = x \ 10 ‘ отбрасываем последнюю цифру числа Wend MsgBox (" Сумма = " & sum & ", произведение = " & pr) End Sub
|