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 14:28] – nicolasw | introalg:taller4 [2018/08/10 03:03] (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: 2018/08/10 03:03 (editor externo)