miércoles, 1 de junio de 2016

Programacion en lenguaje funcional.

Recursividad 

en haskell la recursividad es el metodo mas comun para realizar muchos programas, la recursividad consiste en que la funcion se llame asi misma un numero indefinido de veces como en el siguiente ejemplo
en la imagen declaramos la funcion factorial que lo que hace es multiplicar un numero n por todos los numeros menores a el hasta llegar a 0, para hacerlo la funcion se llama asi mismo una y otra vez, el resultado que obtenemos al llegar n a 0 es algo parecido a esto, factorial 4: 4*(3*(2*(1*1)))

y nos entrega el resultado: 24

funcion en funcion

como ya vimos anteriormente, haskell no nos permite simplemente mezclar distintos tipos de datos entre si dentro de una funcion por lo que programar puede llegar a ser algo complicado, si se requiere tener que manejar distintos tipos de datos se requieren hacer multiples funciones y hacer que se llamen entre si.

por ejemplo:


en la funcion anterior vemos que la funcion euler al final declara otra funcion multiplo que realiza operaciones por su cuenta. tambien se pudo haber declarado por separado en vez de usando el where.

No hay comentarios:

Publicar un comentario