Algoritmos e Estrutura de Dados I 5ª Lista de ... - INF-Unioeste
Algoritmos e Estrutura de Dados I 5ª Lista de ... - INF-Unioeste Algoritmos e Estrutura de Dados I 5ª Lista de ... - INF-Unioeste
Algoritmos e Estrutura de Dados I 5ª Lista de Exercícios – 2009 Estruturas de Dados Heterogêneas 1) Uma indústria faz a folha mensal de pagamentos de seus 80 empregados baseada no seguinte: • Existe uma tabela com os dados de cada funcionário (matrícula, nome e salário bruto); • Escreva um programa que leia e processe a tabela e emita, para cada funcionário, seu contracheque, cujo formato é dado a seguir: Salário Liquido: • O desconto do INSS é de 12% do salário bruto. • O salário líquido é a diferença entre o salário bruto e a dedução do INSS. 2) Em certo município, vários proprietários de imóveis estão em atraso com o pagamento do IPTU. Escreva um programa que calcule e escreva o valor da multa a ser paga por estes proprietários, bem como o total a ser arrecadado pelo município, considerando que: • os dados de cada imóvel (identificação, valor do imposto e número de meses em atraso) estão à disposição para leitura; • as multas devem ser calculadas no valor de 1% por mês de atraso. • o último registro lido, que não deve ser considerado, contém identificação do imóvel igual a XXX; • o programa deve exibir: a identificação do imóvel, valor do imposto, número de meses em atraso e multa a ser paga. 3) Escreva um programa que armazene um cadastro de 50 pessoas com os seguintes dados: nome, telefone e data de nascimento (dia, mês, ano) e realize consultas da seguinte forma: • Leia o número de um determinado mês (1 a 12). Obs: a leitura do mês 0 encerra as consultas. • Exiba o nome, o telefone e o dia do aniversário das pessoas daquele respectivo mês. 4) Uma determinada biblioteca possui obras de ciências exatas, humanas e biológicas, totalizando 1500 volumes, distribuídos em cada uma das áreas. O proprietário resolveu agrupar as informações de cada livro no seguinte registro: Código de catalogação
- Page 2 and 3: Doação (S/N) Nome da obra Nome do
<strong>Algoritmos</strong> e <strong>Estrutura</strong> <strong>de</strong> <strong>Dados</strong> I<br />
5ª <strong>Lista</strong> <strong>de</strong> Exercícios – 2009<br />
<strong>Estrutura</strong>s <strong>de</strong> <strong>Dados</strong> Heterogêneas<br />
1) Uma indústria faz a folha mensal <strong>de</strong> pagamentos <strong>de</strong> seus 80 empregados<br />
baseada no seguinte:<br />
• Existe uma tabela com os dados <strong>de</strong> cada funcionário (matrícula, nome e<br />
salário bruto);<br />
• Escreva um programa que leia e processe a tabela e emita, para cada<br />
funcionário, seu contracheque, cujo formato é dado a seguir:<br />
Salário Liquido:<br />
• O <strong>de</strong>sconto do INSS é <strong>de</strong> 12% do salário bruto.<br />
• O salário líquido é a diferença entre o salário bruto e a <strong>de</strong>dução do INSS.<br />
2) Em certo município, vários proprietários <strong>de</strong> imóveis estão em atraso com o<br />
pagamento do IPTU. Escreva um programa que calcule e escreva o valor da multa<br />
a ser paga por estes proprietários, bem como o total a ser arrecadado pelo<br />
município, consi<strong>de</strong>rando que:<br />
• os dados <strong>de</strong> cada imóvel (i<strong>de</strong>ntificação, valor do imposto e número <strong>de</strong><br />
meses em atraso) estão à disposição para leitura;<br />
• as multas <strong>de</strong>vem ser calculadas no valor <strong>de</strong> 1% por mês <strong>de</strong> atraso.<br />
• o último registro lido, que não <strong>de</strong>ve ser consi<strong>de</strong>rado, contém i<strong>de</strong>ntificação<br />
do imóvel igual a XXX;<br />
• o programa <strong>de</strong>ve exibir: a i<strong>de</strong>ntificação do imóvel, valor do imposto, número<br />
<strong>de</strong> meses em atraso e multa a ser paga.<br />
3) Escreva um programa que armazene um cadastro <strong>de</strong> 50 pessoas com os<br />
seguintes dados: nome, telefone e data <strong>de</strong> nascimento (dia, mês, ano) e realize<br />
consultas da seguinte forma:<br />
• Leia o número <strong>de</strong> um <strong>de</strong>terminado mês (1 a 12). Obs: a leitura do mês 0<br />
encerra as consultas.<br />
• Exiba o nome, o telefone e o dia do aniversário das pessoas daquele<br />
respectivo mês.<br />
4) Uma <strong>de</strong>terminada biblioteca possui obras <strong>de</strong> ciências exatas, humanas e<br />
biológicas, totalizando 1500 volumes, distribuídos em cada uma das áreas. O<br />
proprietário resolveu agrupar as informações <strong>de</strong> cada livro no seguinte registro:<br />
Código <strong>de</strong> catalogação
Doação (S/N)<br />
Nome da obra<br />
Nome do autor<br />
Editora<br />
Área<br />
Construir um algoritmo que:<br />
a) cadastre todos os volumes <strong>de</strong> cada uma das áreas em três vetores distintos;<br />
b) permita ao usuário fazer consulta às informações cadastradas fornecendo o<br />
código <strong>de</strong> catalogação e a área. Existindo tal livro as informação são exibidas,<br />
caso contrário enviar mensagem <strong>de</strong> aviso. A consulta se repete até que o usuário<br />
digite código finalizador = -1.<br />
5) Faça um algoritmo que leia 3 notas bimestrais para 10 alunos (apresentando no<br />
final os dados <strong>de</strong> cada aluno classificados por nome - opcional).<br />
6) Em uma cooperativa do interior do Paraná <strong>de</strong>cidiu-se beneficiar os produtores<br />
que mais ven<strong>de</strong>rem produtos agrícolas à cooperativa. Para po<strong>de</strong>r realizar a<br />
aplicação dos benefícios, foi necessário cadastrar cada um dos 1230 cooperados,<br />
armazenando seus nomes, telefones, CPF, en<strong>de</strong>reço, quantida<strong>de</strong> já enviada à<br />
cooperativa, o total em R$ da produção entregue e a data (Ano, Mês e Dia) em<br />
que se tornou associado da cooperativa. Em reunião, os administradores<br />
chegaram a um acor<strong>de</strong> <strong>de</strong> que apenas os 10 primeiros cooperados seriam<br />
premiados com um acréscimo no pagamento dos insumos entregues à<br />
cooperativa. O primeiro em quantida<strong>de</strong> <strong>de</strong> entrega recebe um acréscimo <strong>de</strong> 20%<br />
no preço <strong>de</strong> venda, o segundo 18%, o terceiro 16% até o décimo maior<br />
cooperado.<br />
Construa um software para cadastrar todos os dados dos cooperados e<br />
que, em seguida, exiba uma relação contendo os dados dos cooperados<br />
beneficiados com a promoção. Ao fim da relação <strong>de</strong>ve-se exibir o total em R$ que<br />
a cooperativa vai <strong>de</strong>sembolsar para oferecer essa promoção.<br />
7) Indignados com a promoção realizada no exercício anterior, os cooperados<br />
mais antigos que, por terem porções menores <strong>de</strong> terra não po<strong>de</strong>m oferecer gran<strong>de</strong><br />
quantida<strong>de</strong>s <strong>de</strong> produtos à cooperativa e, portanto, não receberiam nenhuma<br />
vantagem. Para contornar tal problema optaram pela seguinte estratégia: dar um<br />
acréscimo <strong>de</strong> 14% aos 15 cooperados mais antigos da cooperativa, <strong>de</strong>s<strong>de</strong> que já<br />
não estejam relacionados entre os 10 beneficiados anteriormente, ou seja, quem<br />
foi premiado por produção não será premiado por tempo <strong>de</strong> associação.<br />
O Software <strong>de</strong>ve exibir uma relação contendo os dados dos cooperados<br />
que foram beneficiados por esta nova promoção bem como o total em R$ que a<br />
cooperativa <strong>de</strong>sembolsou para aten<strong>de</strong>r a esta <strong>de</strong>manda.<br />
8) Em uma cafeteria as mesas estão dispostas similares a uma matriz 5 x 6, ou<br />
seja, existem 30 mesas no recinto. Para melhor controlar as <strong>de</strong>spesas dos clientes<br />
o gerente <strong>de</strong>cidiu implementar um software que receba o pedido <strong>de</strong> cada mesa<br />
(através da coor<strong>de</strong>nada x e y <strong>de</strong>sta) e o armazene em um controlador que ao
finalizar a conta, retorne aos consumidores quanto eles <strong>de</strong>vem pagar. Então o<br />
sistema <strong>de</strong>ve possuir duas opções:<br />
• Adicionar itens aos consumidos pela mesa;<br />
• Fechar a conta da mesa e em seguida zerar o consumo da mesa para<br />
novos clientes.<br />
Para fazer o levantamento, cada mesa possui um registro contendo a<br />
quantida<strong>de</strong> <strong>de</strong> cada item consumido. Ou seja, se ele consumiu dois salgados, no<br />
registro campo salgados constará o número dois e, caso sejam consumidos mais<br />
unida<strong>de</strong>s <strong>de</strong>ste mesmo item, o campo será incrementado.<br />
O cliente ao fazer um pedido <strong>de</strong>ve especificar a quantida<strong>de</strong> e o item a ser<br />
consumido. Esse processo é repetido até que o cliente escolha a opção <strong>de</strong> fechar<br />
a conta ao invés <strong>de</strong> consumir mais itens.<br />
Os itens disponíveis na cafeteria são:<br />
Código Descrição Preço – R$<br />
1 Café 1,50<br />
2 Salgado 2,50<br />
3 Lanche 5,50<br />
4 Refrigerante 2,00<br />
5 Doce 2,50<br />
6 Torta 4,30