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/04 14:27] – [Tipos estáticos y contratos] rodrigo.urrea | 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} | ||
| | ||
" | " | ||
</ | </ |