introalg:taller4
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:taller4 [2006/05/30 11:28] – nicolasw | introalg:taller4 [2025/11/15 13:47] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 4: | Línea 4: | ||
| * Soluciones en la Wiki: estado. | * Soluciones en la Wiki: estado. | ||
| * Contar frecuencia de palabras. | * Contar frecuencia de palabras. | ||
| - | * Como va a ser el parcialito 3 en máquina. | ||
| * Ejercicios. | * Ejercicios. | ||
| - | | + | |
| ===== Soluciones en la Wiki del Práctico 8: estado ====== | ===== Soluciones en la Wiki del Práctico 8: estado ====== | ||
| + | |||
| + | * En [[introalg: | ||
| + | * Probarlos, criticarlos, | ||
| + | * Hay muchas resoluciones para cada ejercicio, mirarlas y compararlas. | ||
| ===== Clase ===== | ===== Clase ===== | ||
| Línea 26: | Línea 30: | ||
| espacio :: [Char] | espacio :: [Char] | ||
| espacio = [' | espacio = [' | ||
| + | | ||
| esta :: Eq a => a -> [a] -> Bool | esta :: Eq a => a -> [a] -> Bool | ||
| - | --Definirlo! | + | -- Definirlo! |
| - | + | ||
| - | -- tomaPalabra :: [Char] -> [Char] | + | -- Tambien podemos escribirlo como tomaPalabra :: [Char] -> [Char] |
| tomaPalabra :: String -> String | tomaPalabra :: String -> String | ||
| tomaPalabra [] = [] | tomaPalabra [] = [] | ||
| Línea 57: | Línea 61: | ||
| partirPalabras' | partirPalabras' | ||
| partirPalabras' | partirPalabras' | ||
| + | |||
| + | Todas estas definciones las metemos en el archivo '' | ||
| + | |||
| + | Notamos: | ||
| + | * La definición de una lista de // | ||
| + | * Las tres funciones son muy parecidas en su forma y podríamos **generalizar** con '' | ||
| + | |||
| + | Una vez definida la función '' | ||
| + | |||
| + | Main> tomaPalabra " | ||
| + | " | ||
| + | Main> tiraEspacio " | ||
| + | " | ||
| + | Main> tiraEspacio " | ||
| + | " | ||
| + | Main> tiraPalabra " | ||
| + | " | ||
| + | Main> tiraPalabra " | ||
| + | " de tres dias" | ||
| + | |||
| + | |||
| + | Main> partirPalabras " | ||
| + | [" | ||
| + | Main> partirPalabras "hola que tal" | ||
| + | [" | ||
| + | Main> partirPalabras " | ||
| + | [" | ||
| + | |||
| + | Finalmente tenemos que definir la funcion que computa la frecuencia | ||
| + | |||
| + | frecuencia :: [Palabra] -> [(Palabra, | ||
| + | |||
| + | Por ejemplo | ||
| + | |||
| + | Main> frecuencia [" | ||
| + | [(" | ||
| + | Main> frecuencia (partirPalabras " | ||
| + | [(" | ||
| + | |||
| + | |||
| + | Para probar ejemplos más largos podemos agregar una función que dado el nombre de un archivo, devuelve un '' | ||
| + | Este código debe estar **al inicio del script**. | ||
| + | |||
| + | import IOExts | ||
| | | ||
| - | Para probar ejemplos más largos podemos agregar una función que dado el nombre de un archivo, devuelve un '' | + | leeArchivo |
| + | leeArchivo nombre = unsafePerformIO$ readFile nombre | ||
| - | Para obtener textos largos interesantes | + | Para obtener textos largos |
| Por ejemplo están [[http:// | Por ejemplo están [[http:// | ||
| Hay que tener cuidado con la **codificación** pues no todas funcionan.\\ | Hay que tener cuidado con la **codificación** pues no todas funcionan.\\ | ||
| - | Por ejemplo '' | + | Por ejemplo '' |
| + | |||
| + | Main> frecuencia (partirPalabras (leeArchivo " | ||
| ===== Ejercicios ===== | ===== Ejercicios ===== | ||
| * Definir la función '' | * Definir la función '' | ||
| + | * Probar las funciones '' | ||
| * Definir la función '' | * Definir la función '' | ||
| Puede ser útil definir la función '' | Puede ser útil definir la función '' | ||
| - | Por ejemplo | + | Por ejemplo: |
| agregarOcurrencia " | agregarOcurrencia " | ||
| agregarOcurrencia " | agregarOcurrencia " | ||
| agregarOcurrencia " | agregarOcurrencia " | ||
| + | |||
| + | * (*) Modificar la función '' | ||
| + | * (* *) Modificar el programa para que tome un **parámetro de entrada** con el nombre del archivo y devuelva la tabla de frecuencias ordenadas de mayor a menor. | ||
| ===== ?Como será el parcialito 3 en máquina? ===== | ===== ?Como será el parcialito 3 en máquina? ===== | ||
| + | * Ejercicios sencillos del tipo que estuvimos trabajando en clase. | ||
| + | * Se evalua la corrección de la solucion y tienen que explicar como funciona. | ||
| + | * Como siempre se (A)prueba o (N)Desaprueba. | ||
| + | * Cada uno en su turno. | ||
introalg/taller4.1148999338.txt.gz · Última modificación: (editor externo)
