ТОП 10:

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= « ».

Задания для самостоятельной работы

Вариант Задание Вариант Задание
, где n – целое число , где n – целое число
, где n – целое число, х – действительное число
, где n – целое число, х – действительное число
, где n – целое число
, где n – целое число
, где n – целое число, х – действительное число , где n – целое число

 


Лабораторное занятие № 15 (1 час)







Последнее изменение этой страницы: 2017-02-10; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.232.38.214 (0.006 с.)