Herramientas de usuario

Herramientas del sitio


introalg:taller09_4

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
introalg:taller09_4 [2009/04/21 12:44] lauraintroalg:taller09_4 [2018/08/10 03:03] (actual) – editor externo 127.0.0.1
Línea 57: Línea 57:
 ordena' :: (Int,Int) -> (Int,Int) ordena' :: (Int,Int) -> (Int,Int)
 ordena' (x,y) |   x <= y    = (x,y) ordena' (x,y) |   x <= y    = (x,y)
-              |   x >y    = (y,x)+              |   x >  y    = (y,x)
 </code> </code>
 Efectivamente, ''ordena''' es más eficiente que ''ordena'' porque en los casos en los que ''x == y'' evalúa a ''True'' en el primer patrón, mientras que en ''ordena'' tiene que evaluar tres patrones para encontrar el que devuelve ''True''. Efectivamente, ''ordena''' es más eficiente que ''ordena'' porque en los casos en los que ''x == y'' evalúa a ''True'' en el primer patrón, mientras que en ''ordena'' tiene que evaluar tres patrones para encontrar el que devuelve ''True''.
Línea 140: Línea 140:
 edad' :: (Int, Int, Int) -> (Int, Int, Int) -> Int edad' :: (Int, Int, Int) -> (Int, Int, Int) -> Int
 edad' (diaN,mesN,anioN) (diaA,mesA,anioA) | compruebaParametros (diaN,mesN,anioN) (diaA,mesA,anioA) && (mesN < mesA) || (mesN == mesA && diaN < diaA) = ( anioA - anioN ) - 1 edad' (diaN,mesN,anioN) (diaA,mesA,anioA) | compruebaParametros (diaN,mesN,anioN) (diaA,mesA,anioA) && (mesN < mesA) || (mesN == mesA && diaN < diaA) = ( anioA - anioN ) - 1
-                                          | compruebaParametros (diaN,mesN,anioN) (diaA,mesA,anioA)                      = anioA - anioN+                                          | compruebaParametros (diaN,mesN,anioN) (diaA,mesA,anioA)                                                   = anioA - anioN
 </code> </code>
 Podemos usar nombres más cortos para que quede toda la función dentro de una línea, pero entonces nos resultará más difícil recordar qué representa cada variable o función: Podemos usar nombres más cortos para que quede toda la función dentro de una línea, pero entonces nos resultará más difícil recordar qué representa cada variable o función:
introalg/taller09_4.1240317878.txt.gz · Última modificación: 2018/08/10 03:03 (editor externo)