Clube VB - Estruturas de Repetição

Aula 16

No VB, além do For ... Next, temos outros comandos de repetição e, iremos estudar neste módulo o comando DO ... LOOP. Ao contrário do For ... Next, onde estipulamos um determinado número de vezes que o laço deverá executar, no DO ... LOOP este número de vezes será determinado através de uma determinada condição. Veja o trecho de código a seguir:

Do While contador<30
    contador = contador + 1
Loop

Observe que, no exemplo acima, o laço (conjunto de comandos) será executado enquanto o valor da variável contador for inferior à 30. Caso o valor de contador, através de código (contador=contador+1), este Loop seria eterno (desde que, ao alcançar a linha DO WHILE, a variável contador tivesse um valor inferior a 30). 

Em resumo, este tipo de Loop é utilizado quando não sabemos ao certo quantas vezes o laço deve ser executado. Veja o exemplo a seguir:

  • Inicie um novo projeto em VB;

  • Insira no novo formulário um Label e um ListBox

  • Apague o conteúdo da propriedade CAPTION;

  • Abra a janela de código e insira a sequência a seguir no evento LOAD do Form:

Private Sub Form_Load()
contador = 1
continua = "s"
Do While continua <> "n"
List1.AddItem (Str(contador))
continua = InputBox("Pergunta", "Continua contagem S/N?", "s")
contador = contador + 1
Loop
Label1.Caption = "Contagem Finalizada"
End Sub

Neste pequeno exemplo, enquanto você continuar respondendo (s) na caixa de diálogo denominada "Pergunta", o sistema irá acrescentando uma unidade a variável contador e ao mesmo tempo, lançando o seu valor dentro do ListBox. A partir do momento que você digitar "n", ou seja, que não quer que a contagem prossiga, o sistema sairá do loop, pois este é válido apenas enquanto o valor da variável continua for diferente de "n" e, você finalmente conseguirá ver o conteúdo do ListBox com o número de vezes que o loop foi executado.

Exercício: observe que no exemplo acima, quando solicitamos que a contagem seja interrompida, sempre teremos uma unidade a mais do que realmente foi solicitado. Tente solucionar este problema.

A condição a ser utilizada para interromper o Loop poderá ser qualquer uma condição lógica existente no VB. Caso queira também, poderá interromper o Loop mesmo que a condição seja falsa, utilizando-se para isso, em qualquer ponto do Loop, o comando ExitDo. este tipo de comando, geralmente é acompanhando de um comando If, ou seja, teremos uma condição dentro de um Loop condicional.

 

Voltar

Principal | Cursos Gratuitos | Cursos Diversos | Dicas | Promoções | Mapa do Site | QUIZ |
| Classificados | Central Currículo | Fórum | Fale Conosco