Loop Until проверка выполнения условия
Блок - схема для цикла Do - Until с проверкой в конце цикла представлена ан рисунке 14.2. При работе неопределенного цикла, в цикле что-то должна меняться иначе будет бесконечный цикл. Для остановки бесконечного цикла можно использовать комбинацию клавиш Ctrl + Break или пункт End из меню Run или же просто закрыть приложение.
Рисунок 14.2. Блок-схема цикла Do – Until
Приведем пример. Необходимо из списка подсчитать количество слов до слова «ZZZ». Sym=0 Do A$ = InputBox$(«Name») Sym = Sym + 1 Loop Until A$ = «ZZZ» Print «Total»; Sym Проблема состоит в том, что цикл обрабатывается на один проход больше чем необходимо. Пользователь вводит первое имя, и счетчик получит значение «1». Далее, поскольку проверка происходит в конце цикла, счетчик увеличится ещё на одну единицу. Поэтому, когда цикл завершается, значение счетчика становится равным двум вместо одного. Одним из решений этой проблемы является уменьшение значение счетчика на единицу после завершения его работы. Кроме того, Visual Basic для решения поставленной задачи позволяет просто передвинуть проверку условия на начало цикла. Sym = 0 A$ = InputBox$(«Name») Do InputBox$ = «ZZZ» Sym = Sym + 1 A$ =InputBox$(«Name») Loop Теперь пользователь набирает первое значение перед началом цикла. После этого в программе выполняются первая проверка. Цикл начинает работу и к счетчику добавляется единица, если условие не было выполнено. Еще одним неопределенным циклом является цикл Do While. Данный цикл отличается от рассмотренных раннее зарезервированным словом While вместо Until. Блок схема для цикла Do -While с проверкой условия в начале цикла представлена на рисунке 14.3.
Рисунок 14.3. Блок-схема цикла Do – While
Любой цикл Do - Until легко превратить в цикл Do -While изменив логическое выражение на противоположное. Представленные ниже выражения работают одинаковым образом. Do Do . . . . . . Loop Until x$<> « » Loop While x$= « ». Кроме того, в выражении можно использовать условия And, Or, Not. Например, предположим, что необходимо продолжить работу цикла до тех пор, пока число больше нуля и поле ввода пустое. Do While Number>0 And Text1.Text= « ». Задания для самостоятельной работы
Лабораторное занятие № 15 (1 час)
Популярное: Почему стероиды повышают давление?: Основных причин три... Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (587)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |