Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| teaching:cc4101:tareas:tarea1xyz [2023/04/03 21:07] – [Parte 3. Contratos en funciones de primer orden (1.5 ptos.)] tvallejos | teaching:cc4101:tareas:tarea1xyz [2023/04/05 21:02] (current) – etanter | ||
|---|---|---|---|
| Line 17: | Line 17: | ||
| - | Deben entregar via U-cursos **un archivo .zip** que contenga los siguientes archivos: '' | + | Deben entregar via U-cursos **un archivo .zip** que contenga los siguientes archivos: '' |
| Line 55: | Line 55: | ||
| </ | </ | ||
| Un programa está compuesto de 0 o más definiciones de funciones, además de una expresión final que sirve de punto de entrada (como el //main// en C y Java). Una definición de función incluye el nombre de la función, el nombre de los parámetros formales, y finalmente la expresión del cuerpo de la función. Las expresiones '' | Un programa está compuesto de 0 o más definiciones de funciones, además de una expresión final que sirve de punto de entrada (como el //main// en C y Java). Una definición de función incluye el nombre de la función, el nombre de los parámetros formales, y finalmente la expresión del cuerpo de la función. Las expresiones '' | ||
| + | |||
| + | Los programas que terminan reducen a valores. Estos pueden ser números, booleanos o pares de valores. Siguiendo buenas prácticas, definimos un tipo de dato inductivo '' | ||
| Algunos ejemplos de programas válidos para este lenguaje pueden ser: | Algunos ejemplos de programas válidos para este lenguaje pueden ser: | ||
| Line 80: | Line 82: | ||
| </ | </ | ||
| - | Su función '' | + | Su función '' |
| * Implemente la función '' | * Implemente la función '' | ||
| - | * Implemente la función '' | + | * Implemente la función '' |
| - | * Implemente la funcion '' | + | |
| **Observaciones importantes**: | **Observaciones importantes**: | ||
| Line 179: | Line 180: | ||
| < | < | ||
| > (typecheck '{3}) | > (typecheck '{3}) | ||
| - | (Num) </ | + | (numT) </ |
| > (typecheck ' | > (typecheck ' | ||
| {f {< 3 4}}}) | {f {< 3 4}}}) | ||
| - | (Num) </ | + | (numT) </ |
| > (typecheck ' | > (typecheck ' | ||
| {one #t}}) | {one #t}}) | ||
| Line 209: | Line 210: | ||
| {{define {positive {x : Num}} {< 0 x}} | {{define {positive {x : Num}} {< 0 x}} | ||
| | | ||
| - | {+ y -x}} | + | |
| {sub 5 3}} | {sub 5 3}} | ||
| </ | </ | ||
| Line 229: | Line 230: | ||
| <code scheme> | <code scheme> | ||
| {{define {positive {x : Num}} {< 0 x}} | {{define {positive {x : Num}} {< 0 x}} | ||
| - | | + | |
| | | ||
| </ | </ | ||
| Line 245: | Line 246: | ||
| > (run ' | > (run ' | ||
| | | ||
| - | #t} | ||
| | | ||
| " | " | ||
| </ | </ | ||

