Cursos / Informática para Internet / Programação Estruturada / Aula
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