---
# System prepended metadata

title: exercícios lógica de programção 27/07

---

# exercícios lógica de programção 27/07

## Questão 1. Faça um programa que imprima os 100 primeiros números ímpares.

``` javascript
let num = 1;

while (num < 99) {
  console.log(num)
  num += 2
}
```


## Questão 2. Faça um programa que imprima a taboada do 4.

``` javascript
let x = 0;

while (x <= 10) {
  console.log(`4 x ${x} = ${4*x}`);
  x++
}
```

## Questão 3. Faça um programa que filtre uma lista, criando uma nova, em que permanecem apenas as palavras terminadas com a letra A.

``` javascript
const palavras = ["Casa", "Cabelo", "Anjo", "Menina", "Saia", "Humano"];
let palavrasA = []; 

let y = 0; 
while (y < palavras.length) {
  let palavra = palavras[y]; 
  if (palavra.slice(-1) === "a") {
    palavrasA.push(palavra)
  }
  y++
}

console.log(palavrasA)
```

## Questão 4. Faça um programa que identifique o menor item de uma lista numérica.

``` javascript
const numeros = [-3, 4, 11, -9, 7, -15, 21];

let menor = numeros[0];


for (let i = 0; i < numeros.length; i++) {
  if (menor <= numeros[i]) {
    continue;
  } else {
    menor = numeros[i];
  }
}

console.log(menor)
```


## Questão 5. Os divisores de um número X são os números que dividem X sem deixar resto. Faça um programa que calcula os divisores de um número.

``` javascript
const numero = 8
let index = numero; 
let num2 = index;


while (index != 0) {
  if (numero % index === 0) {
    console.log(index)
  }
  index--
}
```

## Questão 6. Um número primo é aquele que tem apenas dois divisores: ele mesmo e um. Faça um programa que diga se um determinado número é primo. Faça o programa que testa apenas um número, e rode o programa uma vez para cada uma das opcoes abaixo:

``` javascript
// !!! essa não consegui resolver !! de qualquer forma, aí vai minha tentativa (ou uma delas, pelo menos)

//casos de teste
const x = 3; //sim
//const x = 5; //sim
//const x = 6; //nao
//const x = 7; //sim
//const x = 2; //sim
//const x = 8; //nao
//const x = 1; //nao

let divisores = []
for (let i = x; i != 0; i--) {
  let y = x % i;
  divisores.push(y);
}
console.log(divisores);
console.log(divisores.length);
for (let indice = 0; indice < divisores.length; indice++) {
  if (divisores[indice] == 0) {
    if (indice == divisores.length - 1) {
      console.log("não é primo")
      break;
    } else {
      continue;
    } 
  } else if (divisores[indice] != 0) {
    if (indice == divisores.length - 1) {
      console.log("é primo")
      break;
    } else {
      continue;
    } 
  }
}


```