Scaricate i file di input da qui:
https://github.com/hwupgradecontest/...ree/master/All
Si tratta di una serie di opere letterarie che ho preso da qui:
http://www.liberliber.it/
Grazie a Msangi e The_Ouroboros, il link su github dove potete mettere i vostri sorgenti:
https://github.com/hwupgradecontest/contest19
Per aggiungere il proprio codice du github:
The_Ouroboros:
http://www.hwupgrade.it/forum/showpo...&postcount=784
Vicius:
https://github.com/hwupgradecontest/README
Punto A:
Il programma dovrà leggere i file .txt fondendoli e creandone uno solo delle dimensioni specificate dall'utente. Il file di output sarà poi utilizzato per il Punto B: algoritmi di
Full Text Seach.
La fusione dei vari file txt va effettuata prendendo le singole righe di ogni file di input e mescolandole, in modo casuale, con quelle di tutti gli altri file.
Vanno escluse, nel file di output, le righe vuote. Vanno inoltre eliminati gli spazi superflui. Due o più spazi consecutivi andranno sostituiti con uno spazio solo. Le tabulazioni vanno sostituite con uno spazio.
Per il punto B utilizzeremo il programma che si rivelerà il migliore dal punto di vista delle prestazioni ma soprattutto dalla qualità dell'output.
Il programma, CUI o GUI, a vostra scelta, dovrà dunque permettere all'utente di specificare il nome del file di output e la dimensione. Nel caso l'utente scelga una dimensione maggiore di quella del totale dei file di input, si ricominci dal primo file e via via con tutti gli altri, mescolando sempre in modo casuale le righe.
Esempio(CUI):
Punto B:
Da definire più in la. Ci occuperemo degli algoritmi per la
Full Text Seach e confronteremo le prestazioni(e la qualità dei risultati) con alcuni programmi che vanno per la maggiore nel settore:
Lucene,
Zettair,
Indri.
Punto B.1:
Quote:
B.1:
Si realizzi un programmino che, data in input una stringa di ricerca, indichi l'esatta posizione (riga e colonna) nel file creato al punto A.
Si prendano separatamente i tempi per la creazione dell'indice e quelli per la ricerca.
Se volete utilizzare un algoritmo brute force, senza creare l'indice, siete liberi di farlo.
|
L'esempio qui:
http://www.hwupgrade.it/forum/showpo...&postcount=180
Punto B.2:
Quote:
Si scriva un programmino simile a quello presente nella distribuzioni Linux per contare i caratteri, le parole, le righe, la riga più lunga e la parola più lunga(quest'ultima cosa il comando wc non la fa):
|
Le parole dovranno essere parole di senso compiuto. "---------" o "........" o "£$%*/*&&&" non sono parole di senso compiuto.
"parola", "ciao", "hello" invece si, sono parole di senso compiuto.

Si veda, inoltre, questo post(grazie a msangi):
http://www.hwupgrade.it/forum/showpo...&postcount=618.
E questo(grazie a clockover):
http://www.hwupgrade.it/forum/showpo...&postcount=645
Punto B.3
Si modifichi il programmino di cui al punto B.2 in modo da fargli accettare due argomenti dalla riga di comando(oltre al nome del file):
1) Il parametro "-L=d" dove d sta per la dimensione minima delle parole che l'utente desidera per il conteggio. Per esempio, -L=5 significa che l'utente desidera che vengano conteggiate le parole con lunghezza >= 5.
2) Il parametro "-F=file" dove file sta per il nome di un file specificato dall'utente dove sono listati, una parola per riga, le parole che l'utente desidera escludere dalla ricerca. Per esempio:
Codice:
il
lo
la
i
gli
le
Col suddetto file passato come argomento, il programmino dovrà escludere dal conteggio le parole "il", "lo", "la", "i", "gli", "le".
------------------------------------------------------------------------------------------------------------------------------------------------------
E, a cura dell'utente Marco.r:
Punto C:
Catene Markoviane. In preparazione.