Atividade 05

Propaganda
Unidade de Computação e Sistemas - Disciplina: Algoritmo I (turma 1B)
Professor: Henrique Monteiro Cristovão
2007/2
Lista de exercícios sobre VETOR
Preparação (ainda sem o uso de vetores):
Solicitar uma relação de pessoas, cada uma com o seu nome e a idade. A quantidade de pessoas será também solicitada ao
usuário. Ao término da entrada de dados, exiba: o nome da pessoa mais velha, a média das idades, a quantidade de pessoas que
possuem idade entre 18 e 60 anos (incluindo 18 e 60).
// solução da questão 3 da segunda prova
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
int idade, qtdePessoas, somaIdades = 0, idadeMaisVelha = 0, qtde18a60 = 0;
String nome, nomeMaisVelha = "";
System.out.println("Entre com a quantidade de pessoas:");
qtdePessoas = new Scanner(System.in).nextInt();
for(int contador = 1; contador <= qtdePessoas; contador++) {
// entrada de dados
System.out.println("Entrada número " + contador);
System.out.println("Digite o nome e a idade:");
nome = new Scanner(System.in).nextLine();
idade = new Scanner(System.in).nextInt();
// preparação para o calculo da média
somaIdades = somaIdades + idade;
// seleção do nome e idade da pessoa mais velha
if(idade > idadeMaisVelha) {
idadeMaisVelha = idade;
nomeMaisVelha = nome;
}
// contagem da pessoas com idade de 18 a 60 anos
if(idade >= 18 && idade <= 60)
qtde18a60++;
}
// Exibição dos resultados
System.out.println("Resultados: \n"
+ "Nome da pessoa mais velha: " + nomeMaisVelha
+ "\nMédia das idades: " + (double)somaIdades/qtdePessoas
+ "\nQtde de pessoas de 18 a 60 anos: " + qtde18a60);
}
}
1/5
Primeiro exercício sobre vetores proposto no laboratório:
// solução da questão 3 da segunda prova, com a seguinte alteração:
// Exibe a quantidade de pessoas cuja idade é maior que a média
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
int qtdePessoas, somaIdades = 0, idadeMaisVelha = 0, qtde18a60 = 0;
String nome, nomeMaisVelha = "";
// declaração do vetor 'idade' capaz de armazenar inteiros
int[] idades;
System.out.println("Entre com a quantidade de pessoas:");
qtdePessoas = new Scanner(System.in).nextInt();
// alocação de memória para o vetor 'idades'
idades = new int[qtdePessoas];
for(int contador = 0; contador < qtdePessoas; contador++) {
// entrada de dados
System.out.println("Entrada número " + (contador+1));
System.out.println("Digite o nome e a idade:");
nome = new Scanner(System.in).nextLine();
idades[contador] = new Scanner(System.in).nextInt();
// preparação para o calculo da média
somaIdades = somaIdades + idades[contador];
// seleção do nome e idade da pessoa mais velha
if(idades[contador] > idadeMaisVelha) {
idadeMaisVelha = idades[contador];
nomeMaisVelha = nome;
}
// contagem da pessoas com idade de 18 a 60 anos
if(idades[contador] >= 18 && idades[contador] <= 60)
qtde18a60++;
}
// calcula a média
double media = (double)somaIdades/qtdePessoas;
// calcula quantidade de pessoas cuja idade é maior que a média
int qtdeMaioresMedia = 0;
for(int i = 0; i < qtdePessoas; i++) {
if(idades[i] > media) {
qtdeMaioresMedia++;
}
}
// Exibição dos resultados
System.out.println("Resultados: \n"
+ "Nome da pessoa mais velha: " + nomeMaisVelha
+ "\nMédia das idades: " + media
+ "\nQtde de pessoas de 18 a 60 anos: " + qtde18a60
+ "\nQtde de pessoas cuja idade é maior que a média: " + qtdeMaioresMedia);
}
}
2/5
Segundo exercício sobre vetores proposto no laboratório:
// solução da questão 3 da segunda prova, com as seguintes alterações:
// Exibe a quantidade de pessoas cuja idade é maior que a média
// Exibe a relação de pessoas cuja idade é maior do que a média.
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
int qtdePessoas, somaIdades = 0, idadeMaisVelha = 0, qtde18a60 = 0;
String nomeMaisVelha = "";
// declaração do vetor 'idade' capaz de armazenar inteiros
int[] idades;
// delaração do vetor 'nome' capaz de armazenar Strings
String[] nomes;
System.out.println("Entre com a quantidade de pessoas:");
qtdePessoas = new Scanner(System.in).nextInt();
// alocação de memória para o vetor 'idades'
idades = new int[qtdePessoas];
// alocação de memória para o vetor 'nomes'
nomes = new String[qtdePessoas];
for(int contador = 0; contador < qtdePessoas; contador++) {
// entrada de dados
System.out.println("Entrada número " + (contador+1));
System.out.println("Digite o nome e a idade:");
nomes[contador] = new Scanner(System.in).nextLine();
idades[contador] = new Scanner(System.in).nextInt();
// preparação para o calculo da média
somaIdades = somaIdades + idades[contador];
// seleção do nome e idade da pessoa mais velha
if(idades[contador] > idadeMaisVelha) {
idadeMaisVelha = idades[contador];
nomeMaisVelha = nomes[contador];
}
// contagem da pessoas com idade de 18 a 60 anos
if(idades[contador] >= 18 && idades[contador] <= 60)
qtde18a60++;
}
// calcula a média
double media = (double)somaIdades/qtdePessoas;
// calcula quantidade de pessoas cuja idade é maior que a média
int qtdeMaioresMedia = 0;
for(int i = 0; i < qtdePessoas; i++) {
if(idades[i] > media) {
qtdeMaioresMedia++;
}
}
// Exibição dos resultados
System.out.println("Resultados: \n"
+ "Nome da pessoa mais velha: " + nomeMaisVelha
+ "\nMédia das idades: " + media
+ "\nQtde de pessoas de 18 a 60 anos: " + qtde18a60
+ "\nQtde de pessoas cuja idade é maior que a média: " + qtdeMaioresMedia);
// Exibe nomes das pessoas cuja idade é superior e média
System.out.println("Pessoas cuja idade é maior que a média");
for(int i = 0; i < qtdePessoas; i++) {
if(idades[i] > media) {
System.out.println(nomes[i]);
}
}
}
}
3/5
Exercícios:
Para cada um dos itens escreva um programa em Java para solucionar o problema.
1. Leia um conjunto de 10 notas. Em seguida exiba todas que são maiores que a média do conjunto.
Resolução:
// Leia um conjunto de 10 notas.
// Exiba todas que são maiores do que média do conjunto.
public class Principal {
public static void main(String[] args) {
int contador = 0;
// declaração do vetor ‘notas’ capaz de armazenar valores do tipo double
double[] notas;
// alocação de memória para o vetor ‘notas’: pode armazenar até 10 double
notas = new double[10];
double soma = 0;
while(contador < 10) {
System.out.println("Entre com a nota "+(contador+1));
// uso de um elemento do vetor ‘notas’ cuja posição é ‘contador’
notas[contador] = new Scanner(System.in).nextDouble();
soma = soma + notas[contador];
contador = contador + 1;
}
double media = soma/contador;
contador = 0;
System.out.println("Notas maiores do que a média "+media);
while(contador < 10) {
if(notas[contador] >= media) {
System.out.println(notas[contador]);
}
contador = contador + 1;
}
}
}
2. Leia um conjunto de notas, cuja quantidade seja determinada pelo usuário. Calcule a média de todas elas.
Exiba o conjunto das notas maiores do que a média calculada. Em seguida, de forma agrupada, exiba o outro
conjunto de notas (menores do que a média).
3. Leia um conjunto de alunos, cada uma com o nome e a nota. Em seguida exiba o nome dos alunos que possuem
a nota maior do que a média da turma.
4. Leia um conjunto de salários. Leia também um valor de reajuste. Em seguida exiba todos os salários já
reajustados.
5. Leia um conjunto de valores inteiros e em seguida exiba-os na ordem inversa em que foram digitados.
6. Crie um vetor capaz de armazenar 50 números inteiros. Em seguida faça o seu preenchimento automático com
os números de 101 a 150, ou seja, na posição número 0 ponha 101, na posição 1 ponha o número 102, e assim
sucessivamente.
Em seguida exiba os valores deste vetor.
7. Leia nomes de pessoas, sendo a quantidade determinada pelo usuário. Logo a seguir pergunte o número do
nome que ele gostaria de consultar. Após sua resposta, exiba o nome que fica na posição informada.
8. Leia nomes de pessoas com seus respectivos telefones, sendo a quantidade determinada pelo usuário. Em
seguida pergunte ao usuário qual o nome que ele deseja consultar o telefone. Após sua resposta, exiba o
telefone da pessoa procurada.
4/5
9. Leia um conjunto de números. Exiba este conjunto acompanhado do seu elemento simétrico em relação a sua
posição no conjunto. Veja o exemplo:
Entrada: 5, 7, 9, 2
Saída:
5-2
7-9
9-7
2-5
10. Leia dois conjuntos de números com a mesma quantidade. Exiba a intersecção dos conjuntos, ou seja, os
números que são repetidos nos dois conjuntos.
11. Leia um conjunto de números. Exiba-os em ordem numérica crescente.
12. Leia um conjunto de nomes de pessoas. Exiba-os em ordem alfabética crescente.
13. Leia dois conjuntos de números (podem ter o tamanho diferente) já ordenados de forma crescente. Crie um
outro vetor para armazenar os dois conjuntos unidos, sendo que os números devem permanecer ordenados.
Finalmente, exiba este vetor resultante.
5/5
Download