Laço While

Agora que você está familiarizado com condicionais, é hora de ver um outro tipo de laço: o laço while.

Este tipo de laço é muito mais poderoso que o visto anteriormente. Mas ele requer entendimento de condicionais. Ele é basicamente assim:

while cond
   ...
end
                      

Onde cond é a condição como as que vimos no capítulo anterior.

Contagem

Aqui está um simples exemplo:


Vamos examinar este programa:

1. Definimos count como 0
2. Enquanto count < 10 nós estaremos dentro do laço.
3. Dentro do laço nós imprimimos a mensagem na tela e adicionamos 1 a count. Agora count contém 1.
4. Enquanto count< 10 novamente vamos para outra volta dentro do laço.
5. ...

Isto continua até que count seja 10. Temos como saída deste laço isso:


Em outras palavras, o laço while vai continuar repetindo o laço enquanto a condição for verdadeira. Daí o nome while ("enquanto", em português).

Poder do 2

Estas são algumas coisas fáceis de fazer com o laço while, mas muito difíceis com 'n.times'.

Suponha que nós queremos saber a maior potência de 2 que seja menor que 10000. Isto é simples com o laço:

 


Pense como isso seria difícil usando 'n.times'.

Exercícios

1. Reescreva o último programa de modo que o computador pergunte pelo número máximoe o programa compute a potência correspondente de 2.

2.Rode o programa acima, e escreva 1e10 como entrada. O que acontece?

Se você usou o método String#to_i há chances de "1e10" ser convertido para 1. Vamos ao irb para testar.

Você vê, 1e10 é um Float. Deste modo, você deve usar o String#to_f.

 

topo da página

<< Página Anterior | índice | Próxima Página >>
Apostilas de Ruby e RGSS

nossos tutoriais

navegue

livros recomendados