Skip to content

Hoje você vai aprender sobre algoritmos e lógica de programação, a base de tudo que faremos daqui pra frente. Assim como em uma receita de bolo, na programação, devemos passo a passo utilizar comandos para resolver um problema.

Notifications You must be signed in to change notification settings

EduSouza-programmer/Trybe_Exercicio_4-3_Edu_Souza

Repository files navigation

Image Trybe

Exercício 4-3: JavaScript - Lógica de Programação e Algoritmos - Concluído o/ o/ o/

“Quanto mais você estuda, mais aprende e se aproxima de realizar seu sonhos!”

Made by Eduardo Souza   Github page Edu Souza   License

Sobre o Exercício  |   Entrega  |   Licença

🚀 Sobre o Exercício

Hoje você vai aprender sobre algoritmos e lógica de programação, a base de tudo que faremos daqui pra frente. Assim como em uma receita de bolo, na programação, devemos passo a passo utilizar comandos para resolver um problema. Essa sequência de comandos se chama algoritmo. Para criar um algoritmo, temos que desenvolver uma capacidade analítica para transformar grandes problemas em pequenos e encadeados comandos lógicos. Desenvolvemos essa forma de raciocinar com a lógica de programação.

Requisitos

Leia atentamente os enunciados e faça o que se pede!

Entrega

Sumário

  • 1. Para o primeiro exercício de hoje, faça um programa que, dado um valor n qualquer, seja n > 1... ;

  • 2. Para o segundo exercício, faça o mesmo que antes, mas que imprima um triângulo retângulo com 5 asteriscos... ;

  • 3. Agora inverta o lado do triângulo;

  • 4. Depois, faça uma pirâmide com n asteriscos de...;

Bônus

  • Bônus_1: Faça uma pirâmide com n asteriscos de base que seja vazia no meio. Assuma que o valor de...;

  • Bônus_2: Faça um programa que diz se um número definido numa variável é primo ou não;

Questões sobre os desafios [Meus códigos]

Para o primeiro exercício de hoje, faça um programa que, dado um valor n qualquer, seja n > 1, imprima na tela um quadrado feito de asteriscos de lado de tamanho n. Por exemplo:

n = 5

*****
*****
*****
*****
*****

Resposta:

Código Javascript
let numero = 5;
let quantAsteriscos;

if (numero > 1) {
    for (let a = 1; a <= numero; a += 1) {
        quantAsteriscos = "";
        for (let b = 1; b <= numero; b += 1) {
            quantAsteriscos += "*";
        }
        console.log(quantAsteriscos);
    }
}

Back Sumário

Para o segundo exercício, faça o mesmo que antes, mas que imprima um triângulo retângulo com 5 asteriscos de base. Por exemplo:

n = 5

*
**
***
****
*****

Resposta:

Código Javascript
let numero = 5;
let quantAsteriscos = "";

if (numero > 1) {
    for (let i = 1; i <= numero; i += 1) {
        quantAsteriscos += "*";
        console.log(quantAsteriscos);
    }
}

Back Sumário

Agora inverta o lado do triângulo. Por exemplo:

n = 5

    *
   **
  ***
 ****
*****

Resposta:

Código Javascript
let numero = 5;
let asteriscoFormatado = "";

if (numero > 1) {
    for (let a = 1; a <= numero; a += 1) {
        asteriscoFormatado = "";

        for (let b = a; b <= numero; b += 1) {
            asteriscoFormatado += "\xa0";
        }
        for (let c = 1; c <= a; c += 1) {
            asteriscoFormatado += "*";
        }
        console.log(asteriscoFormatado);
    }
}

// Ou podemos realizar outra lógica também o/

/*

let quantAsteriscos = [];

if (numero > 1) {
    for (let a = 1; a <= numero; a += 1) {
        quantAsteriscos.push("*");
        for (let b = a + 1; b <= numero; b += 1) {
            quantAsteriscos.push("\xa0");
        }
        asteriscoFormatado = quantAsteriscos.join("");
        console.log(asteriscoFormatado.split("").reverse().join(""));
        for (let i = quantAsteriscos.length; i > a; i--) {
            quantAsteriscos.pop();
        }
    }
}
*/

Back Sumário

Depois, faça uma pirâmide com n asteriscos de base:

n = 5

  *
 ***
*****

Resposta:

Código Javascript
let numero = 10;
let quantAsteriscos = "";

if (numero > 1) {
    for (let a = 1; a <= numero; a += 1) {
        quantAsteriscos = "";
        for (let b = a; b <= numero; b += 1) {
            quantAsteriscos += "\xa0";
        }
        for (let c = 1; c <= a; c += 1) {
            quantAsteriscos += "*\xa0";
        }
        // conforme a saida do exercício, faço uma verificação para imprimir somente as linhas impares.
        if (a % 2 != 0) {
            console.log(quantAsteriscos);
        }
    }
}

Back Sumário

Bônus_1

Faça uma pirâmide com n asteriscos de base que seja vazia no meio. Assuma que o valor de n será sempre ímpar:

Por último, façamos com que a variável seja incrementada com o valor correspondente a cada loop;
n = 7

   *
  * *
 *   *
*******

Resposta:

Código Javascript -- em resolução
let numero = 7;
let quantAsteriscos = "";

if (numero > 1) {
    //loop pai controlando cada linha do preechimento do triangulo.
    for (let a = 1; a <= numero; a += 1) {
        quantAsteriscos = "";
        // preechendo primeiro com espaçamentos para criar a identação correta do triangulo.
        for (let b = a; b <= numero; b += 1) {
            quantAsteriscos += "\xa0";
        }
        for (let c = 1; c <= a; c += 1) {
            //verifica se não estamos na ultima interação.
            if (a != numero) {
                //se a interação do loop pai é menor ou igual a 2.
                if (a <= 2) {
                    quantAsteriscos += "*\xa0";
                }
                // faz o primeiro asterisco e o ultimo desenhando o triangulo.
                else if ((a >= 3 && c == 1) || (a >= 3 && c == a)) {
                    quantAsteriscos += "*\xa0";
                }
                // preenche com os espaçamentos.
                else {
                    quantAsteriscos += "\xa0\xa0";
                }
            }
            // preenche a base do triangulo.
            else {
                quantAsteriscos += "*\xa0";
            }
        }

        console.log(quantAsteriscos);
    }
}

Back Sumário

Bônus_2

Faça um programa que diz se um número definido numa variável é primo ou não.

  • Um número primo é um número que só é divisível por 1 e por ele mesmo, ou seja, a divisão dele com quaisquer outros números dá resto diferente de zero.

  • Dica: você vai precisar de fazer um loop que vá de 0 ao número definido; Além disso, vai precisar de fazer uma checagem a cada iteração e armazenar os resultados em algum lugar.

Resposta:

Código Javascript
function buscaNumeroPrimos(n) {
    let numerosPrimos = [];
    let indexNumeros = [];
    let contadora = 0;

    for (let i = 2; i < n; i++) {
        //Organizando a lista de números a partir do 2
        indexNumeros[i] = i;
        //console.log("aqui esta o conteudo da array " + indexNumeros[i]);
    }

    //console.log("Verificando tamanho da array indexNumeros, têm : " + indexNumeros.length);
    //console.log("Valor da minha entrada" + n);
    for (let i = 0; i < indexNumeros.length; i++) {
        contadora = 0;
        for (let cal = 0; cal < indexNumeros.length; cal++) {
            if (indexNumeros[i] % cal === 0) {
                console.log("Sendo : " + indexNumeros[i] + " / " + cal + " então resta 0");
                contadora++;
            }
        }

        console.log("O número " + indexNumeros[i] + " foi dividido " + contadora + " vezes");
        if (contadora === 2) {
            numerosPrimos.push(indexNumeros[i]);
            console.log("Então o número: " + indexNumeros[i] + " ,é um número primo");
        } else {
            console.log("O número: " + indexNumeros[i] + " não é um número primo");
        }
    }

    for (let i = 0; i < numerosPrimos.length; i++) {
        console.log(
            "Este são os números primos conforme solicitado de 0 a " +
                n +
                " na array numerosPrimos: " +
                numerosPrimos[i]
        );
    }

    return numerosPrimos;
}

buscaNumeroPrimos(20);

Back Sumário

Licença

Este projeto está licenciado sob a Licença MIT - consulte LICENSE para maiores detalhes.

About

Hoje você vai aprender sobre algoritmos e lógica de programação, a base de tudo que faremos daqui pra frente. Assim como em uma receita de bolo, na programação, devemos passo a passo utilizar comandos para resolver um problema.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published