Cursos / Redes de Computadores / Programação Estruturada / Aula

arrow_back Aula 05 - Comandos de iteração

4. O Laço do-while

Não sei se você notou, mas, no ProgramaWhileSorteio, existe uma repetição do seguinte trecho de código:

Essa duplicação deve-se ao fato de que é preciso ter um valor inicial para ser testado na primeira vez em que o laço é executado. Para evitar essa duplicação, você poderia fazer algo como:

Note que agora o valor -1, que é um valor que nunca será sorteado, está sendo usado como valor inicial da variável. Isso garante que o laço seja executado pelo menos uma vez. Nessas situações, em que sabemos que o bloco de código do laço precisa ser executado pelo menos uma vez, nós fazemos uso do comando do-while. Veja agora esse mesmo programa com o do-while:

Note que no do-while a condição vai para o final da estrutura. O funcionamento desse código é o seguinte: o bloco do código do laço é executado a primeira vez e depois é verificada a condição, que no caso do exemplo é numero != chute. Se essa condição retornar true, o laço será executado novamente. Caso a expressão seja falsa, o laço termina. Perceba que ProgramaDoWhileSorteio é uma implementação bem mais natural que a do ProgramaWhileSorteio ou do ProgramaWhileSorteio2, apesar de todas essas implementações serem equivalentes.

No laço do-while, o código dentro do laço sempre será executado pelo menos uma vez.

Um uso interessante da estrutura do-while é na validação de valores lidos do usuário. Considere o caso de querer que o usuário digite um número inteiro entre 1 e 10. Você pode escrever o seguinte bloco de código para garantir que o programa só dará continuidade após o usuário digitar um número que atende a restrição:

Note que o laço acima só irá terminar quando o usuário digitar um número entre 1 e 10. Qualquer número menor do que 1 ou maior do que 10 irá fazer com que o laço seja executado novamente, ou seja, que o número seja solicitado novamente ao usuário.

Versão 5.3 - Todos os Direitos reservados