Escolar Documentos
Profissional Documentos
Cultura Documentos
Lógica de Programação
Capítulo: Vetores
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Vetores
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Vetores
Um vetor corresponde a uma coleção de dados
de tamanho fixo, indexada, unidimensional e
homogênea 0 Maria
1 João
• Indexada: os elementos são acessados por
meio de índices 2 Carlos
3 Ana
• Unidimensional: uma dimensão 4 Joaquim
A
• Homogênea: todos dados são do mesmo tipo
Vetores
C = new String[8]; 8 C
9
A
Memória RAM
Como acessar os
elementos de um vetor? 0 0 10 0
1 1 11 1 Maria
2 2 12 2
A[3] = 10; 3 10 3 13 3
4 4 14 4
for (int i=0; i<5; i++) { 5 B 5
B[i] = i + 10; 6 6
}
7 7
8 C
C[1] = "Maria";
9
A
Problema exemplo
Fazer um programa para ler um número inteiro positivo N, depois ler N números
quaisquer e armazená-los em um vetor. Em seguida, mostrar na tela todos elementos
do vetor.
Entrada Saída
4 10.5
10.5 4.2
4.2 -7.1
-7.1 15.0
15.0
Entrada Saída
4 10.5
10.5 4.2
0 10.5 4.2 -7.1
1 4.2 -7.1 15.0
15.0
2 -7.1
3 15.0
vet
Resumo da aula
• Vetor: coleção de dados 0
• Tamanho fixo
• Arranjo unidimensional 1
• Indexada 2
• Homogênea
3
• Declaração: double[] B; 4
• Instanciação: B = new double[5];
B
• Acesso: B[3] = 20;
Exemplo:
Entrada Saída
6 -2
8 -2 9 10 -3 -7 -3
-7
import java.util.Scanner;
int N = sc.nextInt();
int[] vet = new int[N];
sc.close();
}
}
Exercício resolvido 02
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Faça um programa que leia N números reais e armazene-os em um vetor.
Em seguida:
- Imprimir todos os elementos do vetor
- Mostrar na tela a soma e a média dos elementos do vetor
Exemplo:
Entrada Saída
4 8.0 4.0 10.0 14.0
8.0 4.0 10.0 14.0 36.00
9.00
import java.util.Locale;
import java.util.Scanner;
Locale.setDefault(Locale.US);
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
double[] vet = new double[N];
System.out.printf("%.2f%n", soma);
sc.close();
}
}
Exercício resolvido 03
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Exemplo:
Entrada Saída
5 Altura média: 1.67
Joao 15 1.82 Pessoas com menos de 16 anos: 40.0%
Maria 16 1.60
Teresa 14 1.58
Carlos 21 1.65
Paulo 17 1.78
Memória
0 0 0
1 1 1
2 2 2
3 3 3
4 4 4
N 100%
cont x% ?
x = cont * 100 / N
import java.util.Locale;
import java.util.Scanner;
Locale.setDefault(Locale.US);
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
String[] nomes = new String[N];
int[] idades = new int[N];
double[] alturas = new double[N];
int cont = 0;
for (int i=0; i<N; i++) {
if (idades[i] < 16) {
cont = cont + 1;
}
}
double x = (double) cont * 100.0 / N;
System.out.printf("Pessoas com menos de 16 anos: %.1f%%%n", x);
sc.close();
}
}
Entrada Saída
3 Nomes lidos:
Maria Maria
Joaquim Joaquim
Ana Ana
import java.util.Scanner;
int N = sc.nextInt();
String[] nomes = new String[N];
System.out.println("Nomes lidos:");
for (String s : nomes) {
System.out.println(s);
}
sc.close();
}
}
Exercícios propostos PARTE 2:
problemas com vetores
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Soluções:
https://github.com/acenelio/curso-logica-de-programacao-java