Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Programação Funcional - Exercícios Resolvidos - trab2013, Exercícios de Informática

Coleção completa de exercícios resolvidos em haskell

Tipologia: Exercícios

2013

Compartilhado em 13/09/2013

bruno-franco-oliveira-9
bruno-franco-oliveira-9 🇧🇷

4

(10)

63 documentos

1 / 1

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Trabalho de Programação Funcional
Tipos Algébricos e Árvore de Busca Binária em linguagem Haskell
Grupos de 2 alunos
Valor – 30 pontos
Entrega do Relatório: 12/04/2013
Enviar por e-mail para: [email protected]
O relatório a ser entregue (em pdf) deve incluir para cada questão: enunciado, código em Haskell de cada
função com comentários e descrição da estratégia utilizada na criação da mesma, além de exemplos de
testes realizados com os resultados obtidos.
1) Seja uma agência bancária que deseja vender titulos de capitalização para seus correntistas. O
título é adquirido em apenas uma parcela. Cada correntista pode comprar um título (apenas
um). Cada título de capitalização deve ser definido por uma tupla com os seguintes dados:
• Numero da Conta
• Data da compra (tupla com dia, mês e ano)
• Valor escolhido (300, 500, 1000 e 1500)
Assim, podemos ter os exemplos abaixo como tuplas para títulos de capitalização:
(“689232”, (25,10,2011), 1000)
(“236333”, (27,10,2011), 300)
(“546544”, (08,11,2011), 1500)
(“975457”, (16,11,2011), 1000)
2) Crie uma estrutura de árvore de busca binária para armazenar as compras de títulos de
capitalização dos correntistas. A seguir defina uma função inserir para guardar cada título na
árvore, usando o número da conta de comparação. A função inserir deve garantir que não seja
registrado mais de um título por correntista.
3) Ao final do prazo para a venda dos títulos devem-se começar os sorteios, que acontecem
semanalmente. O valor a pagar ao correntista sorteado é 1000 vezes o valor escolhido. Para isso:
A) Faça uma função que retira os elementos (apenas os números da conta) da árvore de busca
binária, e os coloca numa lista, usando a estratégia da pós-ordem.
B) Usando um número qualquer como entrada, faça uma função sorteio, que realiza um
percurso circular na lista e devolve o numero da conta sorteada. No percurso circular, deve-se,
ao chegar no final da lista, começar novamente do início da mesma até que o número de entrada
seja igual a um.
Ex: > sorteio 10 [“689232”,“236333”, “546544”, “975457”]
“236333”
C) Para cada conta sorteada, removê-la da árvore binária para que um novo sorteio possa ser
realizado.

Pré-visualização parcial do texto

Baixe Programação Funcional - Exercícios Resolvidos - trab2013 e outras Exercícios em PDF para Informática, somente na Docsity!

Trabalho de Programação Funcional

Tipos Algébricos e Árvore de Busca Binária em linguagem Haskell

Grupos de 2 alunos Valor – 30 pontos Entrega do Relatório: 12/04/ Enviar por e-mail para: [email protected] O relatório a ser entregue (em pdf) deve incluir para cada questão: enunciado, código em Haskell de cada função com comentários e descrição da estratégia utilizada na criação da mesma, além de exemplos de testes realizados com os resultados obtidos.

  1. Seja uma agência bancária que deseja vender titulos de capitalização para seus correntistas. O título é adquirido em apenas uma parcela. Cada correntista pode comprar um título (apenas um). Cada título de capitalização deve ser definido por uma tupla com os seguintes dados:
  • Numero da Conta
  • Data da compra (tupla com dia, mês e ano)
  • Valor escolhido (300, 500, 1000 e 1500) Assim, podemos ter os exemplos abaixo como tuplas para títulos de capitalização: (“689232”, (25,10,2011), 1000) (“236333”, (27,10,2011), 300) (“546544”, (08,11,2011), 1500) (“975457”, (16,11,2011), 1000) 2 ) Crie uma estrutura de árvore de busca binária para armazenar as compras de títulos de capitalização dos correntistas. A seguir defina uma função inserir para guardar cada título na árvore, usando o número da conta de comparação. A função inserir deve garantir que não seja registrado mais de um título por correntista.
  1. Ao final do prazo para a venda dos títulos devem-se começar os sorteios, que acontecem semanalmente. O valor a pagar ao correntista sorteado é 1000 vezes o valor escolhido. Para isso: A) Faça uma função que retira os elementos (apenas os números da conta) da árvore de busca binária, e os coloca numa lista, usando a estratégia da pós-ordem. B) Usando um número qualquer como entrada, faça uma função sorteio , que realiza um percurso circular na lista e devolve o numero da conta sorteada. No percurso circular, deve-se, ao chegar no final da lista, começar novamente do início da mesma até que o número de entrada seja igual a um. Ex: > sorteio 10 [“689232”,“236333”, “546544”, “975457”] “236333” C) Para cada conta sorteada, removê-la da árvore binária para que um novo sorteio possa ser realizado.