Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.