La práctica consiste en elaborar un programa en Haskell que cargue un fichero de texto con
palabras válidas y cree un diccionario. Una vez realizado esto, el programa preguntará al usuario por diferentes secuencias de letras y devolverá las palabras válidas (aquellas presentes en el diccionario) que se puedan construir en base a las letras disponibles.
Ejemplo 1: el programa busca el fichero del diccionario por palabras ([login to view URL]),
construye el diccionario y espera que el usuario introduzca una secuencia de letras:
*Main> main
Cargando lista de palabras desde el fichero [login to view URL]
79517 palabras leídas
Introduce secuencia de letras:
Ejemplo 2: con el diccionario anterior ya cargado, el usuario introduce la secuencia de letras
“aosc” y el programa devuelve todas las palabras del diccionario que pueden construirse utilizando
esas letras:
2
Introduce secuencia de letras: aosc
-Palabras de 4 letras: asco, caos, caso, cosa, saco, soca
-Palabras de 3 letras: cao, cas, coa, oca, osa, sao
-Palabras de 2 letras: as, ca, oc, os, so
-Palabras de 1 letra: a, c, o, s
Introduce secuencia de letras:
Ejemplo 3: con el diccionario anterior ya cargado, el usuario introduce la secuencia de letras
“riomwalfo” y el programa devuelve todas las palabras del diccionario que pueden construirse
utilizando esas letras:
Introduce secuencia de letras: riomwalfo
-Palabras de 9 letras: wolframio
-Palabras de 7 letras: wolfram
-Palabras de 6 letras: almori, amorfo, amorio, ariolo, filmar, firmal, foliar,
formal, formol, marfil, mariol, moflir
-Palabras de 5 letras: afilo, aforo, alimo, arfil, arilo, aromo, farol, filar,
firma, flora, folia, folio, foral, forma, limar, maori, marlo, mirla, mirlo,
mofar, molar, moral, morfa, oriol, ramio
-Palabras de 4 letras: afro, alim, almo, amir, amol, amor, ario, arlo, falo,
faro, fiar, fila, film, filo, fimo, flor, foro, fria, frio, liar, lima, limo,
lira, loar, loma, lomo, loor, lora, loro, malo, maro, miar, mira, mofa, mola,
molo, mora, moro, olio, olma, olmo, olor, oral, orfo, orla, orlo, rail, ralo,
ramo, rial, rifa, rima, rola, rolo, roma, romi, romo
-Palabras de 3 letras: ali, ami, amo, aro, far, fia, fil, ira, lar, lia, lio,
loa, mal, mar, mia, mil, mio, moa, mol, mor, oil, oir, ola, ora, ori, oro, ria,
rio, roa, rol
-Palabras de 2 letras: al, am, ar, fa, fi, fo, io, ir, la, lo, mi, ro
-Palabras de 1 letra: a, f, i, l, m, o, r, w
Introduce secuencia de letras:
En este ejemplo vemos que con las letras de la secuencia introducida no se puede formar ninguna
palabra de 8 letras.