Cursos‎ > ‎Martes Anual‎ > ‎Bitácora‎ > ‎Bitácora - Martes Mañana‎ > ‎

Clase 2

Tarea

En un famoso foro de intercambio legal de información legítima y software aprobado por la ley, se quiere hacer un agregado al sistema de puntuación. Hay tres niveles de usuarios (newbie, intermedio y avanzado) y todos pueden puntuar. Los usuarios newbies otorgan como máximo 1 punto, los intermedios como máximo 5 puntos, y los avanzados como máximo 10 puntos.


Algunos ejemplos de usuarios:
("george", 2012)
("sexy99", 2011)
("boca_cabj", 2010)
("jroman", 2009)
(“admin”, 2008)

anioActual :: Int -- Magia negra si usan WinHugs, no pregunten, sólo pónganlo. Con GHC no hace falta.

anioActual = 2012


Se pide definir las funciones para los siguientes requerimientos. Se muestran algunos ejemplos de consulta:

1) La antigüedad de un usuario

> antiguedad ("sexy99", 2011)

1

2) Los puntos base de un usuario, sabiendo que se calculan como la antigüedad por la longitud del nombre.

> puntosBase ("sexy99", 2011)

6

3) El nivel de un usuario, sabiendo que si tiene menos de un año de antigüedad es “newbie”, si tiene menos de 50 puntos base es “intermedio”, y sino es “avanzado”.

> nivel ("sexy99", 2011)

"intermedio"

4) Si un usuario puede otorgar cierta cantidad de puntos. Ésto es cierto si no es el usuario de nombre “admin”, y los puntos a otorgar no superan el máximo otorgable para ese usuario según su nivel.

> puedeOtorgar ("sexy99", 2011) 8

False -- (Ya que sexy99 es intermedio, y no puede otorgar más de 5 puntos)


Para el martes que viene traer impreso el .hs con las funciones para resolver los puntos mencionados junto con las consultas que usaron para probar el correcto funcionamiento.

Resumenes

Resumen Clase 1y2 Funcional - mm 2012


Comments