algoritmo A1 funcional