Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
teaching:cc4101:tareas:2015-2:tarea1 [2015/09/17 10:28] – [(2.0) Programación funcional] etanterteaching:cc4101:tareas:2015-2:tarea1 [2015/09/17 10:36] – [(4.0) Lenguaje Imperativo] etanter
Line 73: Line 73:
   * (1.0) Defina un interprete para el lenguaje, usando una tabla de hash global para manejar el estado de las variables.    * (1.0) Defina un interprete para el lenguaje, usando una tabla de hash global para manejar el estado de las variables. 
   * (0.5) Defina la función ''run :: Prog → Num'' que ejecuta un programa y retorna el valor de una expresión ''return'', o un error si corresponde.   * (0.5) Defina la función ''run :: Prog → Num'' que ejecuta un programa y retorna el valor de una expresión ''return'', o un error si corresponde.
-  * (1.0) Para evitar errores de variables ya definidas y/o no definidas, defina una función ''var-check :: Prog → List[string]'' que analiza el programa (sin ejecutarlo!), y retorna una lista de los errores de variables presentes en el programa. Si el programa no contiene errores, retorna la lista vacía.+  * (1.0) Para evitar errores de variables ya definidas y/o no definidas, defina una función ''var-check :: Prog → List[string]'' que analiza un programa (sin ejecutarlo!), y retorna una lista de los errores de variables presentes en el programa. Si el programa no contiene errores, retorna la lista vacía.
 //Nota: recuerden que para definir una función que procesa una estructura compuesta, tienen que usar funciones auxiliares para los sub-componentes (aquí, programas, instrucciones, expresiones).// //Nota: recuerden que para definir una función que procesa una estructura compuesta, tienen que usar funciones auxiliares para los sub-componentes (aquí, programas, instrucciones, expresiones).//