No exemplo a seguir, desejamos produzir, a partir de uma lista xs, uma lista com o quadrado de cada número de xs.
A função quadaux opera produzindo uma nova lista, acrescentando ao final da lista xs o quadrado do número x dado, usando a operação "++" para concatenar duas listas. Primeiro produzimos uma lista com o quadrado do número dado e depois concatenamos.
quadaux xs x= xs ++ [x * x]
A função lquad aplica a função quadaux a cada elemento da lista de entrada xs, tendo como elemento neutro a lista vazia.
lquad xs = foldl quadaux [ ] xs
Vejamos a aplicação da função usando o ambiente HUGS
>lquad [1..10]
[1,4,9,16,25,36,49,64,81,100]
> lquad []
[]
Nenhum comentário:
Postar um comentário