0% acharam este documento útil (0 voto)
413 visualizações34 páginas

Vetores em Java PDF

O documento descreve os conceitos de vetores em Java, incluindo: (1) vetores são conjuntos de dados do mesmo tipo referenciados por um índice; (2) vetores em Java são chamados de arrays e têm tamanho fixo definido na criação; (3) há três fases no uso de vetores: declaração, criação e manipulação.

Enviado por

Felipe Bressan
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
413 visualizações34 páginas

Vetores em Java PDF

O documento descreve os conceitos de vetores em Java, incluindo: (1) vetores são conjuntos de dados do mesmo tipo referenciados por um índice; (2) vetores em Java são chamados de arrays e têm tamanho fixo definido na criação; (3) há três fases no uso de vetores: declaração, criação e manipulação.

Enviado por

Felipe Bressan
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 34

Vetores em Java

Lgica de Programao
Lgica de Programao 2
Vetores em Java
Um vetor um conjunto de informaes do mesmo tipo
referenciadas por um nome lgico comum, onde cada
elemento do conjunto obtido atravs de umndice.
ndices do vetor 0 1 2 3 4 5 6
elementos do vetor 32 10 8 12 23 9 18
um vetor de nmeros inteiros, chamado vet
vet possui 7 elementos, indexados de 0 a 6
vet [ 2 ] = 8 ( o elemento de ndice 2 em vet, contm valor 8 )
Lgica de Programao 3
Vetores em Java
Vetores em Java so chamados de arrays (arranjos).
Arrays possuem tamanho definido no momento de sua
criao (esse tamanho fixo).
Valores de ndices comeam sempre em zero.
Exemplo:
um vetor chamado nomeVetor, criado com 10 elementos:
nomeVetor[0] = valor1; // primeiro elemento do vetor
nomeVetor[9] = valor2; // ltimo elemento do vetor
nomeVetor[10] = ... // ERRO! elemento inexistente!
Lgica de Programao 4
Vetores em Java
Os elementos de vetores podem ser de:
Tipo primitivo (int, double, char, boolean....);
Tipo objeto (referncias a objetos de classes quaisquer, como,
por exemplo, String).
Por enquanto, estudaremos apenas vetores de tipos
primitivos.
Observao:
Em Java, existe uma classe Vector, que faz alocao dinmica
de memria para manipular arrays. No utilizaremos Vector
neste momento!
Lgica de Programao 5
Vetores em Java
Existem trs fases bem distintas no uso de vetores:
Declarao do vetor
declarao de uma varivel que referencia um tipo de estrutura
homognea
Criao do vetor
refere-se ao momento em que a estrutura de dados criada na
memria, com um tamanho pr-determinado
Manipulao dos elementos do vetor
quando os elementos do vetor so lidos ou alterados
Lgica de Programao 6
Vetores de Tipos
Primitivos
Declarao:
tipoDado nomeVetor[ ]; // ou:
tipoDado[ ] nomeVetor;
Exemplos:
int faltas[ ];
int[ ] valores;
double notas[ ];
boolean aprovado[ ];
int[ ] a, b; // dois vetores de inteiros: a, b
int a[ ], b; // um inteiro b e um vetor de inteiros a
Lgica de Programao 7
Vetores de Tipos
Primitivos
Criao:
nomeVetor = new tipoDado [ qtd_elementos ] ;
Exemplos:
faltas = new int [ 10 ];
notas = new double [ 10 ];
Manipulao:
nomeVetor [ ndice ] = valor;
Exemplos:
faltas[2] = faltas[0] + faltas[1]; // o 3 elemento do vetor faltas
// recebe a soma do 1 com o 2
Lgica de Programao 8
Vetores em Java
Quando se sabe previamente o tamanho do vetor a ser
criado e os valores iniciais de cada elemento, possvel
fazer declarao, criao e inicializao conjuntas:
tipoDado nomeVetor[ ] = { valor1, valor2, ....};
Exemplos:
int faltas[ ] = { 0,1,2,3 }; // vetor com 4 inteiros
double[ ] notas = { 2.5, 7.0 }; // vetor com 2 valores reais
float[ ] a = { 1.4f, 2.3f }; // vetor com 2 reais (preciso simples)
boolean[ ] b = { true,false,true }; // vetor com 3 booleanos
String[ ] nomes = { "ana","paula" }; // vetor com 2 strings
// String no tipo primitivo, mas aceita essa forma de inicializ.
Lgica de Programao 9
Exemplo 1 - Vetor de
Reais (1/3)
Vamos fazer um algoritmo que l um vetor de 3 posies (reais),
calcula e exibe a mdia aritmtica dos elementos do vetor
Nome: MediaAritmeticaVetor
Objetivo: Calcular a mdia aritmtica
Variveis:
real V[3]
inteiro i
real soma, media
Inicio
PARA i DE 0 AT 2 FAA
LEIA V[ i ]
FIM-PARA
soma 0
PARA i DE 0 AT 2 FAA
soma soma + V[ i ]
FIM_PARA
media soma / 3
Fim
Lgica de Programao 10
Exemplo 1 - Vetor de
Reais (2/3)
// transcrio em Java:
package anacristina;
public class MediaAritmeticaVetor {
public static void main ( String args [ ] ) {
double v[ ] ; // declara um vetor de nmeros reais
int i;
double soma, media;
v = new double [3]; // cria um vetor de reais com 3 posies
// l todos os elementos do vetor, a partir da digitao do usurio:
for ( i = 0 ; i <= 2 ; i++ ) {
v [ i ] = EntradaSaida.leReal ( "Digite um n real: );
}
. . . continua . . .
Acesso a um elemento do vetor
Lgica de Programao 11
Exemplo 1 - Vetor de
Reais (3/3)
. . . continuao . . .
soma = 0;
for ( i = 0 ; i <= 2 ; i++ ) {
soma = soma + v [ i ] ;
}
media = soma / 3 ;
EntradaSaida.exibeMsg("A mdia dos elementos do vetor + media);
} // fim do mtodo main (mdulo principal)
} // fim do programa (da classe MediaAritmeticaVetor)
Acesso a um
elemento do vetor
Lgica de Programao 12
Depurao
Digite e execute
Depois de ter o exemplo funcionando, depure-o:
crie um breakpoint
acione Debug As Java Application
prossiga passo a passo com F6
observe os valores no vetor (expandir v)
Lgica de Programao 13
Exerccio 1 - Vetores
Escreva um algoritmo (e transcreva-o para java) que:
recebe do usurio uma quantidade inteira positiva;
cria um vetor de inteiros, com o nmero de posies igual
quantidade fornecida pelo usurio;
preenche o vetor, pedindo que o usurio digite a quantidade
dada de inteiros;
percorre o vetor, identificando qual o menor dos inteiros
fornecidos, usando um mtodo para isto.
exibe o menor dos valores encontrados no vetor.
Lgica de Programao 14
Vetores e Modularizao
Com muita frequncia, algoritmos que envolvem vetores
fazem:
a leitura dos dados para preencher o vetor;
a varredura para exibio de todos os elementos do vetor.
Isso sugere o uso de mdulos, para reutilizarmos a
codificao das tarefas acima.
Veremos alguns exemplos de uso de vetores em mdulos.
Tais mdulos sero acrescentados classe EntradaSaida,
que ser renomeada para ESVetor
Lgica de Programao 15
Vetores e Modularizao
A classe ESVetor conter os seguintes procedimentos, alm
daqueles de EntradaSaida:
public static void leVetorInteiros (int v[ ], int tam)
recebe um vetor v de inteiros j criado e seu tamanho; altera v
com valores lidos do teclado;
public static void exibeVetorInteiros (int v[ ], int tam)
recebe um vetor v de inteiros j criado e preenchido e seu
tamanho; exibe todos os dados de v
Lgica de Programao 16
Vetores e Modularizao
Mais procedimentos da classe ESVetor:
public static void leVetorReais (double v[ ], int tam)
recebe um vetor v de reais j criado e seu tamanho; altera v com
valores lidos do teclado;
public static void exibeVetorReais (double v[ ], int tam)
recebe um vetor v de reais j criado e preenchido e seu tamanho;
exibe todos os dados de v
Lgica de Programao 17
Classe ESVetor (1/2)
. . . Trecho de ESVetor: . . .
public static void leVetorInteiros (int v[ ], int tam) {
int i;
for ( i=0 ; i<tam ; i++ ) {
v[ i ]=leInteiro("Digite um inteiro para v[" +i+ "]");
}
}
public static void leVetorReais (double v[ ], int tam) {
int i;
for ( i=0 ; i<tam ; i++ ) {
v[ i ]=leReal("Digite um real para v[" +i+ "]");
}
}
. . . continua . . .
O parmetro
v[ ] uma
referncia a
um vetor
A posio i de v
alterada
definitivamente,
isto , h impacto
na varivel do
mdulo chamador
Lgica de Programao 18
Classe ESVetor (2/2)
. . . continuao . . .
public static void exibeVetorInteiros (int v[ ], int tam) {
int i;
String saida="";
for ( i=0 ; i<tam ; i++ ) {
saida = saida + "v[" +i+ "] = " + v[i] + "\n" ;
}
exibeMsg(saida);
}
public static void exibeVetorReais (double v[ ], int tam) {
int i;
String saida="";
for ( i=0 ; i<tam ; i++ ) {
saida = saida + "v[" +i+ "] = " + v[i] + "\n" ;
}
exibeMsg(saida);
}
A string auxiliar
saida guarda
todos os dados
de v, para
posterior exibio
Lgica de Programao 19
Exerccio 2 - Vetores e
Mdulos
Crie um procedimento que recebe trs vetores de inteiros A, B e C de igual
tamanho, j criados e preenchidos com valores. Altere o vetor C para que
contenha a soma de A com B. A assinatura do procedimento deve ser:
public static void somaVetores ( int A[ ], int B[ ], int C[ ], int tam )
Exemplo:
para tam=7
Lgica de Programao 20
Exerccio 3 - Vetores e
Mdulos
Crie um programa que contenha dois procedimentos:
somaVetores, do exerccio 2
main, mdulo principal que:
solicita que o usurio digite um tamanho inteiro positivo para os
vetores (tam);
declara e cria trs vetores inteiros de tamanho tam;
leia dados para os dois primeiros vetores (use o mdulo
leVetorInteiros de ESVetor);
calcula a soma dos dois primeiros vetores e a guarda no terceiro
vetor;
exibe os dados do terceiro vetor.
Lgica de Programao 21
Exemplo 2 - Vetor e
Funes (1/2)
Vamos acrescentar ao exerccio 3 uma funo que recebe
como parmetros um vetor v de inteiros (j criado e
preenchido) e seu tamanho tam. A funo realiza a
soma de todos os elementos de v e retorna essa soma.
A assinatura da funo deve ser:
public static int somaNoVetor ( int v[ ], int tam )
Exemplo,
para tam=4: ndices de v: 0 1 2 3
elementos de v:
3 4 5 6
soma dos elementos de v: 18
Lgica de Programao 22
Exemplo 2 - Vetor e
Funes (2/2)
// transcrio em Java, da funo somaNoVetor:
public static int somaNoVetor ( int v[ ], int tam ) {
int i;
int soma=0;
for (i=0 ; i<tam ; i++ ) {
soma = soma + v[ i ];
}
return soma;
} // fim da funo somaNoVetor
A resposta da funo
a soma de todos
os elementos de v
A resposta da
funo um inteiro
Lgica de Programao 23
Exerccio 4 - Vetores e
Mdulos
Crie uma funo em java que recebe como parmetro um vetor
de inteiros v, de tamanho tam. O vetor v j vem criado e
preenchido com valores. A funo calcula e retorna a mdia
aritmtica dos elementos de v. A assinatura da funo deve ser:
public static double mediaVetor ( int v[ ], int tam )
Exemplo,
para tam=4:
ndices de v: 0 1 2 3
elementos de v: 3 4 5 6
mdia dos elementos de v: 4,5
Lgica de Programao 24
Exerccio 5 - Vetores e
Mdulos
Crie uma funo emjava que recebe como parmetro um vetor
de inteiros v, de tamanho tam. O vetor v j vemcriado e
preenchido com valores. A funo retorna o ndice de v onde
ocorre o elemento de maior valor. A assinatura da funo deve
ser:
public static int indiceMaiorVetor ( int v[ ], int tam )
Exemplo,
para tam=4:
ndices de v: 0 1 2 3
elementos de v:
3 4 5 6
ndice do maior de v: 3
Lgica de Programao 25
Exerccio 6 - Vetores e
Mdulos
Crie uma funo em java que recebe como parmetro
um vetor de inteiros v, de tamanho tam, e um valor
inteiro x. O vetor v j vem criado e preenchido com
valores. A funo conta a quantidade de vezes que o
valor x ocorre em v e retorna essa contagem. A
assinatura da funo deve ser:
public static int contaX ( int v[ ], int tam, int x )
Exemplo,
para tam=4:
ndices de v: 0 1 2 3
elementos de v:
3 6 5 6
ocorrncias de x=6 em v: 2
ocorrncias de x=4 em v: 0
Lgica de Programao 26
Exerccio 7 - Vetores e
Mdulos
Crie uma funo em java que recebe como parmetro um vetor
de inteiros v, de tamanho tam, e um valor inteiro x. O vetor v j
vem criado e preenchido com valores. A funo conta a
quantidade de nmeros pares que ocorrem em v e retorna essa
contagem. A assinatura da funo deve ser:
public static int contaPares ( int v[ ], int tam )
Exemplo,
para tam=4:
ndices de v: 0 1 2 3
elementos de v:
3 4 5 6
quantidade de pares em v: 2
Lgica de Programao 27
Exerccio 8 - Vetores e
Mdulos
Crie um programa que contenha as quatro funes dos exerccios
anteriores (mediaVetor, maiorNoVetor, contaX e contaPares),
alm do main, mdulo principal que:
solicita que o usurio digite um tamanho inteiro positivo (tam) para a
criao de vetores;
declara e cria dois vetores de inteiros de tamanho tam;
l dados para os dois vetores (use leVetorInteiros);
calcula e exibe a mdia aritmtica dos dois vetores (com a funo
mediaVetor);
exibe os ndices e os valores dos maiores elementos dos dois vetores (use
maiorNoVetor);
solicita que o usurio digite um inteiro x;
conta as ocorrncias de x no vetor que contiver a maior quantidade de
pares (caso empate o n de pares, conte x nos dois vetores).
Lgica de Programao 28
DICA:
At onde o for deve ir? Toda array em Java tem um atributo que
se chama length, e voc pode acess-lo para saber o tamanho do
array ao qual voc est se referenciando naquele momento:
Lgica de Programao 29
Lgica de Programao 30
Matriz Bidimensional
J vimos como declarar matrizes unidimensionais (vetores).
Vamos tratar agora de matrizes bidimensionais. A forma geral da
declarao de uma matriz bidimensional muito parecida com a
declarao de um vetor:
tipo_da_variavel nome_da_variavel [altura][largura];
muito importante ressaltar que, nesta estrutura, o ndice da
esquerda indexa as linhas e o da direita indexa as colunas.
Quando vamos preencher ou ler uma matriz o ndice mais a
direita varia mais rapidamente que o ndice a esquerda.
Lgica de Programao 32
Matriz Bidimensional
Declarao de Matriz Bidimensional:
int matriz1[][] ;
int []matriz2[] ;
int [][]matriz3 ;
Criao de Matriz / Alocao de memria
matriz1 = new int[3][];
matriz2 = new int[3][];
matriz3 = new int[5][2];
Lgica de Programao 33
Matriz Bidimensional
Abaixo damos um exemplo do uso de uma matriz:
public class MatrizBidimensional{
public static void main(String args[]) {
int mtrx [][] = new int[20][10];
int i,j,count;=1;
for (int altura=0;altura<20;altura++)
for(j=0;j<10;j++) {
mtrx[i][j]=count;
count++;
}
}
}
}
Lgica de Programao 34

Você também pode gostar