O Teu Mundo - Muito mais do que possas imaginar...
15.- Loop DO LOOP Americ10

Bem-vindo ao O Teu Mundo!
Registre-se, conecte-se para ter acesso ao forum por completo, ainda podera ter um perfil que pode ser modificado com css e muito mais...



15.- Loop DO LOOP

Ir em baixo

15.- Loop DO LOOP Empty 15.- Loop DO LOOP

Mensagem por Miguel Rocha em Qui Mar 25, 2010 1:01 pm

O loop DO...LOOP é muito versátil. Com ele se pode criar grande variedade de loops diferentes, loops que comprovem uma condição antes de executar o loop uma vez, depois da primeira execução e com combinações com enquanto (WHILE) que se cumpre uma condição ou até (UNTIL) que essa condição se cumpra. A sintaxe desta estrutura é a seguinte:

Código:
DO [WHILE | UNTIL (condicao)]
      Sentencas
      .....
LOOP [WHILE | UNTIL (condicao)]

Vamos tratar de explicar esta sentença de maneira pausada para que seja mais fácil de entender. O que sempre tenderemos nesses loops é o DO e o LOOP, entre estes dois colocaremos as sentenças que queremos executar em cada Iteração do loop. O loops têm que avaliar entre cada iteração se continuam se executando ou não, para isso avaliam uma condição. O versátil deste loop é que a condição se pode expressar de muitas maneiras distintas.

Condição expressada ao lado do DO: neste caso a condição se avalia antes de começar a se executar o loop.
Condição expressada ao lado do LOOP: neste caso a condição se avalia depois de se executar o loop. Tem como diferença principal frente ao outro método que neste caso o loop se executará pelo menos uma vez.

Além de poder expressar a condição nesse dois sites também se pode construir a condição com um enunciado enquanto (WHILE) ou um enunciado até (UNTIL). As diferenças semânticas destas duas possibilidades se transferem também a sua maneira de funcionar.

Veremos dois exemplos deste loop para compreender seu funcionamento. O exemplo pede constantemente o nome do autor da página e não pára até que o nome seja "migue". O usuário também tem a possibilidade de escrever "out", nesse caso, comprovado com um enunciado IF, se sai do loop rompendo com a sentença EXIT DO, utilizada para romper loops.

Código:
Dim entrada
entrada = ""
DO WHILE (entrada <> "migue")
  entrada = inputbox ("Diga o nome do autor","seguraca","migue",2,3)
  if (entrada = "out") then
    msgbox "saia pela porta dos fundos"
      exit do
  end if
LOOP


O seguinte exemplo realiza uma conta e entre conta e conta se mostra o valor da conta atual em uma janelinha onde sai um botão de Tentar outra vez e outro de Cancelar. Se clicar em Tentar outra vez, continua se executando o loop e se clicar Cancelar sai pela porta de trás, de maneira parecida a como se saia no exemplo anterior, com EXIT DO.

Código:
option explicit
dim cont
dim resposta
cont = 0
DO
  cont = cont +1
  respuesta = msgbox (cont,69,"Variavel do loop, com valor 6 se sair")
  if (resposta = 2) then
      msgbox "Conta Cancelada",16,"Cancelou!"
      exit do
  end if
LOOP UNTIL (cont = 6)

_______________________________________________
Olá Convidado, actualmente este fórum tem 33 membros, 114 categorias , 433 tópicos e 793 posts, mas apenas 0 são teus !
Vá Convidado , tens de postar mais !

Miguel Rocha
Administrador
 Administrador

Masculino Mensagens : 692
Pontos : 22478
Reputação : 11
Idade : 27
Localização : Porto


Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum