1
resposta

Resolucão exercício 17

const tempoMinimo = 5;
const temperaturaIdealAlcancadaEm = 3;
let temporizador = 1;
while(temporizador < tempoMinimo){
    console.log(`Aquecendo... segundo ${temporizador}`);
    if(temporizador === temperaturaIdealAlcancadaEm){
        console.log('Temperatura ideal atingida.');
    }; 
    
    temporizador++;
}
console.log(`Tempo total de aquecimento: ${temporizador} segundos`);
1 resposta

Olá, Raonny, como vai?

Seu código está funcional e a lógica geral do temporizador está bem aplicada. O uso do while para controlar o ciclo de aquecimento e a verificação da condição com if para identificar o momento em que a temperatura ideal é atingida foram implementados corretamente.

Há apenas um pequeno detalhe relacionado à condição do laço. Como o while está utilizando temporizador < tempoMinimo, o loop executa somente até o segundo 4. Isso acontece porque quando temporizador chega a 5 a condição deixa de ser verdadeira e o bloco não é executado. Dessa forma, a mensagem "Aquecendo... segundo 5" não aparece, embora o valor final exibido seja 5 devido ao incremento após a última iteração.

Uma forma de ajustar o comportamento é permitir que o laço execute também no quinto segundo, utilizando <= na condição.

Por exemplo:

const tempoMinimo = 5;
const temperaturaIdealAlcancadaEm = 3;
let temporizador = 1;

while (temporizador <= tempoMinimo) {
    console.log(`Aquecendo... segundo ${temporizador}`);
    
    if (temporizador === temperaturaIdealAlcancadaEm) {
        console.log('Temperatura ideal atingida.');
    }

    temporizador++;
}

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

Com esse ajuste, todos os segundos esperados são exibidos corretamente e o comportamento do temporizador fica alinhado com a saída proposta no exercício.

Obrigado por compartilhar sua solução no fórum. Continue praticando e trazendo suas implementações para discussão. O fórum segue à disposição.

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