Buscar

Exercícios de Programação I em Haskell

Prévia do material em texto

Curso: Engenharia de Computação
Disciplina: Programação I
Professor: Rodolfo da Silva Villaça
Quinta Aula de Laboratório
1. Dados dois números, n1 e n2, encontrar os múltiplos de n3 que se encontram 
neste intervalo.
2. Implemente a função mod (função que retorna o resto de uma divisão de 
inteiros). Obviamente, não pode ser usada a função mod do interpretador Hugs!
3. Seja a sequencia 
a1 = sqrt(6)
a2 = sqrt(6+sqrt(6))
a3 = sqrt(6+sqrt(6+sqrt(6)))
a4 = sqrt(6+sqrt(6+sqrt(6+sqrt(6))))
a) Encontre a forma recursiva para an+1
b) Encontre a soma dos 10 primeiros termos.
4. Seja o cadastro de pessoas dado pela função a seguir:
pessoa rg | (rg==1) = (“Joao Silva”, 12, 'M')
| (rg==2) = (“Jonas Souza”, 51, 'M')
...
| (rg==321) = (“Jocileide Strauss”, 21, 'F')
| otherwise = (“Nao há ninguem mais”, 9999, 'X')
Construa funções que retornem os seguintes dados:
a) O nome da pessoa de maior idade até um determinado número de 
registro;
b) A idade média de todas as pessoas até um dado registro;
c) O número de pessoas do sexo masculino;
d) O número do registro da pessoa de maior idade
5. Apresentada uma base de dados de 10 professores:
base :: Int -> (Int, String, String, Char)
base x 
| (x==0) = (1793, “Pedro Paulo”, “Mestre”, 'M')
| (x==1) = (1797, “Joana Silva Alencar”, “Mestre”, 'F')
| (x==2) = (1594, “João de Medeiros”, “Doutor”, 'M')
| (x==3) = (1267, “Claudio Cesar de Sá”, “Doutor”, 'M')
| otherwise = (0, “”, “”, '0')
Construa funções que retornem:
a) O número de doutores;
b) O número de mulheres;
c) O número de mestres do sexo masculino;
d) O nome do professor mais antigo (número de menor matrícula).

Continue navegando