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

[Dúvida] questão 5 da quarta lista de exercícios

alguém poderia, por favor, me explicar a lógica da solução?

Eu achei um pouco difícil o próprio enunciado porque eu preencheria o numeroDigitado, ao mesmo tempo que deveria criar um laço de repetições até que o numeroDigitado fosse zero e a quantidade de numeroDigitado diferente de zero seria computado

Ponto 1 que eu não entendi:

é possível ter um laço de repetição comigo alterando manualmente uma variável entre cada rodada?

Ponto 2. seria tido um input para cada rodada e elas seriam computadas contando as repetições e quantidades de vezes que o número zero(o) não foi designado para o numeroDigitado?

Ponto 3. não seria mais proveitoso conhecermos listas antes para ai então aplicarmos um laço de repetições que simule todas as alterações do númeroDigitado até que fosse o zero.

Ponto4. Não seria interessante estabelecer um limite de 0 a 10 por exemplo, para que o numero vá decrescendo até chegar ao zero, se o objetivo deste exercício seria lidar com o laço de repetição e incremento para as variáveis repetições e quantidade de tentativas até o acerto?

// 5. Receber números até digitar 0 (simulado com array) 

let numeroDigitado;
let quantidade = 0;
let repeticoes = 0;

do {
  // simulação manual de entrada
  if (repeticoes === 0) {
    numeroDigitado = 5; // o numero de repetições não deveria ser zero somente se eu digitasse o número zero(0) no primeiro preenchimento do numeroDigitado?
  } else if (repeticoes === 1) {
    numeroDigitado = 10;
  } else {
    numeroDigitado = 0;
  }

  if (numeroDigitado !== 0) {
    quantidade++;
  }

  repeticoes++;
} while (numeroDigitado !== 0);

console.log("Total de números digitados: " + quantidade);

Esse é realmente o exercício que vocês gostariam que resolvessemos com o que sabemos até agora?

// 5. Receber números até digitar 0

// Simule a digitação de números usando uma variável numeroDigitado.     
         // (primeiro passo é criar a variável número digitado - let numeoDigitado)
// Use um do...while para repetir a execução até que o valor seja 0.
        // vale relembrar que o número digitado é alterado manualmente a cada repetição
// Conte quantos números diferentes de zero foram digitados e mostre o total no console ao final.

// Observação:
// Considere que o valor de numeroDigitado é alterado manualmente a cada repetição.
1 resposta

Olá, Esperidião! Tudo bem?

Vamos entender a lógica por trás do exercício 5 da sua lista de exercícios.

A ideia principal aqui é usar um laço do...while para simular a entrada de números até que o número digitado seja zero. Durante esse processo, você deve contar quantos números diferentes de zero foram "digitados".

Vamos aos seus pontos

Ponto 1: Sim, é possível ter um laço de repetição onde você altera manualmente uma variável a cada rodada. No seu caso, a variável numeroDigitado é alterada manualmente dentro do laço para simular a entrada de números.

Ponto 2: A cada iteração do laço, você simula um novo número sendo "digitado". Se o número for diferente de zero, você incrementa a variável quantidade, que conta quantos números diferentes de zero foram "digitados".

Ponto 3: Conhecer listas (ou arrays) pode ser útil, mas o foco deste exercício é entender o funcionamento do laço do...while. Ele é usado quando você quer que o bloco de código seja executado pelo menos uma vez, o que é o caso aqui, já que você quer garantir que pelo menos uma entrada seja processada.

Ponto 4: Estabelecer um limite de 0 a 10 para o número pode ser uma abordagem interessante para outros tipos de exercícios, mas aqui o objetivo é praticar a lógica de repetição até que uma condição específica seja atendida (neste caso, até que o número digitado seja zero).

Exemplo

No seu código, você está simulando entradas com os valores 5, 10 e 0. O laço do...while continua executando até que numeroDigitado seja zero. Durante as iterações, você conta quantas vezes um número diferente de zero foi "digitado", incrementando a variável quantidade sempre que numeroDigitado não for zero.

Espero ter ajudado e fico à disposição se precisar.

Abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado