Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
teaching:cc4101:tareas:2015-2:tarea1 [2015/09/17 10:15] – [(4.0) Lenguaje Imperativo] etanter | teaching:cc4101:tareas:2015-2:tarea1 [2015/09/17 10:42] – [(2.0) Programación funcional] etanter | ||
---|---|---|---|
Line 9: | Line 9: | ||
'(a a a b b b c c cT) | '(a a a b b b c c cT) | ||
</ | </ | ||
- | |||
- (0.7) Defina una función '' | - (0.7) Defina una función '' | ||
- | > (groupby cdr (list ' | + | > (groupby cdr |
- | '(" | + | '((" |
- | '(" | + | |
- | '(" | + | |
- | '(" | + | |
+ | | ||
'((72 (" | '((72 (" | ||
(53 (" | (53 (" | ||
Line 21: | Line 21: | ||
> (groupby (λ (x) (modulo (string-> | > (groupby (λ (x) (modulo (string-> | ||
- | (list " | + | '(" |
'((0 " | '((0 " | ||
</ | </ | ||
- | + | | |
- | | + | |
> (define f (curry-n (λ (x y z) (+ x y z)))) | > (define f (curry-n (λ (x y z) (+ x y z)))) | ||
> (((f 2) 5) 20) | > (((f 2) 5) 20) | ||
Line 72: | Line 71: | ||
* (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 '' | * (0.5) Defina la función '' | ||
- | * (1.0) Para evitar errores de variables ya definidas y/o no definidas, defina una función '' | + | * (1.0) Para evitar errores de variables ya definidas y/o no definidas, defina una función '' |
//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, | //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, |