1. O documento apresenta 9 exercícios sobre programação com vetores que envolvem preenchimento, cálculo e exibição de informações armazenadas em vetores. 2. Os exercícios abordam temas como vetores numéricos e de strings, cálculo de médias, maiores e menores valores. 3. Dicas e recomendações são fornecidas para facilitar a resolução dos exercícios propostos.
1. CEA030 Programação de Computadores I
LISTA DE EXERCÍCIOS 4
Vetores
Prof. José Romildo Malaquias DECOM UFOP 2011/1
1. Faça um programa que preencha um vetor com seis elementos numéricos inteiros, e calcule
e mostre
a) todos os números pares, e
b) a quantidade de números ímpares.
2. Faça um programa que receba o código de cinco produtos e seus respectivos preços, calcule
e mostre:
a) a quantidade produtos com preço inferior a R$50,00
b) o código dos produtos com preço entre R$50,00 e R$100,00
c) a média dos preços dos produtos com preço superior a R$100,00
Dica 1: Use um vetor de inteiros para armazenar os códigos dos produtos, e outro vetor de
reais para armazenar os preços. O código e o preço de um mesmo produto devem ocupar
posições correspondentes nos dois vetores.
3. Faça um programa que receba o nome de oito clientes e armazene-os em um vetor. Em
um segundo vetor armazene a quantidade de DVDs locados em 2010 por cada um dos oito
clientes. Sabe-se que para cada dez locações o cliente tem direito a uma locação grátis. O
programa deve mostrar o nome de todos os clientes e a quantidade de locações grátis que
ele tem direito.
Dica 1: O vetor para armazenar os nomes (strings) pode ser declarado da seguinte forma:
char nomes[TAM_VETOR][TAM_NOME];
sendo nomes o nome da variável vetor, TAM_VETOR o tamanho do vetor (quantidade de cli-
entes), e TAM_NOME o tamanho máximo da string (contando o caractere nulo) que representa
o nome.
4. Faça um programa que receba a temperatura média de cada mês do ano, armazenando-as
em um vetor. Calcule e mostre a maior e a menor temperatura do ano e em que mês (por
extenso) ocorreram. Desconsidere empates.
Dica 1: Use uma variável menor_temp para armazenar a menor temperatura. Comece
inicializando-a com a temperatura no primeiro mês. A fim de determinar o mês em que
ocorreu a menor temperatura, use uma variável pos_menor_temp para armazenar a posição
em que a menor temperatura foi encontrada no vetor. Obviamente o seu valor inicial deve
ser zero.
Dica 2: Usando um comando de repetição, verifique se a temperatura em cada um dos
meses posteriores é menor do que o valor de menor_temp. Em caso afirmativo tanto
menor_temp como pos_menor_temp devem ser atualizadas para refletir este fato.
1
2. Dica 3: Ao final das repetições todas as temperaturas já foram analisadas e a menor de todas
as temperaturas é o valor de menor_temp, e sua posição no vetor é o valor de pos_menor_temp.
Dica 4: Para exibir o mês por extenso, uso um comando switch para determinar o mês
baseado no valor de pos_menor_temp.
Dica 5: Proceda de maneira similar para determinar a maior temperatura.
5. Uma pequena loja de artesanato possui apenas um vendedor e comercializa dez tipos de
objetos. O vendedor recebe, mensalmente, salário de R$400,00, acrescido de 5% do valor
total de suas vendas. Faça um programa que:
a) Receba os preços e as quantidades vendidas de cada objetos, armazenando-os em dois
vetores.
b) Mostre um relatório contendo quantidade vendida, valor unitário e valor total de cada
objeto. Ao final deverá ser mostrado o valor geral da comissão que será paga ao vende-
dor.
c) Mostre o valor do objeto mais vendido e sua posição no vetor. Não se preocupe com
empates.
Dica 1: Utilize dois vetores para armazenar o preço e a quantidade vendida de cada objeto.
O preço de um objeto deve ficar em um vetor e a quantidade vendida deve ficar em outro
vetor, porém na mesma posição.
6. Faça um programa para corrigir provas de múltipla escolha que foram aplicadas em uma
turma de doze alunos. Cada prova tem oito questões e cada questão vale um ponto. O
programa deve primeiramente ler o gabarito da prova e em seguida os números de matrícula
dos alunos e as respostas que deram às questões. Calcule e mostre:
a) o número e a nota de cada aluno
b) a taxa (em porcentagem) de aprovação, sabendo-se que a nota mínima para aprovação é
cinco.
Dica 1: Use um vetor de tamanho oito para armazenar o gabarito da prova.
Dica 2: Use outro vetor de tamanho oito para armazenar as respostas dos alunos.
Dica 3: O tipo utilizado para uma resposta deve ser char.
Dica 4: Use uma variável simples para calcular a pontuação dos alunos.
Dica 5: Use uma variável simples para contar os alunos que foram aprovados.
Dica 6: Para corrigir uma prova, compare a resposta dada pelo aluno com a resposta que
se encontra no gabarito, para cada uma das oito questões. Se forem iguais some um ponto
à pontuação do aluno.
Dica 7: Sempre que a pontuação final de um aluno for maior ou igual à pontuação mínima
para aprovação (cinco), incremente o contador de alunos aprovados.
7. Faça um programa para determinar os aumentos salariais dos funcionários de uma empresa.
Serão informados pelo usuário a quantidade de funcionários da empresa, e o nome, o salário
e o tempo de serviço de cada funcionário. Somente terão direito ao aumento os funcionários
que possuem tempo de serviço superior a cinco anos ou salário inferior a R$560,00. Se o
2
3. funcionário satisfizer estas duas condições o aumento será de 35%. Para o funcionário
que satisfizer apenas à condição de tempo de serviço o aumento será de 25%. Para aquele
funcionário que satisfizer apenas a condição salário, o aumento será de 15%.
a) Mostre um primeiro relatório apenas com os nomes dos funcionários que não terão
aumento.
b) Mostre um segundo relatório apenas com os nomes e os novos salários dos funcionários
que terão aumento.
Dica 1: Utilize três vetores diferentes para armazenar as informações dos funcionários for-
necidas pelo usuário.
Dica 2: O vetor para armazenar os nomes (strings) deve ser declarado da seguinte forma:
char nomes[TAM_VETOR][TAM_NOME];
sendo nomes o nome da variável vetor, TAM_VETOR o tamanho do vetor (quantidade de
funcionários), e TAM_NOME o tamanho máximo da string (contando o caractere nulo) que
representa o nome.
8. Desenvolva uma aplicação que simule um caixa automático. Para tanto devem ser lidos
os códigos de dez contas e seus respectivos saldos. Não pode haver mais de uma conta
com o mesmo código. O programa deverá repetidamente exibir um menu de opções, deixar
o usuário escolher uma opção, e executar a operação correspondente, até que ele escolha
terminar. As opções do menu são:
Consultar o saldo de uma conta . O usuário deve informar o código da conta. Se o código
não estiver cadastrado o usuário deverá ser informado. Se a conta existir, o seu saldo
deverá ser exibido.
Efetuar depósito em uma conta . Para efetuar depósito, deve-se solicitar o código da
conta e o valor a ser depositado. Se a conta não estiver cadastrada, o usuário de-
verá ser informado. Se a conta existir, deverá atualizar o seu saldo com o valor do
depósito.
Efetuar saque em uma conta . Para efetuar saque, deve-se solicitar o código da conta e o
valor a ser sacado. Se conta não estiver cadastrada o usuário deverá ser informado. Se
a conta existir e houver saldo suficiente, o saldo deverá ser atualizado com o valor do
saque.
Consultar o ativo bancário , ou seja, a soma dos saldos de todas as contas
Terminar a aplicação .
Dica 1: Os códigos das contas devem ser armazenados em um vetor de números inteiros, e
o saldo em um vetor de números reais, na mesma posição (índice) do código. Por exemplo,
se a conta 504 foi armazenada na quinta posição do vetor de códigos, seu saldo deverá ficar
na quinta posição do vetor de saldos.
9. Uma empresa de transporte de passageiros possui ônibus com 48 lugares (24 nas janelas
e 24 no corredor). Faça um programa para controlar a ocupação dos lugares enquanto as
passagens são vendidas. Inicialmente todas as poltronas estão livres. O programa deverá
repetidamente exibir um menu de opções, deixar o usuário escolher uma opção, e executar
a operação correspondente, até que ele escolha terminar. As opções do menu são:
3
4. • vender passagem
• mostrar quantidade de lugares livres
• mostrar mapa de ocupação do ônibus
• encerrar
Quando a opção escolhida for vender passagem, o usuário deverá informar o número da
poltrona. O programa então deverá dar uma das seguintes informações:
• venda efetivada – se a poltrona solicitada estiver livre, marcando-a como ocupada
• poltrona ocupada – se a poltrona não estiver disponível para venda
• ônibus lotado – quando todas as poltronas já estiverem ocupadas.
O mapa de ocupação do ônibus deverá ser formatado como mostro o exemplo:
LADO ESQUERDO LADO DIREITO
---------------------- ----------------------
JANELA CORREDOR CORREDOR JANELA
---------------------- ----------------------
1.ocupado 2.ocupado 3.livre 4.ocupado
5.ocupado 6.ocupado 7.ocupado 8.livre
9.livre 10.ocupado 11.ocupado 12.ocupado
13.ocupado 14.livre 15.livre 16.livre
17.ocupado 18.livre 19.livre 20.livre
21.ocupado 22.ocupado 23.ocupado 24.ocupado
25.ocupado 26.livre 27.livre 28.ocupado
29.ocupado 30.livre 31.livre 32.livre
33.livre 34.ocupado 35.livre 36.ocupdo
37.livre 38.livre 39.ocupado 40.livre
41.livre 42.livre 43.livre 44.livre
45.livre 46.livre 47.livre 48.livre
Dica 1: Utilize um vetor de inteiros para indicar se uma poltrona está ocupada ou não. O
valor 1 (verdadeiro) deve ser usado para indicar que a poltrona está ocupada, e o valor 0
(falso) para indicar que a poltrona não está ocupada.
Dica 2: O corpo do comando de repetição que irá exibir a tabela de ocupação dos lugares
vai exibir uma linha completa (isto é, quatro lugares).
4