16.03.2015 Views

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

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!