progs.biz  
Начало>VB.NET>Основы>Урок 23
C#
VB.NET
Visual C++.NET
ASP.NET
Visual C++ 6
WinAPI
C/C++
Delphi
C++ Builder
Java
SQL
PHP
DirectX
Visual Basic 6.0
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

Б. Ивьен и др. Visual Basic .NET. Библия пользователя
Б. Ивьен и др. Visual Basic .NET. Библия пользователя
Заказать на Озоне



Яндекс-цитирования

Основы VB.NET
Урок 23. Операторы циклов While и Do...Loop

Циклы которые мы рассмотрим на этом уроке, в отличие от циклов типа For...Next, выполняются заранее неизвестное число раз. Т. е. если в вашей программе вы точно не знаете, сколько раз должно выполниться то или иное действие, то размещайте его в цикле While или в цикле Do...Loop. Типичный пример - это запрос пароля у пользователя. Со скольки попыток полькозателю удасться набрать правильный пароль - никто не знает, так что в этом случае надо использовать циклами из этого урока.

У таких циклов есть две разновидности - Do...Loop и собственно While. До того, как переходить к конкретному синтаксису этих разновидностей, отметим, что Do...Loop точно один раз выполнится (а может и больше), а While может не выполнится ни одного раза.

Теперь конкретный синтаксис.

Пример использования цикла While:

        Dim password As String
        Console.WriteLine("Введите пароль")
        password = Console.ReadLine()
        While password <> "qwerty"
            Console.WriteLine("Неправильный пароль")
            Console.WriteLine("Введите пароль")
            password = Console.ReadLine()
        End While
        Console.WriteLine("Правильный пароль")

Условием продолжения цикла While является значение True после ключевого слова While. Т. е. в данном случае пока пользователь не введет qwerty в качестве пароля, цикл будет выполняться еще и еще.

Теперь поговорим о цикле Do...Loop. У него есть несколько разновидностей (4 штуки). Так, проверка того, продолжать ли цикл или нет, может находиться или в его начале, или в конце:

        Do
            'Некоторые операторы
        Loop While k>0

        Do While k>0
            'Некоторые операторы
        Loop

Кроме того, вместо слова While можно писать противоположное слово Until. В отличие от While, прикотором цикл будет продолжаться когда условие после While истинно, вариант с Until будет продолжаться, когда условие после Until - ложно. Until, как и While, может стоять как в начале, так и в конце цикла. Вот так, например, можно запрашивать пароль использую ключевое слово Until:

        Dim password As String
        Console.WriteLine("Введите пароль")
        password = Console.ReadLine()
        Do Until password = "qwerty"
            Console.WriteLine("Неправильный пароль")
            Console.WriteLine("Введите пароль")
            password = Console.ReadLine()
        Loop
        Console.WriteLine("Правильный пароль")

Вообще говоря цикл Do...Loop со своими разновидностями выглядит более логичным. Что же до цикла While...Do While, то он эквивалентен варианту

        Do While s>21 'Условие продолжения
            'Некоторые операторы
        Loop

цикла Do...Loop.

Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2008 сайт progs.biz
© 2002-2008 Игорь Алексеев