# Exercícios de Lógica 27/07/2020
### Questão 1
Faça um programa que imprima os 100 primeiros números ímpares.
```javascript=
for(let i = 0; i <= 100; i+=3 ){
console.log(i)
}
```
### Questão 2
Faça um programa que imprima a taboada do 4.
```javascript=
for(let i = 0; i <= 10; i++){
console.log(`4 x ${i} = ${i*4}`)
}
```
### 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 = ["Abacate", "Cenoura", "Arroz", "Cebola", "Oregano", "Maça"]
let palavrasA = []
for(let i = 0; i < palavras.length; i++){
if(palavras[i][palavras[i].length - 1] === "a"){
palavrasA.push(palavras[i])
}
}
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 = 0;
for(let i = 0; i < numeros.length; i++){
if(i == 0){
menor = numeros[i]
} else if (menor > numeros[i]) {
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 x = 21
let n = 0;
let divisores = []
while(n <= x){
if(x % n == 0){
divisores.push(n)
}
n++
}
console.log(divisores)
```
### 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=
// const x = 3; //sim
// const x = 11; //sim
// const x = 6; //nao
// const x = 35; //sim
// const x = 2; //sim
// const x = 4; //nao
const x = 1; //nao
let n = 2;
let primo = true;
while(n < x){
if(x % n === 0){
primo = false;
break;
}
n++
}
if(primo && x !== 1){
console.log(`${x} é um número primo.`)
} else {
console.log(`${x} não é um número primo.`)
}
```
### Questão 7
Faça um programa que calcule os 20 primeiros números primos.
```javascript=
let limite = 20
let count = 1
for(let numero = 2; count <= limite; numero++){
let ehPrimo = true
for(let divisor = 2; divisor < numero; divisor++){
if(numero % divisor === 0){
ehPrimo = false
break;
}
}
if (ehPrimo) {
console.log(numero)
count++
}
}
```
### [EXTRA] Questão 8
Faça um programa que coloca os números de uma lista em ordem crescente.
```javascript=
const numeros = [2, 5, 3, 0, 8, -1];
let aux = 0
for (let i = 0; i < numeros.length; i++){
for(let j = 0; j < numeros.length-1; j++) {
if(numeros[j] > numeros[j+1]){
aux = numeros[j]
numeros[j] = numeros[j+1]
numeros[j+1] = aux
}
}
}
console.log(numeros);
```