14.03.2015 Views

Universidade Estadual do Oeste do Paraná ... - INF-Unioeste

Universidade Estadual do Oeste do Paraná ... - INF-Unioeste

Universidade Estadual do Oeste do Paraná ... - INF-Unioeste

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Universidade</strong> <strong>Estadual</strong> <strong>do</strong> <strong>Oeste</strong> <strong>do</strong> Paraná – UNIOESTE<br />

Campus de Cascavel<br />

Colegia<strong>do</strong> de Informática<br />

Algoritmos e Estruturas de Da<strong>do</strong>s I<br />

Trabalho 1º Bimestre<br />

Descrição<br />

Este trabalho visa possibilitar ao aluno abordagens a novos problemas além <strong>do</strong>s<br />

vistos em sala, crian<strong>do</strong> assim um pensamento mais abrangente, preparan<strong>do</strong>-o para uma<br />

gama maior de solução de problemas.<br />

Exercícios<br />

1) Elaborar um algoritmo que calcule e exibe os termos de uma PA e de uma PG. O<br />

usuário deverá optar por uma das progressões. Caso ele informe o valor 1 estará<br />

escolhen<strong>do</strong> a primeira, caso informe <strong>do</strong>is estará optan<strong>do</strong> pela PG. Assim que o usuário<br />

fizer sua escolha, o programa deve solicitar o número de termos a ser calcula<strong>do</strong>, a razão<br />

da progressão e o primeiro termo. Então o programa deve exibir os termos na tela (o<br />

número de termos que o usuário escolheu) e a soma destes termos. Esse processo de<br />

escolha e exibição deve ocorrer até que o usuário digite 0 (ao invés de 1 ou 2) como<br />

opção, fazen<strong>do</strong> com que o processo seja termina<strong>do</strong>.<br />

2) Construir um programa que leia <strong>do</strong>is valores forneci<strong>do</strong>s pelo usuário. Em seguida,<br />

este programa deve descobrir quantos números primos existem entre os limites<br />

informa<strong>do</strong>s (inclusive). Este processo é repeti<strong>do</strong> até que o usuário informe <strong>do</strong>is valores<br />

iguais. Ao término da execução, o programa deve retornar quais formam os <strong>do</strong>is<br />

números que possuíam o maior número de primos entre eles e quais são estes números<br />

primos.<br />

3) Uma empresa de ônibus precisa fazer uma pesquisa para analisar quantas pessoas<br />

chegam o fim da uma determinada linha. Para auxiliar a empresa, deve-se elaborar um<br />

algoritmo que leia a quantidade de pontos presentes nesta linha onde, em cada ponto,<br />

podem subir e descer pessoas. O programa deve ler também quantas pessoas sobem e<br />

descem em cada um <strong>do</strong>s pontos (deve-se observar que não se pode ter um número<br />

negativo de passageiros e nem um total maior que a capacidade máxima, que será de 54<br />

passageiros). O ponto de partida não é conta<strong>do</strong> com um ponto da linha, por ser a saída<br />

<strong>do</strong> ônibus. Se existirem no ponto, mais pessoas <strong>do</strong> que podem entrar no ônibus, o<br />

programa deve exibir uma mensagem dizen<strong>do</strong> quantas devem ficar no ponto devi<strong>do</strong> à<br />

lotação. Se o usuário tentar descer mais pessoas <strong>do</strong> que os que estão no ônibus o<br />

programa devem exibir aviso dizen<strong>do</strong> que tal fato é impossível. Ao final da execução o<br />

algoritmo deve mostrar quantas pessoas chegaram o fim da linha.<br />

4) Um gerente de vendas de uma indústria de teci<strong>do</strong>s analisou muitos fatores da<br />

empresa e descobriu que as vendas haviam caí<strong>do</strong> devi<strong>do</strong> ao alto preço cobra<strong>do</strong> pelos<br />

seus produtos. Buscan<strong>do</strong> então aumentar as vendas ele decidiu aplicar uma abordagem<br />

que promovesse descontos a clientes que comprassem mais quantidades. Para fazer uma<br />

simulação <strong>do</strong>s resulta<strong>do</strong>s, desenvolva um programa que interaja com o gerente. Este


programa deve perguntar se existem mais clientes a serem atendi<strong>do</strong>s. Enquanto a<br />

resposta for “sim”, o programa deve perguntar qual a quantidade vendida e o preço de<br />

venda <strong>do</strong> produto vendi<strong>do</strong>. Quan<strong>do</strong> a resposta for “não”, o programa termina a<br />

execução.<br />

Ao fim <strong>do</strong> processo o algoritmo deve retornar qual foi o total em R$ de<br />

descontos cedi<strong>do</strong>s aos clientes atendi<strong>do</strong>s e qual seria o total em R$ das vendas se não<br />

fossem da<strong>do</strong>s tais descontos. Lembran<strong>do</strong> que estes descontos são calcula<strong>do</strong>s sobre o<br />

valor total da compra.<br />

Para calcular os descontos, deve seguir as seguintes tabelas:<br />

Valor da Compra Valor <strong>do</strong> Desconto<br />

até 1000 5%<br />

1000 a 2000 10%<br />

2000 a 3000 15%<br />

acima de 3000 20%<br />

Qde. Comprada Valor <strong>do</strong> Desconto<br />

até 15 itens 5%<br />

16 a 30 itens 10%<br />

31 a 45 itens 15%<br />

acima de 45 itens 20%<br />

Quan<strong>do</strong> uma compra entrar em duas categorias distintas, o programa deve contar<br />

o maior desconto. Por exemplo, uma compra de 17 itens que gerou um total de R$<br />

2780,00 receberá um desconto de 15%.<br />

Este exercício deve, obrigatoriamente, aplicar a estrutura de repetição<br />

while.<br />

5) Um ladrão ao invadir uma loja de eletrônicos deparou-se com a seguinte situação: ele<br />

tem uma série de itens que pode escolher para roubar, porém, apenas alguns cabem na<br />

mochila que ele levou para carregar os bens rouba<strong>do</strong>s. Assim, ele deve escolher quais<br />

itens serão rouba<strong>do</strong>s e quais deverão ficar na loja. Como o gatuno foi cuida<strong>do</strong>so, ao não<br />

disparar o alarme, ele tem bastante tempo para fazer a escolha. Dessa forma, decidiu<br />

acessar um computa<strong>do</strong>r da loja e criar um programa em linguagem pascal que o<br />

ajudasse a escolher os itens de forma que a escolha lhe rendesse mais dinheiro no<br />

merca<strong>do</strong> de rouba<strong>do</strong>s. Construam um algoritmo similar ao desenvolvi<strong>do</strong> pelo ladrão<br />

para fazer a escolha <strong>do</strong>s itens de forma que maximize o valor obti<strong>do</strong> pela venda <strong>do</strong>s<br />

produtos rouba<strong>do</strong>s. A lista de itens que cabe na bolsa levada pelo ladrão está abaixo, ao<br />

la<strong>do</strong> <strong>do</strong> item, o valor pelo qual ele consegue vender o item no merca<strong>do</strong> paralelo, o peso<br />

de cada item e a quantidade disponível. A resposta correta será aquela que retorne o<br />

maior valor na venda sem que a capacidade da bolsa seja ultrapassada. O total suporta<strong>do</strong><br />

pela mochila <strong>do</strong> ladrão é de 25 Kg. Deve-se aplicar a estrutura de repetição Repeat.<br />

Item Valor de venda Peso (Kg) Quantidade<br />

Notebook R$ 800,00 9 2<br />

Placa de vídeo 512 M R$ 100,00 1,1 3<br />

HD 500 G R$ 80,00 2 5<br />

Placa Mãe R$ 90,00 1,8 4<br />

DVD Player R$ 80,00 3,5 6<br />

Home Theater R$ 185,00 5 3


Monitor LCD 21” R$ 120,00 5 3<br />

NetBook R$ 190,00 4 3<br />

Smartphone R$ 150,00 1 3<br />

6) Construir, para to<strong>do</strong>s os exercícios anteriores o código em portugol. Para Facilitar o<br />

processo de construção de tais algoritmos, não é necessário toda a formatação formal de<br />

interação com o usuário, por exemplo, não há necessidade de exibir ao usuário:<br />

“Digite seu nome:”;<br />

Leia Nome;<br />

“Digite sua idade: ”;<br />

Leia Idade;<br />

Pode ser feito da seguinte forma:<br />

“Digite Nome, Idade, Tempo de Serviço: ”;<br />

Leia Nome, Idade, TmpServ;<br />

O objetivo de realização deste exercício é desenvolver a capacidade de criar<br />

algoritmos independentes da linguagem em que serão implementa<strong>do</strong>s. A resolução deste<br />

exercício deve ser entregue em arquivo texto (os desenvolve<strong>do</strong>res podem escolher a<br />

extensão) junto com o restante <strong>do</strong> trabalho.<br />

Especificações:<br />

a) O trabalho deve ser desenvolvi<strong>do</strong> individualmente. Trabalhos com <strong>do</strong>is alunos ou<br />

mais serão desconsidera<strong>do</strong>s.<br />

b) O valor total <strong>do</strong> trabalho representará 30 décimos da nota <strong>do</strong> primeiro bimestre.<br />

c) Devem ser entregues arquivos contento o código fonte (.pas). Este código deve ser<br />

entregue em formato digital entregue em mãos. Deve ser entregue também o arquivo<br />

(ou arquivos) em formato texto conten<strong>do</strong> os códigos em portugol. Não serão aceitos<br />

trabalhos envia<strong>do</strong>s via e-mail.<br />

d) Cópias de trabalhos serão penalizadas com a perda total <strong>do</strong> valor <strong>do</strong> trabalho.<br />

e) A linguagem utilizada para desenvolver este trabalho deve ser o Pascal (podem ser<br />

utiliza<strong>do</strong>s os compila<strong>do</strong>res Free Pascal, Turbo Pascal, DevPascal, Pascalzim, Geany).<br />

h) A data de entrega <strong>do</strong> trabalho é 21/05/2009 até as 16:30. A entrega pode ser feita em<br />

mãos com o professor da disciplina ou deixada no escaninho presente no colegia<strong>do</strong>.<br />

i) A mídia utilizada para entrega deve ser marcada com nome <strong>do</strong> desenvolve<strong>do</strong>r <strong>do</strong><br />

trabalho, disciplina e bimestre.

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

Saved successfully!

Ooh no, something went wrong!