introalg:taller2
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| introalg:taller2 [2006/05/09 09:58] – nicolasw | introalg:taller2 [2025/11/15 13:47] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 13: | Línea 13: | ||
| Notamos | Notamos | ||
| * No hay una única forma de resolver un problema. | * No hay una única forma de resolver un problema. | ||
| - | * Como podemos | + | * Como hacer **control de los parámetros de entrada**. |
| - | * Cláusula '' | + | * Cláusula |
| - | * Comentarios en el código. | + | |
| - | * Uso del '' | + | * Uso del **'' |
| - | * ¿Guardas | + | * ¿**Guardas |
| * No se usaron **definiciones locales** para la función de cálculo de área. | * No se usaron **definiciones locales** para la función de cálculo de área. | ||
| - | Se aprende muchísimo //leyendo detenidamente código bien escrito//. | + | ** Se aprende muchísimo //leyendo detenidamente código bien escrito// |
| ===== Clase ===== | ===== Clase ===== | ||
| Línea 31: | Línea 31: | ||
| Definir la función cabeza: | Definir la función cabeza: | ||
| - | Por ejemplo '' | + | Por ejemplo '' |
| El mecanismo básico para poder **destruir** una lista en partes es el //pattern matching//, que podemos pensarlo como una definición por casos, que es capaz de dividir la lista en su **cabeza** y **cola** | El mecanismo básico para poder **destruir** una lista en partes es el //pattern matching//, que podemos pensarlo como una definición por casos, que es capaz de dividir la lista en su **cabeza** y **cola** | ||
| Línea 62: | Línea 62: | ||
| ceroOuno x = False | ceroOuno x = False | ||
| - | Ahora tomemos | + | |
| + | ==== Programas Recursivos ==== | ||
| + | |||
| + | Tomemos | ||
| Defina la función duplicar:: | Defina la función duplicar:: | ||
| Línea 69: | Línea 72: | ||
| Usamos un planteamiento //inductivo o recursivo// y //pattern matching// para | Usamos un planteamiento //inductivo o recursivo// y //pattern matching// para | ||
| * Definir un **caso base** (lista vacía '' | * Definir un **caso base** (lista vacía '' | ||
| - | * Definir el **caso inductivo** (la lista tiene al menos un elemento, siendo el primero ' | + | * Definir el **caso inductivo** (la lista tiene al menos un elemento, siendo el primero |
| duplicar :: [Int] -> [Int] | duplicar :: [Int] -> [Int] | ||
| Línea 130: | Línea 133: | ||
| * (P8-E12) Defina la función promedio // | * (P8-E12) Defina la función promedio // | ||
| * (P8-E16) (*) c) Modificar la guarda de '' | * (P8-E16) (*) c) Modificar la guarda de '' | ||
| - | |||
introalg/taller2.1147179498.txt.gz · Última modificación: (editor externo)
