Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em...
Transcript of Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em...
![Page 1: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/1.jpg)
1
Vetores – Parte 1(Arrays / Arranjos )
Prof. Jesús P. Mena-ChalcoCMCC/UFABC
Q2/2018
Processamento da Informação
![Page 2: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/2.jpg)
![Page 3: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/3.jpg)
3
Armazenar 10 inteiros em um programa...
Usando variáveis:
Usando um vetor:
Para acessar a um elemento, use um índice. a[0] → 6 a[4] → 100
![Page 4: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/4.jpg)
4
Vetores, são realmente úteis?
![Page 5: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/5.jpg)
5
Vetores, são realmente úteis?
Permitem organizar e armazenar grandes quantidades de dados.
Por exemplo: Todos os RAs de todos os alunos da UFABC 300 números associados a experimentos. 1 milhão de caracteres de um livro. 4 bilhões de nucleotídeos de um sequência de DNA. …
![Page 6: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/6.jpg)
6
Vetor
Um vetor (ou array) é o nome a uma matriz unidimensional.
![Page 7: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/7.jpg)
7
Vetor
Os elementos de um vetor são armazenados/alocados de forma consecutiva na memória.
Os elementos são acessados por seu índice dentro do array.
10 4 -95 37 2910X:= 0 1 2 3 4 …
![Page 8: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/8.jpg)
8
Memória (hardware)
RAM HDD SSD
......
![Page 9: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/9.jpg)
9
Memória (hardware)
Geralmente o endereço do 1ro byte é o endereço do objeto.
0
N
![Page 10: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/10.jpg)
Terminologia
01010111
11000011
01100100
11100010
0x37FD00
0x37FD01
0x37FD02
0x37FD03
......
4 bytes
![Page 11: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/11.jpg)
11
Vetor em Java
Declaração de uma variável que representa um vetor de 13 inteiros
10 4 -95 37 2910 -6vetor :=0 1 2 3 4 5 6 7 8 9 10 11 12
10 4 -95 37 2910 3 0
Índice / Deslocamento
1 2 3 4 5 6 7 8 9 10 11 12 13
0 1 2 3 4 5 6 7 8 9 10 11 12
PosiçãoO array contém 13 Elementos
![Page 12: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/12.jpg)
12
Exemplo 01: Definição
![Page 13: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/13.jpg)
13
Exemplo 02: Atribuição
![Page 14: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/14.jpg)
14
Exemplo 03: Tamanho
![Page 15: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/15.jpg)
15
Exemplo 04: Inicialização
![Page 16: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/16.jpg)
16
Em concreto
Um vetor é uma coleção de valores.
Três importantes características:
Os vetores representam um grupo de dados relacionados.
Todos os dados devem ter o mesmo tipo.
O tamanho do vetor é definido na sua criação/definição.
![Page 17: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/17.jpg)
17
Terminologia : Palavra reservada new
Usada para criar um novo objeto. Em Java, um vetor é um objeto.
Não trataremos de detalhes de Programação Orientada a Objetos nessa disciplina.
Apenas saiba que com new podemos criar um objeto que represente uma coleção de elementos.
![Page 18: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/18.jpg)
18
Criando vetores de diferentes tipos de dados
![Page 19: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/19.jpg)
19
Exercícios
![Page 20: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/20.jpg)
20
Exercício 1: Soma dos elementos
Crie um método que permita somar todos os elementos de um vetor de inteiros.
Assinatura: static int somarElementos( int v[ ] )
Exemplo: v = [1, 3, 5] Resultado: 9
v = [10, 20, 30, 40 ] Resultado: 100
![Page 21: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/21.jpg)
21
Exercício 1: Soma dos elementos
![Page 22: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/22.jpg)
22
Exercício 1: Soma dos elementos
![Page 23: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/23.jpg)
23
Exercício 2: Busca de um elemento
Crie um método que permita procurar um elemento em um vetor. → Se existir o elemento devolva seu índice no vetor.→ Caso contrário devolva -1
Assinatura: static int buscaElemento (int v[], int x)
Exemplos:
v = [1,2,3]x = 3Resposta: 2
v = [1,2,3]x = 30Resposta: -1
![Page 24: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/24.jpg)
24
Exercício 2: Busca de um elemento
![Page 25: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/25.jpg)
25
Lorem ipsum dolor sit amet, consectetur adipiscing elit . Curabitur vel est augue. Donec aliquam laoreet ipsum , ac sagittis odio aliquam quis. In eleifend est tortor, dapibus posuere odio consectetur id. Donec varius eget est eu luctus . Phasellus scelerisque, nunc laoreet feugiat sagittis, risus neque condimentum nisi, eget feugiat turpis purusquis urna. Mauris tempor eros in turpis tincidunt, bibendum euismod est pretium. Praesent ligula dui, fermentum a porttitor vitae, pulvinar ut odio. Suspendisse vitae pretium dolor, at sodales mauris .
Sed consequat purus nec bibendum suscipit. Donec ultricies euismod enim, quis interdum mi ornare et . Ut facilisis elit vitae elementum fringilla. Pellentesque sed orci iaculis, imperdiet elit et, mollis enim.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur vel est augue. Donec aliquam laoreet ipsum, ac sagittis odio aliquam quis. In eleifend est tortor, dapibus posuere odio consectetur id. Donec varius eget est eu luctus. Phasellus scelerisque, nunc laoreet feugiat sagittis, risus neque condimentum nisi, eget feugiat turpis purus quis urna. Mauris tempor eros in turpis tincidunt, bibendum euismod est pretium. Praesent ligula dui, fermentum a porttitor vitae, pulvinar ut odio. Suspendisse vitae pretium dolor, at sodales mauris.
Sed consequat purus nec bibendum suscipit. Donec ultricies euismod enim, quis interdum mi ornare et. Ut facilisis elit vitae elementum fringilla. Pellentesque sed orci iaculis, imperdiet elit et, mollis enim.
![Page 26: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/26.jpg)
26
Programação elegante?
Direitos de autor: Dezignus
![Page 27: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/27.jpg)
27
Exercício 2: Busca de um elemento
![Page 28: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/28.jpg)
28
Programação elegante
![Page 29: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/29.jpg)
Programação elegante
![Page 30: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/30.jpg)
30
Exercício 2: Busca de um elemento
![Page 31: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/31.jpg)
31
Exercício 3: Maior elemento
Crie um método que permita devolver o maior elemento contido em um vetor.
Assinatura: static int maiorElemento (int v[])
Exemplos:
v = [1,2,3]Resposta: 3
![Page 32: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/32.jpg)
32
Exercício 3: Maior elemento
![Page 33: Vetores – Parte 1 (Arrays / Arranjos )professor.ufabc.edu.br/~jesus.mena/courses/pi-2q... · Em concreto Um vetor é uma coleção de valores. Três importantes características:](https://reader036.fdocument.pub/reader036/viewer/2022081615/5fda7adba50d50309e4cffc7/html5/thumbnails/33.jpg)
33
Exercício 3: Maior elemento