pf lista05
1313 palavras
6 páginas
ˆUniversidade Federal de Uberlandia
- UFU
˜ - FACOM
Faculdade de Computac¸ao
˜ Funcional
Lista de exerc´ıcios de Programac¸ao
˜ em Listas
Recursao
Dica: Resolva todos os exerc´ıcios sem utilizar o computador. Uma vez que os exerc´ıcios estejam prontos, utilize o GHCI para conferir suas respostas.
˜
˜ podem ser
1. Mostre os resultados das seguintes execuc¸oes, ou explique porque elas nao executadas. - -
P r i m e i r a
f u n c
¸ ~ a o
separa :: [ Int ] -> [ Int ] separa ( p : s : r ) = ( s : r )
> separa [1 ,2 ,3 ,4 ,5]
> separa [1 ,2 ,3]
> separa [1 ,2]
> separa [1]
- -
S e g u n d a
f u n ¸ c ~ a o
separab :: [ Int ] -> [ Int ] separab ( p : s : r ) = ( r : s : p )
> separab [1 ,2 ,3 ,4 ,5]
> separab [1 ,2 ,3]
> separab [1 ,2]
> separab [1]
- -
T e r c e i r a
f u n c
¸ ~ a o
separac :: [ Int ] -> [ Int ] separac ( p : r ) = r
> separac [1 ,2 ,3 ,4 ,5]
1
> separac [1 ,2 ,3]
> separac [1 ,2]
> separac [1]
> separac []
˜ em Haskell. Mostre a execuc¸ao
˜ passo a passo dessas
2. Implemente as seguintes func¸oes
˜ para os exemplos fornecidos. func¸oes (a) Determinar o comprimento de uma lista, ex:
> comprimento [3 ,14 ,1 ,5 ,9]
5
´
(b) Determinar o somatorio dos elementos de uma lista, ex:
> somatorio [3 ,14 ,1 ,5 ,9]
32
´
(c) Determinar o somatorio dos elementos ´ımpares de uma lista, ex:
> so matori o_impa res [3 ,14 ,1 ,5 ,9]
18
˜ utilize a func¸ao
˜ odd
Obs.: Nao
(d) Determinar a soma dos quadrados dos elementos de uma lista, ex:
> soma_quadrados [3 ,14 ,1 ,5 ,9]
312
˜ multiplos
(e) Determinar a soma dos elementos de uma lista que sao de 3, ex:
´
> soma_mult_3 [3 ,14 ,1 ,5 ,9]
12
´
(f) Determinar o produtorio dos elementos de uma lista, ex:
> produtorio [3 ,14 ,1 ,5 ,9]
1890
´
(g) Determinar o n-esimo elemento de uma lista, ex:
> n_esimo 3 [3 ,14 ,1 ,5 ,9]
5
˜ 0.
Obs.: Considere que o primeiro elemento da lista esta´ na posic¸ao
(h) Determinar o ultimo elemento de uma lista, ex:
´
> ultimo [3 ,14 ,1 ,5 ,9]
9
˜ utilize a func¸ao
˜ last.
Obs.: