Vetores ou Arrays Dimensionais: Exemplos (Parte 2)
Tags: javascript, algorithms
Published: 2021-09-17 14:11:08

Para ver como os vetores funcionam, vou pegar alguns exemplos do livro **Algoritmos: Lógica para Desenvolvimento de Programação de Computadores** de José Augusto N. G. Manzano e Jayr Figueiredo de Oliveira (Editora Érica).

## Exemplo 1

### Desenvolver um programa que efetue a leitura de dez elementos de uma matriz A tipo vetor. Construir uma matriz B do mesmo tipo, observando a seguinte lei de formação: se o valor do índice for par, o valor deverá ser multiplicado por 5. Sendo ímpar, deverá ser somado com 5. Ao final mostrar o conteúdo da matriz B.

Em primeiro lugar, vou criar um vetor A vazio para receber os dez valores que serão digitados pelo usuário.

```javascript
const A = [];
```

Para inserir os valores nesse vetor, vou usar um laço for e inserir os elementos com `push()`:

```javascript
for(let i = 0; i < 10; i++) {
	let inserirNum = Number(prompt(`Digite o ${i + 1}º número inteiro`));
        A.push(inserirNum);
}
```

Esse é o resultado inicial dos elementos do vetor A:

```javascript
// [32, 90, 28, 75, 84, 34, 6, 41, 27, 98]
```

Agora, vou criar outro vetor B para atender ao critério do exercício: se o número é par, multiplicá-lo por 5; se for ímpar, somá-lo por 5. Vou usar o método `map()`.

```javascript
const B = A.map(termo => termo % 2 === 0 ? termo * 5 : termo + 5);
```

Esse é o resultado do vetor B

```javascript
// [160, 450, 140, 80, 420, 170, 30, 46, 32, 490]
```

## Exemplo 2

### Desenvolver um programa que efetue a leitura de cinco elementos de uma matriz A do tipo vetor. No final, apresente o total da soma de todos os elementos que sejam ímpares.

Vou criar um vetor vazio para todos os elementos digitados pelo usuário:

```javascript
const A = [];
```

De novo, para inserir os valores nesse vetor, vou usar um laço for e inserir os elementos com `push()`:

```javascript
for(let i = 0; i < 5; i++) {
	let inserirNum = Number(prompt(`Digite o ${i + 1}º número inteiro`));
        A.push(inserirNum);
}
```

Primeiro resultado:

```javascript
// [83, 9, 55, 62, 18]
```

Agora vou criar um vetor somente para os números ímpares. Vou usar o método `filter()`:

```javascript
const somenteImpar = A.filter(impar => impar % 2 === 1);
```

Segundo resultado:

```javascript
// [83, 9, 55]
```

Vou criar mais um vetor para a soma de todos os valores ímpares com o método `reduce()`:

```javascript
const somaImpar = somenteImpar.reduce((acumulador, acumulado) => acumulador + acumulado, 0);
```

Esse é o resultado da soma:

```javascript
// 147
```

## Exemplo 3

### Ler 20 elementos de uma matriz A do tipo vetor e construir uma matriz B de mesma dimensão com os mesmos elementos da matriz A, sendo que deverão estar invertidos. Ou seja, o primeiro elemento de A passa a ser o último de B, o segundo elemento de A passa a ser o penúltimo de B e assim por diante. Apresentar as matrizes A e B.

Vou criar um vetor A para incluir os números digitados pelo usuário.

```javascript
const A = [];
```

Inserir os valores dentro do vetor com o laço `for`.

```javascript
for(let i = 0; i < 20; i++) {
	let inserirValor = Number(prompt(`Digite o ${i + 1}º número inteiro`));
        A.push(inserirValor);
}
```

Criar um novo vetor para colocar todos os elementos do vetor A, só que na ordem inversa.

```javascript
const B = A.reverse();
```

Mostrar os dois vetores na tela.

```javascript
console.log(A);
console.log(B);
```

### BIBLIOGRAFIA

MANZANO, José Augusto N. G., OLIVEIRA, Jayr Figueiredo de. **Algoritmos: Lógica para Desenvolvimento de Programação**. São Paulo, Editora Érica Ltda., 2005.

E aí? Gostaram? Até a próxima anotação! 😊