Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
teaching:cc4101:tareas:2025-1:tarea2:parte2 [2025/05/14 16:52] – [Parte 2. Memoización (2 ptos.)] dibanezteaching:cc4101:tareas:2025-1:tarea2:parte2 [2025/06/10 16:09] (current) etanter
Line 20: Line 20:
   * (1.3 ptos) Modifique el intérprete para que soporte funciones memoizadas. Recuerde que cada aplicación de una función memoizada debe obtener el valor registrado en la tabla de memoización, y de no estarlo, registrarlo para usos posteriores.   * (1.3 ptos) Modifique el intérprete para que soporte funciones memoizadas. Recuerde que cada aplicación de una función memoizada debe obtener el valor registrado en la tabla de memoización, y de no estarlo, registrarlo para usos posteriores.
  
-<note important>Considere la función con memoización ''doble'', que evalúa su argumento dos veces. Si un programa ejecutara  +<note important>Considere la función con memoización ''double'', que retorna ''{+ x x}'' donde ''x'' es el argumento. Si un programa ejecutara  
-<code>{doble {printn 3}} +<code>{double {printn 3}} 
-{doble {printn 3}}+{double {printn 3}}
 </code>¿Cuántas veces debería imprimirse el número 3? Piense en la solución antes de ver la respuesta.  </code>¿Cuántas veces debería imprimirse el número 3? Piense en la solución antes de ver la respuesta. 
 ((Se debe imprimir dos veces, CL siempre usa evaluación temprana. Por ende, la función ''doble'' recibe 3, después de que se hace ''printn''. Para la segunda aplicación recibe 3, también después de imprimir con ''printn''. Al recibir el 3 por segunda vez, responde lo que tiene en memoria, pero en este punto el 3 ya fue impreso por segunda vez.))</note> ((Se debe imprimir dos veces, CL siempre usa evaluación temprana. Por ende, la función ''doble'' recibe 3, después de que se hace ''printn''. Para la segunda aplicación recibe 3, también después de imprimir con ''printn''. Al recibir el 3 por segunda vez, responde lo que tiene en memoria, pero en este punto el 3 ya fue impreso por segunda vez.))</note>