UTNianos

Versión completa: [Paradigmas] [Resolución] Final 10/12/2011
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Chicos:

https://docs.google.com/document/d/1vP4n...2DPGY/edit

Acá está el final resuelto de Paradigmas del 10/12/2011. Lo resolví pero no sé si está del todo bien. Si me pueden dar una mano se los agradecería.

[attachment=2771]
yo tambien conteste que no existia la forma sin recursividad y el ayudante me puso esto
4) f n | n==0 = 1
| n>0 = n * f(n-1)

no se me ocurre forma no recursiva....existe?


Ayudante:
factorial n = foldl (*) 1 [1..n]

factorial n = product [1..n]


PONELE
(02-03-2012 15:36)paulita escribió: [ -> ]yo tambien conteste que no existia la forma sin recursividad y el ayudante me puso esto
4) f n | n==0 = 1
| n>0 = n * f(n-1)

no se me ocurre forma no recursiva....existe?

Ayudante:
factorial n = foldl (*) 1 [1..n]
factorial n = product [1..n]

PONELE

Pero fold y producto son recursivas en su definición! Confused
Vengo a responder la última pregunta (aunque la consulta sea del año del pedo)

Foldl es recursiva en su definición... pero también "all", "map", "filter" son TODAS recursivas en su definición.
"Usar recursividad" se refiere a no hacerlo explícitamente, o sea, no hacer que una función se llame a sí misma.
Estuve viendo bien las resoluciones del parcial.... hay algo que no me cierra para nada.
En una parte pregunta:
¿Qué concepto evita la duplicación de código? A lo cual responden que es la "herencia", pero heredar no siempre te evita duplicar código.
O sea, en este caso lo que diferencia a una jirafa de otra es que la jirafa de cuello corto cumple todo lo anterior y su pasto es Abundante.
En este caso muy particular la herencia te está ahorrando código, pero si se me hubiera ocurrido poner la jirafa de cuello corto como un animal más no estaría usando herencia, y no estaría conceptualmente mal.
En otro caso la Herencia puede llevarte incluso más código o complicarte el diseño base de tu programa. Bah, eso entiendo yo.
URLs de referencia