• Like
  • Save
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Upcoming SlideShare
Loading in...5
×
 

Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)

on

  • 5,793 views

 

Statistics

Views

Total Views
5,793
Views on SlideShare
5,793
Embed Views
0

Actions

Likes
2
Downloads
144
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes) Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes) Presentation Transcript

    • Variáveis Compostas (Vetores e Matrizes) Prof. Adriano Teixeira de Souza
    •  São um conjunto de variáveis identificadas por um mesmo nome. ◦ Homogêneas (vetores e matrizes) ◦ Heterogêneas (Objetos) Prof. Adriano Teixeira de Souza
    •  Correspondem a posições da memória: ◦ identificadas por um único nome ◦ individualizadas por índices ◦ cujo conteúdo é de um mesmo tipoNotas: 6,1 2,3 9,4 5,1 8,9 9,8 10 7,0 6,3 4,4Posição: 0 1 2 3 4 5 6 7 8 9 Prof. Adriano Teixeira de Souza
    • Posição do livro 0 1 2 … n-1 0 788 598 265 … 156 1 145 258 369 … 196Prateleira 2 989 565 345 … 526 ⋮ ⋮ ⋮ ⋮ ⋱ ⋮ m-1 845 153 564 892 210 Prof. Adriano Teixeira de Souza
    •  Utilizados para armazenar conjuntos de dados cujos elementos podem ser endereçados por um único índice. Também são conhecidos como vetores. Prof. Adriano Teixeira de Souza
    •  Utilizados para armazenar conjuntos de dados cujos elementos necessitam ser endereçados por mais de um índice. Também são conhecidos como matrizes. Prof. Adriano Teixeira de Souza
    •  Arranjos de 2 dimensões 0 1 2 … n-1 0 788 598 265 … 156 1 145 258 369 … 196 2 989 565 345 … 526 ⋮ ⋮ ⋮ ⋮ ⋱ ⋮ m-1 845 153 564 892 210 Prof. Adriano Teixeira de Souza
    •  Arranjo de 3 dimensões 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 30 0 0 01 1 1 12 2 2 23 3 3 3 0 1 2 3 Prof. Adriano Teixeira de Souza
    •  Arranjo de 4 dimensões 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 30 0 0 01 1 1 12 2 2 23 3 3 3 (0,0) (0,1) (0,2) (0,3) 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 30 0 0 01 1 1 12 2 2 23 3 3 3 (1,0) (1,1) (1,2) (1,3) Prof. Adriano Teixeira de Souza
    •  Como declarar:  Exemplos:<tipo> <nome> [][] = new <tipo> [<tamanho1>][<tamanho2>]; float VetReais[] = new float[100]; int Vetor[][] = new int[5][9]; char Nome_cliente[]= new char[50]; float cubo[][][] = new float[20][12][7]; Prof. Adriano Teixeira de Souza
    • int VetInt[] = new int[n];Índices: 0 1 2 3 4 5 ... n-1VetInt ... Índice do primeiro elemento: zero Índice do último elemento: n–1 Quantidade de elementos: n Prof. Adriano Teixeira de Souza
    •  Índices fora dos limites podem causar uma exceção em tempo de execução. java.lang.ArrayIndexOutOfBoundsException 0 1 2 3 4 5 2 9 8 X1 Vetor[6] X2 int X1; Vetor[1] = 9; int Vetor[]= new int[6]; Vetor[-1] =;//Error int X2; Vetor[6] =;//Error Prof. Adriano Teixeira de Souza
    •  O tamanho de um vetor ou matriz é pré- definido, ou seja, após a compilação, não pode ser mudado. Portanto, vetores e matrizes são chamadas estruturas de dados estáticas, pois mantém o mesmo tamanho ao longo de toda a execução do programa. Prof. Adriano Teixeira de Souza
    •  Atribuir valores na declaração do vetor:int vetor[] = new int[]{1,2,3,4,5};  Atribuir valores na declaração da matriz:float matriz[][] = new float[][]{{1,2,3},{4,5,6}} Prof. Adriano Teixeira de Souza
    •  Colocar os números de 1 a 5 num vetor: for (int i=0; i<5; i++) Vetor[i] = i + 1; Colocar os números de 5 a 1 num vetor: for (int i=0; i<5; i++) Vetor[i] = 5 - i; Prof. Adriano Teixeira de Souza
    •  Preencher uma matriz n m com zeros: for (int i=0; i < N; i++) for (int j=0; j < M; j++) Matriz[i][j] = 0; Prof. Adriano Teixeira de Souza
    •  Copiar dados de um vetor para outro: final int TAM_MAX = 10; double VetReais[] = new double[TAM_MAX], VetCopia[] = new double[TAM_MAX]; for (int i=0; i<TAM_MAX; i++) VetCopia[i] = VetReais[i]; Boa prática de programação: ◦ Definir o tamanho de vetores com constantes flexibiliza a manutenção do código. Prof. Adriano Teixeira de Souza
    •  Leitura dos dados de um vetor:for (int i=0; i<TAM_MAX; i++){ System.out.println("Digite um número: "); Vet[i] = leitor.nextFloat();} Prof. Adriano Teixeira de Souza
    • Determinar: 0 1 2 31. M[3][0] 0 1 2 3 42. M[4][2] 1 5 -5 3 03. M[1][3]4. M[5][M[0][2]] 2 1 1 1 15. M[M[3][1]][1] 3 -3 2 0 06. M[4][(M[1][2]+M[3][0])] 4 0 0 1 1 1. -3 4. -2 5 -1 -1 -2 -2 2. 1 5. 1 3. 0 6. 0
    •  Ler um elemento K. Ler um vetor A de N elementos. Verificar se o elemento K está presente no vetor: ◦ Se estiver, imprimir a posição onde ele foi encontrado. ◦ Caso contrário, imprimir mensagem "elemento K não encontrado". Prof. Adriano Teixeira de Souza
    •  Ler N valores inteiros (N ≤ 100) até que seja digitado o valor zero. A seguir, inverter o vetor, trocando o 1º elemento com o último, o 2º com o penúltimo, e assim sucessivamente. Ao final, imprimir o vetor invertido. Prof. Adriano Teixeira de Souza
    •  Faça um programa que imprima uma matriz quadrada de dimensão N contendo: ◦ o número 1 nos elementos abaixo da diagonal principal ◦ o número 0 nos demais elementos N deve ser menor ou igual a 20. Prof. Adriano Teixeira de Souza
    • Fonte: DENIT FORTALEZA SÃO PAULO SALVADOR MANAUS JANEIRO PORTO RIO DE VELHO BELÉMBELÉM 1611 5298 4397 3250 2100 2933FORTALEZA 1611 5763 4865 2805 1389 3127MANAUS 5298 5763 901 4374 5009 3971PORTO VELHO 4397 4865 901 3473 4023 3070RIO DE JANEIRO 3250 2805 4374 3473 1649 429SALVADOR 2100 1389 5009 4023 1649 1962SÃO PAULO 2933 3127 3971 3070 429 1962 Prof. Adriano Teixeira de Souza
    • 1. Construir um algoritmo que leia a tabela anterior e informe ao usuário a distância entre duas cidades fornecidas por ele, até que ele forneça duas cidades iguais (origem e destino).2. Construir um algoritmo que permita ao usuário informar várias cidades, até inserir “xx”, e que imprima a distância total para cumprir todo o percurso especificado entre as cidades fornecidas. Prof. Adriano Teixeira de Souza