DEV Community 👩‍💻👨‍💻

Cover image for Vetores ou Arrays Dimensionais: Exemplos (Parte 2)
ananopaisdojavascript
ananopaisdojavascript

Posted on

Vetores ou Arrays Dimensionais: Exemplos (Parte 2)

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.

const A = [];
Enter fullscreen mode Exit fullscreen mode

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

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

Esse é o resultado inicial dos elementos do vetor A:

// [32, 90, 28, 75, 84, 34, 6, 41, 27, 98]
Enter fullscreen mode Exit fullscreen mode

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().

const B = A.map(termo => termo % 2 === 0 ? termo * 5 : termo + 5);
Enter fullscreen mode Exit fullscreen mode

Esse é o resultado do vetor B

// [160, 450, 140, 80, 420, 170, 30, 46, 32, 490]
Enter fullscreen mode Exit fullscreen mode

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:

const A = [];
Enter fullscreen mode Exit fullscreen mode

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

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

Primeiro resultado:

// [83, 9, 55, 62, 18]
Enter fullscreen mode Exit fullscreen mode

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

const somenteImpar = A.filter(impar => impar % 2 === 1);
Enter fullscreen mode Exit fullscreen mode

Segundo resultado:

// [83, 9, 55]
Enter fullscreen mode Exit fullscreen mode

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

const somaImpar = somenteImpar.reduce((acumulador, acumulado) => acumulador + acumulado, 0);
Enter fullscreen mode Exit fullscreen mode

Esse é o resultado da soma:

// 147
Enter fullscreen mode Exit fullscreen mode

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.

const A = [];
Enter fullscreen mode Exit fullscreen mode

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

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

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

const B = A.reverse();
Enter fullscreen mode Exit fullscreen mode

Mostrar os dois vetores na tela.

console.log(A);
console.log(B);
Enter fullscreen mode Exit fullscreen mode

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! 😊

Top comments (0)

Classic DEV Post 👇

Visualizing Promises and Async/Await 🤯

async await