Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

temporizador


const tempo = 5;
let temperatura = 3;
let contando = 1;

do {
    console.log(`Aquecendo... segundo ${contando}`);   
    if (contando === temperatura) {
        console.log(`Temperatura ideal atingida.`);
    }
    contando++
} while (contando <= tempo);

console.log(`Tempo total de aquecimento: ${contando-1} segundos`)
1 resposta

Oi, Tairone! Tudo bem?

Boa entrega no temporizador de aquecimento, o do...while ficou bem encaixado para simular a contagem segundo a segundo.

Um ponto interessante no seu código é o contando-1 na última linha. Ele funciona, mas revela um efeito comum em laços: a variável de controle sempre termina uma unidade acima do limite, já que o incremento acontece antes do teste da condição.

A dica é usar a própria constante tempo na mensagem final, assim: console.log(\Tempo total de aquecimento: ${tempo} segundos`)`. O código fica mais legível porque a mensagem passa a refletir a regra do problema em vez de um ajuste de contador.

Vale também renomear temperatura para algo como segundoIdeal ou tempoParaTemperaturaIdeal, já que a variável guarda um instante da contagem e não um valor em graus, nomes alinhados ao que a variável realmente representa poupam bastante tempo quando o programa cresce.

const tempo = 5;
const segundoIdeal = 3;
let contando = 1;

do {
    console.log(`Aquecendo... segundo ${contando}`);
    if (contando === segundoIdeal) {
        console.log(`Temperatura ideal atingida.`);
    }
    contando++;
} while (contando <= tempo);

console.log(`Tempo total de aquecimento: ${tempo} segundos`);

Pensando em evoluir o exercício, como você faria para o aquecimento parar assim que a temperatura ideal fosse atingida, sem percorrer os segundos restantes?

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!