Lista de exercícios para estudo - 2º semestre de 2015
Linguagem de Programação
1. (8,0) Uma escola quer gerenciar os alunos matriculados. Para isso, escreva um
programa em Java para permitir cadastrar cada aluno informando o nome, registro de
matrícula e data de nascimento. O programa deve permitir também que o usuário
imprima a lista de alunos ordenada alfabeticamente pelo nome. Por fim, o programa
deve permitir que o nome de um aluno seja procurado entre os cadastrados (a busca
deve ser feita com o método busca binária).
2. (10,0) Escreva um programa em Java para gerar 6 números aleatórios entre 1 e 60 que
não sejam repetidos. Por fim, o programa deverá imprimir, em ordem crescente, os 54
números que não foram sorteados.
3. (8,0) Escreva um programa em Java para ler 10 datas digitadas pelo usuário no
formato usado no Brasil e imprimir se as datas são válidas ou não. Atenção: o usuário
pode digitar os dias e meses com 1 ou 2 dígitos, exemplos: 3/04/1985, 03/04/1985,
3/4/1985.
4. (10,0) Um loja deseja gerenciar os clientes e, para isso, o mínimo a fazer é armazenar
os cadastros. Para isso, escreva um programa em Java para permitir o cadastro de cada
cliente informando CPF e nome. O CPF deve ser válido, caso contrário o usuário deverá
digitar o CPF novamente para informá-lo corretamente. O programa deve permitir a
impressão da lista de clientes ordenada alfabeticamente pelo nome. Por fim, o
programa deve permitir que o usuário digite parte um nome e imprimir os dados dos
clientes cujos nomes iniciam pelo texto digitado. Exemplo: se o usuário digitar "An",
devem ser listados clientes como "Anderson", "Ana", "Antonio", etc.
5. (10,0) Escreva um programa em Java para gerar um vetor de 100 números inteiros
aleatórios entre 1 e 1000. O programa deverá ordenar o vetor com os métodos Bubble
Sort e Insertion Sort e comparar o tempo de execução entre eles. Atenção: o mesmo
vetor (com os dados na mesma posição) deve ser usado como entrada para o método
Bubble Sort e para o método Insertion Sort, caso contrário a comparação não será
válida. O programa deve contar também a quantidade de trocas que cada método
executa e imprimir as quantidades no final.
6. (6,0) Escreva um programa em Java para gerar um vetor de 100 números inteiros
aleatórios entre 1 e 1000. Em seguida, o programa deverá permitir que o usuário
procure um número e imprimir quantas vezes esse número existe no vetor.
7. (8,0) Uma escola aplicou uma avaliação em 5 turmas e deseja registrar as informações
para analisá-las posteriormente. Cada turma tem um código e uma quantidade de
alunos. Então, escreva um programa em Java para permitir o cadastro da nota de cada
aluno da turma. A cada nova turma, o usuário deve digitar o código e a quantidade de
alunos, para que o programa saiba quantas notas devem ser lidas naquela turma. Ao
final, o programa deve imprimir a média de cada turma com os respectivos códigos de
turma e deve imprimir também a média de todas as turmas.
8. (8,0) Escreva um programa em Java para ler 10 nomes digitados pelo usuário e
imprimir a quantidade de letras A, B, C, D e E digitadas.
9. (10,0) Escreva um programa em Java para gerar 2 vetores de 100 números inteiros
aleatórios. Em seguida, o programa deverá ordenar os 2 vetores e armazenar os
valores de forma intercalada em um terceiro vetor de 200 elementos. Exemplo: A
posição 0 do terceiro vetor receberá a posição 0 do primeiro vetor; a posição 1 do
terceiro vetor receberá a posição 0 do segundo vetor; a posição 2 do terceiro vetor
receberá a posição 1 do primeiro vetor; a posição 3 do terceiro vetor receberá a
posição 1 do segundo vetor; e assim por diante.
10. (6,0) Escreva um programa em Java para ler 100 números digitados pelo usuário e
imprimir o fatorial de cada número e a soma dos números primos.
11. (8,0) Escreva um programa em Java para ler 10 nomes digitados pelo usuário e
armazená-los em um vetor. Utilizando o método de busca binária, o programa deve
permitir que o usuário procure, entre os nomes digitados, quantos nomes desejar.
12. (8,0) Uma lanchonete estranha acrescenta 10% do valor do pedido a cada pedido que
o cliente faz. Ou seja, se o cliente fizer dois pedidos de R$ 10, ele irá pagar R$ 3 reais a
mais (R$ 1 do primeiro pedido e R$ 2 da soma dos dois pedidos); se ele fizer 1 pedido
de R$ 5 e 1 pedido de R$ 10, ele irá pagar R$ 2 a mais (10% do primeiro pedido + 10%
da soma dos dois pedidos). Escreva um programa em Java para permitir que o usuário
informe o valor dos pedidos, sendo que podem ser cadastrados vários pedidos. Ao
final, imprima o valor total da conta.
13. (8,0) Escreva um programa em Java para gerar 1000 números inteiros aleatórios e
armazená-los em um vetor. O programa deverá ordenar o vetor crescentemente;
depois deverá ordená-lo decrescentemente; depois o usuário deverá digitar um valor a
ser buscado (utilize busca binária).
14. (8,0) Escreva um programa em Java para que o dono de uma padaria cadastre os seus
produtos com nome e preço; os valores digitados devem ser armazenados em vetores.
Em seguida, o programa deve atender os clientes e imprimir o valor a ser pago. O
usuário pode pedir quantos produtos quiser digitando o nome e a quantidade. Se o
produto existir (se for cadastrado pelo dono da padaria), então o preço deve ser
calculado; se não existir, deve ser emitida uma mensagem ao usuário. Imprima o valor
final a ser pago.
15. (6,0) Escreva um programa em Java para gerar 100 números aleatórios e armazená-los
em um vetor chamado vetTodos. Em seguida, o programa deverá gerar um novo vetor
chamado vetPares somente com os números pares do vetor vetTodos.
16. (6,0) Escreva um programa em Java para ler 100 números inteiros informados pelo
usuário e armazená-los em um vetor. Em seguida, o usuário deverá digitar dois
números inteiros e o programa deverá informar se o primeiro número digitado está
em um posição anterior ou posterior ao segundo número no vetor.
17. (6,0) Escreva um programa em Java para gerar um vetor preenchido com os 100
primeiros termos da sequência de Fibonacci. Ao final, o programa deverá imprimir
todos os elementos do vetor.
18. (8,0) Em uma rua, dois amigos fizeram marcas de 1 em 1 metro, iniciando com o
número 1 e finalizando com o número 100. Eles combinaram que um irá andar do 1 ao
100 com passos de 1 metro e outro irá andar do 100 ao 1 com passos de 2 metros.
Escreva um programa em Java para simular essa situação. O programa deverá ser
interrompido quando os amigos cruzarem os caminhos.
19. (8,0) Escreva um programa em Java para ler 20 notas de atividade prática de 100
alunos e imprimir a média de cada aluno. No cálculo da média, deve ser
desconsiderada a menor nota de cada aluno.
20. (10,0) O departamento de RH de uma empresa deseja gerenciar os dados dos
colaboradores. Para isso, escreva um programa em Java para permitir cadastrar os 10
colaboradores da empresa, informando nome e número de registro (inteiro). O
programa deve permitir que o usuário imprima a lista de colaboradores ordenada
crescentemente pelo nome. Por fim, o programa deve permitir que o usuário procure
o número de registro de um colaborador cadastrado e, caso exista, sejam impressos o
número de registro e o nome (a busca deve ser feita com o método busca binária).
21. (6,0) Escreva um programa em Java para ler 10 nomes digitados pelos usuários e
armazená-los em um vetor. Em seguida, o usuário poderá informar um nome a ser
pesquisado. Caso o nome seja um dos 10 nomes digitados inicialmente, o programa
deve imprimir a mensagem "Achou", senão deve imprimir a mensagem "Não existe".
Ao final, o programa deverá imprimir quantas vezes o nome foi encontrado, caso haja
nomes repetidos digitados pelo usuários.
22. (10,0) Escreva um programa em Java para gerar 20 números aleatórios entre 1 e 100
que não sejam repetidos. Por fim, o programa deverá armazenar em um vetor
somente os números que, elevados ao quadrado, resultem em um número maior que
1000. Esses números deverão ser impressos em ordem crescente.
23. (10,0) Escreva um programa em Java para gerar 20 números inteiros aleatórios entre 1
e 100 que não sejam repetidos. Por fim, o programa deverá armazenar em um vetor
chamado VETOR1 todos os números pares maiores que 30, e deverá armazenar em
um vetor chamado VETOR2 todos os números ímpares menores que 30. Não pode
haver espaços em branco entre os elementos dos vetores VETOR1 e VETOR2. Por fim,
um terceiro vetor chamado VETORSOMA deverá ser gerado com a soma das posições
coincidentes dos vetores VETOR1 e VETOR2. Exemplo:
VETOR1
34
42
50
88
64
11
25
29
1
75
117
65
90
84
90
84
VETOR2
13
VETORSOMA
47
53
Download

Lista de estudo para avaliação