Mensaje: #1
Funcional, dudas de como resolver un punto
Ejercicios
Paradigmas de Programación
Bueno, es de un tp de funcional, y tengo que resolver un punto que me esta quemando la cabeza :/
Las carreras de chocobos son un entretenimiento cada día más popular, y por lo tanto ya es hora de armar un programa que nos ayude a analizarlas como es debido. Elegimos hacerlo en haskell, básicamente por inercia (y... ya que lo venimos usando hace 2 meses sigamos con eso).
Las pistas por las que nuestros emplumados amigos deben correr van a estar representadas por listas de tramos, cada tramo a su vez sera representado por una tupla (distancia, correcionDeVelocidad).
bosqueTenebroso = [ (100, f1) , (50, f2) , (120, f2) , (200, f1) , (80, f3) ]
pantanoDelDestino = [ (40, f2) , (90, (\(CChocobo _ (f,p,v))-> f + p + v)) , (120, fuerza) , (20, fuerza) ]
f1 chocobo = velocidad chocobo * 2
f2 chocobo = velocidad chocobo + fuerza chocobo
f3 chocobo = velocidad chocobo `div` peso chocobo
Tenemos los chocobos (esenciales para una carrera de chocobos): el negro, el amarillo, el blanco y el rojo. Cada uno tiene distintas características, modeladas por medio de un data:
data Chocobo = CChocobo String (Integer,Integer,Integer) deriving(Show)
amarillo = CChocobo "amarillo" (5,3,3)
negro = CChocobo "negro" (4,4,4)
blanco = CChocobo "blanco" (2,3,6)
rojo = CChocobo "rojo" (3,3,4)
fuerza (CChocobo _ (f,_,_)) = f
peso (CChocobo _ (_,p,_)) = p
velocidad (CChocobo _ (_,_,v)) = v
2. a. Saber el tiempo que tarda un chocobo en recorrer un tramo. El mismo está dado por la distancia del tramo dividido por la velocidad corregida para el chocobo.
> tiempo amarillo (head bosqueTenebroso)
16
bien, mi problema es a la hora de relacionar lo que serian las funciones f1, f2 y f3 con la correccion de velocidad, se me ocurre algo asi:
distancia ( a, _) = a
correccionDeVelocidad ( _,b) =b
pero aca me quedo, ayuda pliss :/
|