Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Do. Loop Until. Как выбрать, какой из циклов использовать в программе?. Примечания. Все перечисленные в данном примечании операторы затрудняют чтение текста программы пользователем, поэтому их использование должно быть ограничено теми местами, где без это




Do... Loop Until

Этот тип цикла служит для того, чтобы повторять тело цикла пока условие не выполняется (проверка условия содержится в конце цикла).

Общий вид данной конструкции выглядит следующим образом:

Do 

< оператор>

...                                                        тело цикла

[< оператор> ]

             

Loop Until < логическое выражение>

< логическое выражение> - это простое или сложное условие, или логическая константа (true или false).

Вначале выполняется тело цикла, а затем проверяется < логическое выражение>. Пока < логическое выражение> возвращает false, тело цикла выполняется, а как только < логическое выражение> возвратит true, то работа продолжится со следующего оператора после Loop Until < логическое выражение>.

 

Пример использования цикла Do …Loop Until:

Задача: Пользователь вводит число, если оно меньше 20 выводить его квадрат, если больше или равно то закончить выполнение сценария.

Текст программы:

option explicit

Dim Number 'вводимое число

Number=CInt(InputBox(" Введите число", " Диалоговое окно" ))

Do

     MsgBox " Квадрат число: " & Number & " равен " & (Number*Number)

     Number=CInt(InputBox(" Введите число", " Диалоговое окно" ))

Loop Until Number> =20 'условие

Как выбрать, какой из циклов использовать в программе?

Ниже приведены основные правила, помогающие выбрать наиболее подходящий из этих операторов:

1. если вам заранее известно число повторений тела цикла, лучше всего использовать оператор цикла For;

2. если вам заранее не известно число повторений тела цикла и если окончание цикла зависит от выполнения некоторого условия, лучше использовать конструкции While…Wend, Do While…Loop или Do Until…Loop

3. если необходимо, чтобы цикл всегда выполнялся хотя бы один раз, то используйте конструкции Do …Loop While или Do …Loop Until.

Примечания

· Оператор break используется в теле цикла для преждевременного завершения его выполнения, например, по некоторому условию.

· Оператор continue используется, для того чтобы прервать выполнение данного шага цикла и продолжить со следующего.

· Операторы Exit Do и Exit For служат соответственно для преждевременного выхода из циклов Do и For.

Все перечисленные в данном примечании операторы затрудняют чтение текста программы пользователем, поэтому их использование должно быть ограничено теми местами, где без этого не обойтись.

3. 3 ДЕМОНСТРАЦИОННЫЕ ПРИМЕРЫ

Пример 1

'Имя файла: From 1 to 20. vbs

'Вывод на экран чисел от 1 до 20 с шагом 2

 

For x=1 To 20 Step 2

            s=s& vbCrLf& x

MsgBox " Последовательность от 1 до 20 с шагом 2: " & s

Next

Пример 2

'Имя файла: For_Next. vbs

'Вычислить сумму s=1+1/2+1/3+1/4+... +1/60

'C использованием конструкции Do... Loop Until

 

option explicit

dim a, s

MsgBox " Вычисление суммы s=1+1/2+1/3+1/4+... +1/60"

s=0

For a=1 to 60

    s=s+1/a

Next

MsgBox " s=1+1/2+1/3+1/4+... +1/60= " & s,, " Результат: "


Пример 3

'Имя файла: For_Step. vbs

'Вычисление значений функции y=x*x+3 при х изменяющемся от -12 до 12 с 'шагом 2

MsgBox " Вычисление значений функции y=x*x+3" & vbCrLf& _

          " при х изменяющемся от -12 до 12 с шагом 2",, _

          " Вычисление значений функции"

For i=-12 to 12 Step 2

s1=i*i+3

s=" при x=" & i& " y=" & s1& vbCrLf& s

Next

MsgBox s,, " Значения функции y=x*x+3"

Пример 4

'Имя файла: While_Wend. vbs

'Вычислить сумму s=1+1/2+1/3+1/4+... +1/60

'C использованием конструкции While... Wend

option explicit

dim a, s

MsgBox " Вычисление суммы s=1+1/2+1/3+1/4+... +1/60"

a=1

s=0

While a< =60

    s=s+1/a

    a=a+1

Wend

MsgBox " s=1+1/2+1/3+1/4+... +1/60= " & s,, " Результат: "

Пример 5

'Имя файла: Do While__Loop. vbs

'Вычислить сумму s=1+1/2+1/3+1/4+... +1/60

'C использованием конструкции Do While... Loop

option explicit

dim a, s

MsgBox " Вычисление суммы s=1+1/2+1/3+1/4+... +1/60"

a=1

s=0

Do While a< =60

    s=s+1/a

    a=a+1

Loop

MsgBox " s=1+1/2+1/3+1/4+... +1/60= " & s,, " Результат: "


Пример 6

'Имя файла: Do__Loop While. vbs

'Вычислить сумму s=1+1/2+1/3+1/4+... +1/60

'C использованием конструкции Do Loop... While

option explicit

dim a, s

MsgBox " Вычисление суммы s=1+1/2+1/3+1/4+... +1/60"

a=1

s=0

Do

    s=s+1/a

    a=a+1

Loop While a< =60

MsgBox " s=1+1/2+1/3+1/4+... +1/60= " & s,, " Результат: "

Пример 7

'Имя файла: Do Until__Loop. vbs

'Вычислить сумму s=1+1/2+1/3+1/4+... +1/60

'C использованием конструкции Do Until... Loop

option explicit

dim a, s

MsgBox " Вычисление суммы s=1+1/2+1/3+1/4+... +1/60"

a=1

s=0

Do Until a> 60

    s=s+1/a

    a=a+1

Loop

MsgBox " s=1+1/2+1/3+1/4+... +1/60= " & s,, " Результат: "

Пример 8

'Имя файла: Do __Loop Until. vbs

'Вычислить сумму s=1+1/2+1/3+1/4+... +1/60

'C использованием конструкции Do... Loop Until

option explicit

dim a, s

MsgBox " Вычисление суммы s=1+1/2+1/3+1/4+... +1/60"

a=1

s=0

Do

    s=s+1/a

    a=a+1

Loop Until a> 60

MsgBox " s=1+1/2+1/3+1/4+... +1/60= " & s,, " Результат: "

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...