Forem

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

Posted on

1

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

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Immerse yourself in a wealth of knowledge with this piece, supported by the inclusive DEV Community—every developer, no matter where they are in their journey, is invited to contribute to our collective wisdom.

A simple “thank you” goes a long way—express your gratitude below in the comments!

Gathering insights enriches our journey on DEV and fortifies our community ties. Did you find this article valuable? Taking a moment to thank the author can have a significant impact.

Okay