Buscar

lista2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Segunda Lista de Exerc´ıcios da Disciplina de Liguagem de
Programac¸a˜o III
Carolina Maria Costa Batschauer
4 de abril de 2007
Instruc¸o˜es
A presente lista de exerc´ıcios tem como objetivo introduzir e aplicar os conceitos sobre a
linguagem de programac¸a˜o Haskell vistos em sala de aula. Esta deve ser entregue ate´ o
dia 13 de abril atrave´s do e-mail monitorialpg3@gmail.com, podendo ser confeccionada
em duplas ou individualmente. Exerc´ıcios entregues apo´s a data tera˜o reduc¸a˜o de nota no
grau previsto nas instruc¸o˜es dispostas na pa´gina da disciplina1.
Na avaliac¸a˜o sera˜o considerados a clareza, originalidade, os comenta´rios e as diferentes
soluc¸o˜es apresentadas. Os arquivos fontes em LATEX sera˜o disponibilizados para quem
desejar entregar a lista atrave´s deste formato.
Du´vidas referentes ou na˜o a` lista podem ser esclarecidas procurando a monitora em seu
hora´rio de atendimento, dispon´ıvel no site da disciplina, ou via e-mail.
Implemente quantas func¸o˜es forem necessa´rias para a implementac¸a˜o da func¸a˜o princi-
pal.
1 Se´rie de Taylor
A sequ¨eˆncia de Taylor para a func¸a˜o exponecial e´ definida por:
ex = 1 +
x
1!
+
x2
2!
+
x3
3!
+
x4
4!
+ ...
Construa uma func¸a˜o que retorne o n-e´simo termo dessa sequ¨eˆncia.
Exemplo:
main > taylor 1
> 1
main > taylor 2
> 4
1http://geocities.yahoo.com.br/lpg3udesc
1
2 Intervalos entre datas
Dadas duas datas (dia , meˆs) realizar o calculo do nu´mero de dias entre elas.
Exemplo:
main > intervdatas (1,4) (2,5)
> 32
main > intervdatas (10,6) (15,6)
> 5
3 Soma de Equac¸a˜o de Segundo Grau
Dadas duas duas equac¸o˜es do segundo grau em formato de tuplas (x2, x1, x0), realizar a
soma entre elas.
Exemplo:
main > intervdatas (1,4,5) (2,5,6)
> (3,9,11)
main > intervdatas (10,6,5) (2,15,6)
> (12,21,11)
4 Cadastro de empresas
Realize um cadastro de empresas formado por uma tupla com os seguintes campos:
empresa1 = (”nome− empresa”, ”produto− fornecido”, valor − unita´rio−
produto, dia− pagamento, nu´mero− componentes− pedidos)
Exemplo:
empresa 1 = ("Ac¸o firme", "Chapas de ac¸o", 100.00 , 15, 1000)
empresa 2 = ("Aluminio S/A", "Chapas de aluminio", 150.00 , 10, 1000)
empresa 3 = ("Porcas e parafusos LTDA", "Porcas", 0.50 , 7, 150000)
empresa 4 = ("Porcas e parafusos LTDA", "Parafusos", 0.50 , 7, 150000)
...
empresa 20 = ("S~ao Marcos", "Caixas de papel~ao", 20.50 , 5, 5000)
5 Retornar Nome Empresa
Construa func¸o˜es que retornem o nome da empresa que possuem as seguintes carac-
ter´ısticas, nos ”n”primeiros registros, utilizando a lista criada anteriormente:
1. Maior prec¸o unita´rio
2. Menor prec¸o unita´rio
3. O dia de pagamento mais pro´ximo do final do meˆs
2
main > maiorpreco 3
> "Aluminio S/A"
main > menorpreco 4
> "Porcas e parafusos LTDA"
main > diapag 4
> "Ac¸o firme"
6 Gasto mensal por produto
Ainda utilizando o cadastro gerado, construa uma func¸a˜o que retorne o gasto mensal com
determinado produto.
Exemplo:
main > gastoprod "Porcas"
> 75000
main > gastoprod "Chapas de ac¸o"
> 100000
7 Gasto mensal total
Ainda utilizando o cadastro gerado, construa uma func¸a˜o que retorne o gasto mensal total.
8 Gasto mensal total
Ainda utilizando o cadastro gerado, construa uma func¸a˜o que retorne o gasto mensal total.
9 Valor gerado de ICMS
Ainda utilizando o cadastro gerado, construa uma func¸a˜o que retorne o gasto mensal total
com ICMS (Imposto sobre Circulac¸a˜o de Mercadorias e Prestac¸a˜o de Servic¸os).
10 Frac¸o˜es na Forma Mista
Sabe-se que um nu´mero fraciona´rio maior que 1 pode ser representado pela chamada forma
mista. Dessa maneira, a igualdade abaixo e´ verdadeira:
11
3
= 3
2
3
3
Sendo assim, construa uma func¸a˜o que receba uma tupla contendo o numerador e o de-
nominador da frac¸a˜o original e que retorne uma nova tupla contendo a parte inteira, o
numerador e o denominador da frac¸a˜o em sua forma mista.
Exemplo:
main > mista (11, 3)
> (3, 2, 3)
main > mista (15, 6)
> (2, 1, 2)
11 Comparac¸a˜o entre Frac¸o˜es
Tendo como paraˆmetro de uma func¸a˜o duas tuplas, as quais representam duas frac¸o˜es em
sua forma mista, construa duas func¸o˜es que retornem a maior e a menor frac¸a˜o entre as
duas.
Exemplo:
main > maiorf (2, 3, 5) (1, 7, 8)
> (2, 3, 5)
main > menorf (4, 2, 3) (4, 1, 3)
> (4, 1, 3)
12 Integrais pelo me´todo dos trape´zios simples
Para uma f (x) previamente determinada realizar o calculo da integral pelo me´todo dos
trape´zios simples. Os paraˆmetros de entrada sera˜o o ponto a = x0 e b = x1
T (f) = (f(a) + f(b)) ∗ (b− a)/2
13 Integrais pelo me´todo dos trape´zios composto
Para uma f (x) previamente determinada realizar o calculo da integral pelo me´todo dos
trape´zios composto. Os paraˆmetros de entrada sera˜o o ponto a = x0 , b = x1 e a raza˜o r
(valor que dara´ o segundo ponto que sera´ calculado recursivamente ate´ b = x1).
T (f) = (f(a) + r) ∗ (r − a)/2
14 Problema desafio
Como implementac¸a˜o EXTRA!! Encontrar o dia da semana que foi o seu nascimento!!
Na func¸a˜o interna deve constar uma data de parametro inicial com seu dia da semana
correspondente!!
Exemplo:
main > dianasc (17, 01, 2007)
> "quarta-feira"
4

Outros materiais