# #Lógica - A16 - 26/08
##### Aluno: Pedro Ciccone
###### tags: `Logica de Programação`
### Exercícios aula
O conteúdo destes exercícios é callbacks, `for...of` e `forEach()`.
**1.** Utilizando `for...of`, faça uma programa que imprima na tela todos os itens de um array.
``` javascript=
const array = [1, 2, 3, 4, 5, 10, 22, 33];
for (const item of array) {
console.log(item);
};
```
**2.** Utilizando `for...of`, faça uma programa que, apartir de um array de inteiros, cria um novo contendo apenas os elementos maiores que 10.
``` javascript=
for (const item of array) {
const maiores = [];
if (item > 10) {
maiores.push(item);
console.log(maiores);
}
};
```
**3.** Utilizando `forEach()` faça uma programa que imprima na tela todos os itens de um array.
``` javascript=
array.forEach((item, i) => {
console.log(item);
});
```
**4.** Utilizando `forEach()` faça uma programa que imprima na tela todos os itens de um array e o índice em que ele se encontra.
``` javascript=
array.forEach((item, i) => {
console.log(`Item: ${item} Índice: ${i}`);
});
```
**5.** Utilizando `forEach()` faça uma programa que dobra o valor de cada item do array. Ao final, imprima o array modificado na tela.
``` javascript=
array.forEach((item, i) => {
console.log(item * 2);
});
```
### Exercícios casa
**6.** Num determinado array, temos vários objetos, cada um representando uma partida entre dois times, que aconteceu em algum momento da história. Utilizando os conceitos aprendidos nessa aula, faça um programa que imprima na tela:
- Quantas partidas foram vencidas pelo time 1
- Quantas partidas foram vencidas pelo time 2
- Quantas partidas deram empate
``` javascript=
const resultados = [
{
time1: "Flamengo",
gols1: 2,
time2: "Fluminense",
gols2: 1
},
{
time1: "Flamengo",
gols1: 4,
time2: "Fluminense",
gols2: 0
},
{
time1: "Flamengo",
gols1: 0,
time2: "Fluminense",
gols2: 3
},
{
time1: "Flamengo",
gols1: 4,
time2: "Fluminense",
gols2: 4
},
{
time1: "Flamengo",
gols1: 1,
time2: "Fluminense",
gols2: 5
},
{
time1: "Flamengo",
gols1: 0,
time2: "Fluminense",
gols2: 0
}
];
let time1 = 0, time2 = 0, empates = 0;
for (item of resultados) {
if (item.gols1 > item.gols2) {
time1++;
} else if (item.gols1 < item.gols2) {
time2++;
} else {
empates++;
};
};
console.log(`Partidas vencidas pelo Flamengo: ${time1}
Partidas vencidas pelo Fluminense: ${time2}
Empates: ${empates}`);
```
**7.** Utilizando o mesmo array, e sabendo que:
- Para cada vitória são conquistados 3 pontos
- Para cada empate é conquistado 1 ponto
- Para cada derrota, nenhum ponto é ganho
Imprima na tela quantos pontos cada time fez.
``` javascript=
console.log(`Pontos obtidos pelo Flamengo: ${time1 * 3 + empates}
Pontos obtidos pelo Fluminense: ${time2 * 3 + empates}`);
```
**8.** Utilizando o mesmo array, informe para cada time:
- Quantos gols foram sofridos
- Quantos gols foram feitos
``` javascript=
let golsTime1 = 0, golsTime2 = 0;
for (item of resultados) {
golsTime1 += item.gols1
golsTime2 += item.gols2;
};
console.log(`Gols do Flamengo: ${golsTime1}
Gols do Fluminense: ${golsTime2}`);
```
**9.** Em quantas partidas foram feitos mais de seis gols, no total?
``` javascript=
let nroDePartidas = 0;
for (item of resultados) {
if (item.gols1 + item.gols2 > 6) {
nroDePartidas++;
};
};
console.log(`Partidas com 6+ gols: ${nroDePartidas}`);
```
**10.** Em quais partidas (imprima o índice da partida no array) não houve gol?
``` javascript=
let nroDeParitdas
resultados.forEach((item, i) => {
if (resultados[i].gols1 + resultados[i].gols2 === 0) {
console.log(`O índice do jogo sem gols é ${i}`);
};
});
```