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!

0
respostas

Desafio prático! Lógica de programação

Bom dia, sou um entusiasta na área de programação e estou em um momento de transição de carreira, saindo da eletrônica e pondo a cara a tapa nessa área que sempre me fascinou, já possuo uma certa noção básica, mas também ainda estou aprendendo muitas coisas, os únicos momentos prático mesmo é aqui na plataforma e às vezes no trabalho quando tenho que retrabalhar os códigos, corrigir ou fazer pequenas melhorias, nos programas das jigas de teste de linha de produção, chega de mais de longas e vamos ver se eu me sai bem com a lógica nesse exercício.

//Contador de números de 0 a 10
let contador = 0;
while (contador <= 10) {
    console.log(contador);
    contador++; //Acrescentador de 1 a cada iteração. O sinal ++ significa "acrescentar e atribuir", exemplo: 0 + 1 = 1, então contador = 1 e assim por diante até que o contador chegue a 10.
}

// Contador de números reverso de 10 a 0
let contadorReverso = 10;
while (contadorReverso >= 0) {
    console.log(contadorReverso);
    contadorReverso--; // Decrementação do contador, ou seja, diminui 1 a cada iteração. O sinal -- significa "diminuir e atribuir", exemplo: 10 - 1 = 9, então contadorReverso = 9 e assim por diante até que o contadorReverso chegue a 0.
}

// Contador de números multipllicados até alcançar 100
let contadorMult = 1;
while (contadorMult <= 100) {
    console.log(contadorMult);
    contadorMult *= 2; // Multiplicando por 2 a cada iteração. O sinal *= significa "multiplicar e atribuir", exemplo: 2 * 2 = 4, então contadorMult = 4 e assim por diante até que o contadorMult chegue a 100.
}

Vou colocar abaixo os 3 código que eu fiz, sendo eles, um para incrementar, decrementar e multiplicar.
Obs: Já vi que posso melhorar no meu último teste, caso eu coloque valores negativos, vou ter que estudar uma lógica para impedir que o usuário coloque e faça isso, porque se não buga, pelo menos no de multiplicação bugou heheheh... rindo de triste, porque só nisso aqui me foram 2:30 para aprender e anotar e praticar os códigos.

1) Contador Incrementador:

const readline = require('readline').createInterface({
    input: process.stdin,
    output: process.stdout
});

readline.question('Até quanto você quer contar? ', (numeroDigitado) => {
    // Transformamos o texto digitado em um número de verdade
    let limite = parseInt(numeroDigitado);

    let contador = 0;
    while (contador <= limite) {
        console.log(contador);
        contador++;
    }

    readline.close(); // Sempre feche no final da última ação!
});

2) Contador Decrementador:

const readline = require('readline').createInterface({
    input: process.stdin,
    output: process.stdout
});

readline.question('Até quanto você quer contar? ', (numeroDigitado) => {
    // Transformamos o texto digitado em um número de verdade
    let limite = parseInt(numeroDigitado);

    let contadorReverso = limite;
    while (contadorReverso >= 0) { // isso é um loop que vai contar de trás para frente
        console.log(contadorReverso);
        contadorReverso--; // Decrementamos o contador a cada iteração
    }

    readline.close(); // Sempre feche no final da última ação!
});

3) Contador Multiplicador:

const readline = require("readline").createInterface({
  input: process.stdin,
  output: process.stdout,
});
function iniciarContador() {
    readline.question("Por qual número você quer multiplicar? ", (numeroDigitado) => {
        // Transformamos o texto digitado em um número de verdade
        let limite = parseInt(numeroDigitado);
            if (limite === 0 || limite === 1) {
            console.log("O número digitado é zero ou um.");
            iniciarContador(); // Aqui chamamos a função novamente para reiniciar o programa.
        } else {
            console.log("O número digitado é:", limite);
            let contadorMult = 1;
            while (contadorMult <= 100) {
            console.log(contadorMult);
            contadorMult *= limite; // Multiplicando pelo número digitado a cada iteração. O sinal *= significa "multiplicar e atribuir", exemplo: 2 * 2 = 4, então contadorMult = 4 e assim por diante até que o contadorMult chegue a 100.
        }
            readline.close();
        }
    });
}
iniciarContador(); // Aqui chamamos a função para iniciar o programa.

Outra observação, eu já tinha visto em sala de aula do meu curso na faculdade que para usar o .js é preciso criar aquela estrutura pelo menos básica de .html, optei por estudar e aprender esse novo conceito que me ajudou muito, porque como só queria ver funcionando o código nas operações matemáticas nodejs readline ajudou e muito para mim aqui, me facilitou mas tive que estudar para aprender a usar, e acho que aprendi e ficou até bem documentado pelo código.