Exercícios Resolvidos de Loops infinitos, loops aninhados e os comandos break e continue

Ver Teoria

Enunciado

Observe os dois códigos abaixo.

Do ponto de vista do usuário, existe alguma diferença? Explique

Passo 1

Vamos lá pessoal! Essa questão é legal.

Quando uma questão pede a comparação entre códigos, a melhor coisa que podemos fazer é executar os dois! E exatamente isso que vamos fazer.

Vamos executar o primeiro código:

Nesse código temos um loop infinito que recebe um valor do usuário, em seguida testa se este valor é par. Caso seja impar o loop é interrompido, e caso seja par o loop continua e o número é somado ao resultado final.

Passo 2

Agora vamos executar o segundo código e ver o que acontece. Pra facilitar a comparação, vamos usar as mesmas entradas que usamos no programa anterior

Nesse código o loop é iniciado com a condição de que só irá funcionar enquanto o número n u m for par.

Note que pra isso ser possível, a variável n u m tem que ser inicializada com o valor zero na linha 07. Pois se começar com um valor ímpar o loop não será iniciado. Se começar com um valor diferente de zero, a soma na linha 11 será prejudicada.

Passo 3

Certo, agora vamos comparar.

Do ponto de vista do usuário, não há nenhuma diferença entre os códigos. Os dois permitem que ele insira quantos números pares ele quiser. E caso digite um número ímpar então o programa acaba e é mostrada a soma de todos os números pares.

A diferença está apenas no código.

Isso mostra que um mesmo programa pode ser escrito de várias formar diferentes. As vezes usar um loop infinito com break pode ser mais ou menos prático. Quem decide isso é o gosto do programador.

Resposta

Ei, a resposta está no passo a passo :)