Herramientas de usuario

Herramientas del sitio


introalg:taller4

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
introalg:taller4 [2006/05/30 14:42] nicolaswintroalg: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.
-  +  * Como va a ser el parcialito 3 en máquina.   
 ===== Soluciones en la Wiki del Práctico 8: estado ====== ===== Soluciones en la Wiki del Práctico 8: estado ======
 +
 +  * En [[introalg:rincon|Wiki de Scripts Haskell]] ya tenemos casi todos los ejercicios resueltos.
 +  * Probarlos, criticarlos, mejorarlos.
 +  * Hay muchas resoluciones para cada ejercicio, mirarlas y compararlas.
  
 ===== Clase ===== ===== Clase =====
Línea 58: Línea 62:
   partirPalabras' st = (tomaPalabra st) : partirPalabras' (tiraEspacio (tiraPalabra st))   partirPalabras' st = (tomaPalabra st) : partirPalabras' (tiraEspacio (tiraPalabra st))
  
-Una vez definida la función ''esta'' podemos probar la función ''partirPalabras''+Todas estas definciones las metemos en el archivo ''frec.hs''
 + 
 +Notamos: 
 +  * La definición de una lista de //caracteres// ''Char''
 +  * Las tres funciones son muy parecidas en su forma y podríamos **generalizar** con ''tomarHasta'' y ''tirarDesde''
 + 
 +Una vez definida la función ''esta'' podemos probar las funciones. 
 + 
 +  Main> tomaPalabra "Despues de tres dias" 
 +  "Despues" 
 +  Main> tiraEspacio "Despues de tres dias" 
 +  "Despues de tres dias" 
 +  Main> tiraEspacio "           Despues de tres dias" 
 +  "Despues de tres dias" 
 +  Main> tiraPalabra "           Despues de tres dias" 
 +  "           Despues de tres dias" 
 +  Main> tiraPalabra "Despues de tres dias" 
 +  " de tres dias" 
  
   Main> partirPalabras "hola"   Main> partirPalabras "hola"
Línea 98: Línea 120:
  
   * Definir la función ''esta : Eq a => a -> [a] -> Bool'', donde ''esta x xs'' decide si el elemento ''x'' está en la lista ''xs'' (ver práctico 10).   * Definir la función ''esta : Eq a => a -> [a] -> Bool'', donde ''esta x xs'' decide si el elemento ''x'' está en la lista ''xs'' (ver práctico 10).
 +  * Probar las funciones ''tomaPalabra'', ''tiraEspacio'', ''tiraPalabra'' y finalmente ''partirPalabras''.
   * Definir la función ''frecuencia :: [Palabra] -> [(Palabra,Int)]'', que devuelve la frecuencia de cada palabra.   * Definir la función ''frecuencia :: [Palabra] -> [(Palabra,Int)]'', que devuelve la frecuencia de cada palabra.
 Puede ser útil definir la función ''agregarOcurrencia :: Palabra -> [(Palabra,Int)] -> [(Palabra,Int)]'' que dada una palabra y una lista de frecuencias, suma esta palabra a la lista de frecuencias. \\ Puede ser útil definir la función ''agregarOcurrencia :: Palabra -> [(Palabra,Int)] -> [(Palabra,Int)]'' que dada una palabra y una lista de frecuencias, suma esta palabra a la lista de frecuencias. \\
-Por ejemplo+Por ejemplo:
   agregarOcurrencia "que" [("hola",2), ("que",1)] = [("hola",2), ("que",2)]   agregarOcurrencia "que" [("hola",2), ("que",1)] = [("hola",2), ("que",2)]
   agregarOcurrencia "hola" [] = [("hola",1)]   agregarOcurrencia "hola" [] = [("hola",1)]
   agregarOcurrencia "que" [("hola",2)] = [("hola",2), ("que",1)]   agregarOcurrencia "que" [("hola",2)] = [("hola",2), ("que",1)]
 +
 +  * (*) Modificar la función ''ordenar'' para que ordene una lista de pares ''[(Palabra,Int)]'' en su segunda coordenada, y utilizando ''tomar'', obtener las 10 palabras más usadas del //corpus//.
 +  * (* *) 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.1149000150.txt.gz · Última modificación: 2018/08/10 03:03 (editor externo)