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

Операторы цикла с неизвестным заранее числом повторений(do. . . LOOP)

Читайте также:
  1. I ФУНДАМЕТНЫ. ЭЛЕМЕНТЫ НУЛЕВОГО ЦИКЛА
  2. I ФУНДАМЕТНЫ. ЭЛЕМЕНТЫ НУЛЕВОГО ЦИКЛА
  3. I.2 Операторы цикла с присваиванием.
  4. I.3. Оператор цикла с предусловием.
  5. I.ФУНДАМЕНТЫ, ЭЛЕМЕНТЫ НУЛЕВОГО ЦИКЛА
  6. Quot;…ЗАРАНЕЕ ОБРЕЧЕННЫЕ НА ПОЛНЕЙШИЙ ПРОВАЛ…"?
  7. Turbo Pascal. Операторы цикла.

Для управления циклом с неизвестным заранее числом повторений в VB существуют оператор цикла DO... LOOP («Делать... петля»).

Он повторяет блок операторов, пока условие истинно, или до тех пор, когда оно станет ложным. Существует два варианта цикла DO... LOOP:

• с проверкой выражения вначале DO WHILE... LOOP и DO LINTIL... LOOP;

• с проверкой выражения в конце DO... LOOP WHILE и DO... LOOP UNTIL.

 

Логика работы оператора с проверкой условия в начале цикла для DO WHILE...LOOP. Для DO UNTIL... LOOP операторы цикла, стоящие между DO UNTIL и LOOP будут выполняться в том случае, если значение условия будет ложным.

В случае проверки выражения в конце цикла для операторов DO... LOOP WHILE логика заключается в следующем. Сначала выполняются операторы цикла между DO и условием LOOP WHILE, затем вычисляется условие и проверяется. Если оно выполняется, то управление передается на начало цикла, иначе осуществляется выход из цикла. В случае использования DO... LOOP UNTIL, цикл выполняется до тех пор, пока условие принимает значение ложь.

Рассмотрим варианты использования этого оператора, ВНЕСЯ изменения в программный код нашего примера.

 

1. Dim s As Single s = InputBox("Сколько будет 2+2?", "Тест") Do While s <> 4 MsgBox("Неверно! Попробуйте еще раз") s = InputBox("Сколько будет 2+2?", "Тест") Loop MsgBox("ПРАВИЛЬНО!!!") 2. Dim s As Single s = InputBox("Сколько будет 2+2?", "Тест") Do MsgBox("Неверно! Попробуйте еще раз") s = InputBox("Сколько будет 2+2?", "Тест") Loop While s <> 4 MsgBox("ПРАВИльнО!)   3. Dim s As Single s = InputBox("Сколько будет 2+2?", "Тест") Do Until s = 4 MsgBox("Неверно! Попробуйте еще раз") s = InputBox("Сколько будет 2+2?", "Тест") Loop MsgBox("ПРАВИЛЬНО!!!") Dim s As Single s = InputBox("Сколько будет 2+2?", "Тест") Do MsgBox("Неверно! Попробуйте еще раз") s = InputBox("Сколько будет 2+2?", "Тест") Loop Until s = 4 MsgBox("ПРАВИЛЬНО!!!")

 

Во всех рассмотренных вариантах тестирование может проводиться бесконечное число раз до получения правильного ответа. Только когда переменная s получит значение 4 (правильный ответ на поставленный вопрос) программа закончит свое выполнение. Каждый из вариантов имеет как преимущества, так и недостатки. Поэтому при составлении программного кода следует выбирать наиболее приемлемый для конкретного случая вариант.

Иногда бывает необходимо прервать цикл DO...LOOP, если выполняется какое-либо дополнительное условие. Это может быть сделано с помощью оператора Exit Do.

ВВНЕСИТЕ следующие изменения в последний вариант программного кода:

 

Dim s As Single, t As Integer s = InputBox("Сколько будет 2+2?", "Тест") Do Until s = 4 MsgBox("Неверно! Попробуйте еще раз") s = InputBox("Сколько будет 2+2?", "Тест") t = t + 1 If t = 5 Then MsgBox("Очень плохо!. Иди учи математику!") Exit Do End If If s = 4 Then MsgBox("Правильно") Loop


Дата добавления: 2015-07-08; просмотров: 141 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
ЦИКЛ СО СЧЕТЧИКОМ (FOR ... NEXT)| ВОЗНИКНОВЕНИЕ ТРАВМ И МАСОК

mybiblioteka.su - 2015-2024 год. (0.006 сек.)