Algoritmo funcional