• Nenhum resultado encontrado

VETORES E MATRIZES

N/A
N/A
Protected

Academic year: 2021

Share "VETORES E MATRIZES"

Copied!
24
0
0

Texto

(1)

P R O F . P A U L O D E T A R S O J R .

VETORES E MATRIZES

Atualizado em 30/03/2016

(2)

OBJETIVOS

• Ao final desta aula, o aluno deverá:

• Declarar e criar vetores

• Acessar elementos de um vetor

• Determinar o numero de elementos em um vetor

• Declarar e criar vetores multi-dimensionais

(3)

INTRODUÇÃO

• Suponha que tenhamos três variáveis do tipo int com diferentes identificadores para cada variável

• int numero1;

• int numero2;

• int numero3;

• numero1 = 1;

• numero2 = 2;

• numero3 = 3;

(4)

INTRODUÇÃO

• Podemos utilizar uma variável para armazenar e manipular uma lista de dados de forma mais eficiente.

• Este tipo de variável é chamada de vetor

• Um vetor armazena múltiplos itens de dados do mesmo tipo (tipos primitivos ou objetos de uma mesma classe) em um bloco continuo de memória, dividido em certa quantidade de casas

v[0] v[1] v[2] v[3] v[4]

v

(5)

DECLARANDO VETORES

• Escreve-se o tipo de dado seguido por colchetes [ ] e por um identificador

• int [] idades;

• int idades[];

(6)

CRIANDO VETORES

• Criar o vetor e especificar seu tamanho com um parâmetro no construtor

• Escrever a palavra-chave new, definir o tipo de dado seguido por colchetes contendo a

quantidade de elementos do vetor:

// declaração int idades[];

// construindo um objeto idades = new int[100];

ou

// declarando e construindo um objeto int idades[] = new int[100];

(7)

CRIANDO VETORES

(8)

CRIANDO VETORES

• Pode-se, também, construir um vetor ao iniciá-lo diretamente com dados

int vet[] = {1, 2, 3, 4, 5};

• Este código declara e inicializa um vetor de inteiros

com cinco elementos (inicializados com os valores

1, 2, 3, 4, e 5)

(9)

EXEMPLOS

boolean resultados[] = {true, false, true, false};

double graus[] = {100, 90, 80, 75, 30};

String dias[] = {“Seg”, “Ter”, “Qua”, “Qui”,

“Sex”, “Sab”, “Dom”};

(10)

CRIANDO VETORES

Atenção: Um vetor pode ter exatamente o

tamanho necessário, ou seja, o tamanho do vetor pode ser lido, atribuído ou calculado.

String nome[];

int n = 3;

nome = new String[n];

nome[0] = “Ze”;

nome[1] = “Jó”;

nome[2] = “Lu”

• Neste código o tamanho do vetor é definido em

tempo de execução

(11)

EXEMPLO

LerTamanhoVetor.java

1 import javax.swing.JOptionPane;

23 public class LerTamanhoVetor 4 {

5 public static void main(String[] args)

6 {

7 int v[] ;

8 String sTam;

9 int tam;

1011 sTam = JOptionPane.showInputDialog("Tamanho do vetor");

12 tam = Integer.parseInt(sTam);

1314 // Construir o vetor do tamanho desejado 15 v = new int[tam];

16 for (int i = 0; i < tam; i++) 17 v[i] = 2*(i + 1);

18 }

19 }

(12)

ACESSANDO ELEMENTOS DO VETOR

• Utilizar um número chamado de índice

• Índice numérico

• Atribuído a cada elemento do vetor

• Permite o acesso individual a seus elementos

• Iniciado com zero e progride sequencialmente até o fim do vetor

• Índices dentro de um vetor vão de 0 até (tamanhoVetor - 1)

(13)

ACESSANDO ELEMENTOS DO VETOR

• int idades[] = new int[100];

• idades[0] = 10;

• System.out.printf(“%d”,idades[99]);

(14)

ACESSANDO ELEMENTOS DO VETOR

• O valor armazenado de cada elemento do vetor será inicializado com zero para vetores com o tipo de dado numérico

• Para referenciar os elementos em vetores de objetos, como as Strings, estes NÃO serão

inicializados com brancos ou strings vazias “ ”.

• Em vez disso, deve-se preencher explicitamente cada elemento deste vetor

(15)

ACESSANDO ELEMENTOS DO VETOR

O seguinte código de exemplo mostra como imprimir todos os elementos de um vetor

--- ExemploVetor.java

1 public class ExemploVetor

2 {3 public static void main(String[] args)

4 {

5 int [] idades = new int[100];

6 for( int i=0; i<100; i++ )

7 {

8 System.out.print( idades[i] );

9 }

10 }

11 }

(16)

TAMANHO DE UM VETOR

ExemploVetor.java

1 public class ExemploVetor

2 {3 public static void main(String[] args)

4 {

5 int [] idades = new int[100];

6 for( int i=0; i<idades.length; i++ )

7 {

8 System.out.print( idades[i] );

9 }

10 } 11 }

(17)

OPERAÇÕES COM VETORES

Após um vetor ter sido criado não é possível

redimensioná-lo. Se isto for necessário, deve-se criar um outro vetor da dimensão desejada e fazer o vetor

antigo apontar para o novo.

A classe System oferece um método especial:

arraycopy(), que permite realizar cópias de vetores.

(18)

OPERAÇÕES COM VETORES

• Outra forma de copiar um vetor é produzir um

“clone” do vetor

(19)

VETORES MULTIDIMENSIONAIS:

MATRIZES

Vetores podem ter diversas dimensões. Um vetor bidimensional é conhecido como Matriz

São implementados como vetores dentro de vetores

São criados adicionando-se mais um conjunto de colchetes após o nome do vetor declarado

// array inteiro de 512 x 128 elementos int[][] twoD = new int[512][128];

// array de caracteres de 8 x 16 x 24 char[][][] threeD = new char[8][16][24];

// array de String de 4 linhas x 2 colunas String[][] dogs = {{ “terry”, “brown” },

{ “Kris”, “white” }, { “toby”, “gray”}, { “fido”, “black”}

};

(20)

VETORES MULTIDIMENSIONAIS:

MATRIZES

• É possível construir vetores multidimensionais não- retangulares Java.

• Exemplos:

(21)

VETORES MULTIDIMENSIONAIS:

MATRIZES

• Acessar um elemento em um vetor multi-

dimensional é idêntico a acessar elementos de um vetor unidimensional

• Acessando o primeiro elemento na primeira linha da matriz:

• nomeMatriz[0][0];

(22)

DÚVIDAS

(23)

REFERÊNCIAS BIBLIOGRÁFICAS

• Claro D. B. e Sobral J. B. M. PROGRAMAÇÃO EM JAVA

• Java - Como Programar - 8ª Ed. 2010

• Disponível em:

http://olimpiada.ic.unicamp.br/extras/cursoC/Cap 06-RepeticaoControle-texto.pdf Acesso em:

12/03/2016

• While. Disponível em:

http://www.tiexpert.net/programacao/java/while.

php Acesso em: 12/03/2016

(24)

P R O F . P A U L O D E T A R S O J R .

VETORES E MATRIZES

Referências

Documentos relacionados

PARÁGRAFO TERCEIRO - O valor das multas aplicadas deverá ser recolhido no prazo de 5 (cinco) dias, a contar da data da notificação. Se o valor da multa não for pago, ou depositado,

Outros mecanismos de inclusão social e de economia foram inseridos no PNPB como o estímulo e fortalecimento da agricultura familiar com a criação do Selo de Combustível

 Dada uma matriz MAT de 4x5 elementos, faça um algoritmo para somar os elementos de cada linha gerando o vetor SOMALINHA..

O castigo da personagem Parente é permanecer com a indumentária feminina ao ser amarrado, pois a identificação desta em um corpo de homem pelo público provocaria o riso,

Mesmo possuindo permeabilidade e porosidade sensivelmente diferentes entre as formações estudadas, os plugues 02 e 04 apresentaram as maiores eficiências de recuperação

(UNIOESTE), traçam duras críticas ao contexto histórico em que o conceito Letramento surgiu no Brasil e ao “real” sentido que ele advoga. Assim, ao longo de toda a obra são

A Escola de Engenharia Elétrica, Mecânica e de Computação (EMC), da Universidade Federal de Goiás (UFG), torna pública a abertura do processo seletivo para composição de

4 Além do uso do CSP 21 da Embratel, para uso de ligações LDN e LDI nos termos acima é necessária a contratação dos Planos de Serviço correspondentes, quais sejam, PAS 224 – LD