Buscar

AULA CAPITULO V Arrays e Matrizes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

20171º Semestre
2Sumário 
➢ Estruturas de dados
➢ Estruturas homogéneas
➢ Vectores
➢ Problema
➢ Definição
➢ Sintaxe e Manipulação
➢ Matrizes
➢ Definição
➢ Sintaxe e manipulação
➢ ArrayList
Problema 3
➢ Considere uma sala de aula, onde há 10 alunos e queremos 
armazenar suas idades em variáveis, até agora seria feito assim:
int idade1, idade2, idade3, idade4,..., idade10;
System.out.println("Digite a idade do primeiro aluno: ");
idade1 = input.nextInt();
System.out.println("Digite a idade do segundo aluno: ");
idade2= input.nextInt();
System.out.println("Digite a idade do terceiro aluno: ");
idade3= input.nextInt();
...
...
Sumário 4
➢ Estruturas de dados
➢ Estruturas homogéneas
➢ Vectores
➢ Problema
➢ Definição
➢ Sintaxe e Manipulação
➢ Matrizes
➢ Definição
➢ Sintaxe e manipulação
➢ ArrayList
Definição 5
➢ Vector é uma matriz unidimensional que representa um conjunto de variáveis do 
mesmo tipo de dados acessíveis com um único nome.
➢ Permanecem com o mesmo tamanho depois de criados.
➢ Os elementos dos vetores são colocados em posições sequênciais de memória
➢ São indexados a partir da posição 0, até à posição n-1 (sendo o n o número de 
elementos ou dimensão do vector)
0 1 2 3 4 5 6 7 8 9 Índices
Dimensão do Vector é 10
Primeiro Índice Elemento na posição 7
Sumário 6
➢ Estruturas de dados
➢ Estruturas homogéneas
➢ Vectores
➢ Problema
➢ Definição
➢ Sintaxe e Manipulação
➢ Matrizes
➢ Definição
➢ Sintaxe e manipulação
➢ ArrayList
Sintaxe e manipulação 7
➢ Sintaxe de declaração de um vector em JAVA
tipo_dado [] nome_do_vector = new tipo_dado[numero_de_elementos];
ou
tipo_dado [] nome_do_vector = { valor1, valor2, valor3 ...,valorn};
➢ Então para o problema anterior teríamos:
Sintaxe e manipulação
Cont…
8
➢ Acesso aos elementos de um vector
➢ Cada elemento de um vector é tratado como uma variável normal cujo 
nome/identificador é o nome do vector seguido do seu índice.
➢ nome_do_vector[indice/posicao]
Sintaxe e manipulação
Cont…
9
➢ Acesso aos elementos de um vector
➢ Como é que faríamos para imprimir os elementos do vector idades?
➢ Utilizaríamos 7 instruções System.out.println()?
Sintaxe e manipulação
Cont…
10
➢ Para preenchermos ou imprimirmos um vector normalmente recorre-se as 
estruturas de repetição(while, do..while e for). 
Devolve o comprimento 
do array idades
Sintaxe e manipulação
Cont…
11
Instrução for aprimorada
foreach
12
➢Permite iterar por elementos de um array ou por uma coleção sem 
utilizar um contador.
➢ Sintaxe
Instrução for aprimorada
foreach
13
Para cada iteração, atribui o próximo 
elemento do array a variável int number, e 
então adiciona a total
Sumário 14
➢ Estruturas de dados
➢ Estruturas homogéneas
➢ Vectores
➢ Problema
➢ Definição
➢ Sintaxe e Manipulação
➢ Matrizes
➢ Definição
➢ Sintaxe e manipulação
➢ ArrayList
15Dúvidas
16Sumário
➢ Estruturas de dados
➢ Estruturas homogéneas
➢ Vectores
➢ Problema
➢ Definição
➢ Sintaxe e Manipulação
➢ Matrizes
➢ Definição
➢ Sintaxe e manipulação
➢ ArrayList
17Matrizes
❖ O que é uma matriz?
❖ Uma estrutura de dados que contém várias variáveis do mesmo tipo.
❖ Qual a diferença de vectores para matrizes?
❖ Vectores são, na verdade, matrizes de uma única dimensão
Vectores Matrizes
18Matrizes
❖ As matrizes são referenciadas através de suas dimensões (quantidade de linhas e 
colunas .
❖ A notação comum é: MxN onde
❖M é a dimensão horizontal(quantidade de linhas)
❖ N é a dimensão vertical(quantidade de colunas)
❖ Exemplo
Vectores: a 
quantidade de linhas é 
sempre 1
19Matrizes
❖ Como referenciar um elemento específico da matriz?
❖ Exemplo: Matriz 3x2 (três linhas e duas colunas)
0,0 0,1
0 1
0
1
2
As linhas variam de 0 até 2
As colunas variam de 0 até 1
Linha 0
Coluna 0
Linha 0
Coluna 1
❖ Para referenciar um elemento de uma matriz temos de indicar a linha e a 
coluna onde se encontra o elemento.
20Sumário
➢ Estruturas de dados
➢ Estruturas homogéneas
➢ Vectores
➢ Problema
➢ Definição
➢ Sintaxe e Manipulação
➢ Matrizes
➢ Definição
➢ Sintaxe e manipulação
➢ ArrayList
21Matrizes
❖ Declaração: 
tipo_dado [][] nome_da_matriz = new tipo_dado[il][ic];
❖ Onde: 
❖ il representa o índice das linhas ou seja o número de linhas
❖ ic representa o índice das linhas ou seja o número de colunas
❖ Exemplo:
❖ Para declarar uma matriz 3x2 de inteiro
• 1 e 2 inicializam b[0][0] e b[0][1].
• 3 e 4 inicializam b[1][0] e b[1][1].
• A linha 0 contém elementos 1 e 2
• A linha 1 contém elementos 3, 4 e 5.
22Matrizes
Preenchimento de uma matriz
❖ As posições das matrizes são identificadas pelos índices das linhas e colunas
nome_variável [<linha>][<coluna>] = <valor>
nome_variável [<linha>][<coluna>] = input.nextInt();
❖ Exemplo
10
4
25
23Matrizes
Preenchimento de uma matriz
❖ Se quisermos atribuir valores a todas as posições da matriz poderíamos fazer:
24Matrizes
Preenchimento de uma matriz
❖ A solução anterior não é a melhor porque a medida que a quantidade de elementos da 
matriz aumenta, fica complicado fazermos manualmente para todas as posições.
❖ Por isso o melhor caminho é…… qual é ???
❖Estruturas de repetição
25Matrizes
Preenchimento de uma matriz
❖Então teríamos: 
26Matrizes
Mostrar os elementos armazenados
❖ Poderíamos fazer : 
❖ Ma esta não é a melhor solução porque a medida que a quantidade de elementos da 
matriz aumenta ficaria complicado escrever tantos System.out.println().
❖ A melhor solução mais uma vez seriam as inevitáveis estruturas de 
repetição
27Matrizes
Mostrar os elementos armazenados
❖ E ficaria assim : 
28Dúvidas
29Exercícios
❖ Implemente um programa que leia uma matriz 3x3 e mostre a matriz preenchida
❖ Implemente um programa que leia uma matrizes 3x3. Em seguida, apresente a soma 
dos elementos de cada uma das linhas
❖ Implemente um programa que leia uma matriz 4x3. Verifique se um valor solicitado 
pelo utilizador existe na matriz. Caso o valor se encontre na matriz, escreva a 
mensagem “O valor encontra-se na matriz”. Caso contrário, escreva a mensagem “O 
valor NÃO se encontra na matriz”.
❖ Implemente um programa uma matriz 5x5. Em seguida, conte quantos números pares 
existem na matriz.
❖ Implemente um programa que leia uma matriz 3x3 e calcule a soma dos valores das 
colunas da matriz.
❖ Implemente um programa que calcule a média dos elementos de uma matriz 5x2.
30Sumário
➢ Estruturas de dados
➢ Estruturas homogéneas
➢ Vectores
➢ Problema
➢ Definição
➢ Sintaxe e Manipulação
➢ Matrizes
➢ Definição
➢ Sintaxe e manipulação
➢ ArrayList
31ArrayList
➢ Em termos de estrutura de dados vimos o quão útil são os vetores e as operações 
que podemos fazer sobre eles.
➢ Mas estes apresentam um problema:
 São estáticos
 Têm um tamanho definido, não podemos adicionar ou remover 
elementos.
➢ O Java, por padrão disponibiliza ao programador uma grande quantidade de APIs
(Aplication Programming Interfaces) para que possamos tratar de estrutura de 
dados, também chamadas de colecções (collections).
➢ O ArrayList é uma classe para colecções
32ArrayList
Cont…
➢ Semelhante a um array mas pode alterar a sua dimensão à medida das 
necessidades. 
➢ Ou seja o seu tamanho é dinamico
➢ Existem métodos para add, get, remove de qualquer tipo de Object. 
➢ Para utilizar o ArrayList temos de importar a classe ArrayList
➢ Import java.util.ArrayList;
➢ Sintaxe de declaração
ArrayList<TipoDados> nome = new ArrayList<TipoDados> (); 
33ArrayList
Cont…
➢ Semelhantea um array mas pode alterar a sua dimensão à medida das 
necessidades. 
➢ Ou seja o seu tamanho é dinamico
➢ Existem métodos para add, get, remove de qualquer tipo de Object. 
➢ Para utilizar o ArrayList temos de importar a classe ArrayList
➢ Import java.util.ArrayList;
➢ Sintaxe de declaração
ArrayList<TipoDados> nome = new ArrayList<TipoDados>(); 
OU
ArrayList<TipoDados> nome = new ArrayList<>(); 
34ArrayList
Cont…
Qual será o resultado ao 
executar esta linha?
Excepção: 
IndexOutOfBoundsException

Outros materiais