Verbatron è un programma gratuito che genera anagrammi e molti altri giochi enigmistici (cambi, sciarade, lucchetti, metagrammi, cernite, etc.)
V e r b a t r o n 2 download
(Per scaricare il programma (circa 1.2Mb) clicca su "download" qui sopra)
Nel seguito descrivo in modo abbastanza dettagliato l'uso del programma e la semplice procedura di installazione.
Il programma dovrebbe girare in tutte le versioni di Windows dal 98 in poi. Attenzione: non funziona bene se si utilizza Windows con CARATTERI GRANDI.
Dovrebbe funzionare anche sotto linux (per esempio con Debian o Ubuntu) usando wine. Per i test mi sono affidato ai volontari di it.hobby.enigmi e alla pazienza di Roberto Morassi alias Cartesio che ringrazio anche per tutti i suggerimenti.
Il programma è stato scritto quasi 20 anni fa in un ambiente di sviluppo che non ho più e non mi è possibile aggiornarlo o modificarlo in alcun modo.
Istallazione facile facile, ma da fare A MANO!
Il programma viene distributo come un file Verbatron2.zip che contiene una cartella Verbatron2 che contiene:
- Il programma Verbatron2.exe
- La cartella Dizionari che a sua volta contiene la cartella Default che a sua volta contiene il file italungo.txt.
- Il file "verbaiut.txt". Questo file contiene l'help che viene visualizzato da Verbatron. Non cancellatelo e modificatelo solo se sapete bene cosa state facendo.
Questa strutture di cartelle deve essere mantenuta intatta! Se non compare unzippando il file Verbatron2.zip, allora controllate le opzioni di decompressione settate in WinZip (o nel programma che usate)
In altre parole: dovete lasciare il file eseguibile Verbatron2.exe, il file verbaiut.txt e la cartella Dizionari nella stessa cartella (può anche non essere la cartella Verbatron2 e può essere spostata dove vi pare). Se volete potete creare un link (collegamento) per Verbatron2.exe sul desktop (scrivania) o dove vi pare, ma dovete lasciare sempre Verbatron2.exe e la cartella Dizionari nella stessa cartella. Se non avete intenzione di usare dizionari diversi da quello di italiano di default non dovete sapere altro. Se invece siete interessati a aggiungere dizionari o modificare quello presente leggete più avanti. Questa procedura di installazione è stata eseguita con successo da mio figlio quando aveva 10 anni quindi se non vi riesce fatevi aiutare da qualcuno!
Anagrammi
La frase da anagrammare va inserita nel campo in alto. Nel campo sotto PUÒ essere inserito del testo da considerare FISSO (naturalmente devono essere lettere che appartengono alla frase da anagrammare). È possibile stabilire il numero minimo e massimo delle parole che devono comporre l'anagramma risultante e fissare la lunghezza minima delle parole che lo compongono (1,2,3,4 o 5).
Formato dei risultati: Ogni riga contiene un anagramma. Le parole fra parentesi quadre sono equivalenti (in quanto a lettere) e ne va scelta una. Ad esempio, anagrammando GiovanniResta si ottiene (anche) "navigasti [nero reno]" una riga che condensa due anagrammi, ovvero "navigasti nero" e "navigasti reno". Se si deseleziona l'opzione [Output compatto] allora il programma espanderà ogni anagramma, eliminando quindi le parentesi quadre.
Se l'output è compatto e le parole che formano l'anagramma hanno molti anagrammi, allora le singole righe possono essere lunghe. Se si seleziona l'opzione [A capo autom.], il programma andrà a capo ad ogni anagramma, premettendo un "-" (trattino) ad ogni anagramma per chiarezza.
Vengono generati al massimo circa 10.000 anagrammi. Premendo il tasto STOP si può interrompere prima la ricerca.
Se si indica una parte fissa che non è contenuta nella frase da anagrammare il conteggio delle lettere viene momentaneamente nascosto e il pulsante genera viene disattivato.
Se si desiderano più anagrammi è possibile settare l'opzione [Randomizza]: in questo modo gli anagrammi generati non saranno sempre gli stessi e nello stesso ordine.
Invece di specificare il numero minino e massimo di parole e la lunghezza minima, è possibile specificare esattamente la lunghezza delle parole che si vogliono ottenere, attraverso l'opzione [Schema] . Esempio:
Nella finestrella sopra il pulsante [Mostra in.] viene mostrato il numero di parole candidate a far parte dell'anagramma (in. sta per "incluse"). Premendo il tasto [Mostra in.] le parole vengono mostrate in ordine di lunghezza decrescente. Questa opzione può servire per scegliere delle parole da mettere nella parte fissa, mentre si usa Verbatron per costruire un anagramma.
L'opzione [Imponi i filtri di Parole] serve per imporre vincoli particolari. La scelta delle parole viene agganciata ai filtri impostati nella sezione [PAROLE] (vedi sotto). Si può scegliere se applicare il filtro deve essere soddisfatto da tutte le parole che compongono l'anagramma, da esattamente una parola, da almeno una parola o da al massimo una parola.
Sotto vediamo l'esito di una ricerca nella quale avevo ristretto le parole a quelle in cui si alternano vocali e consonanti.
Questo tipo di filtro può essere usato in casi particolari. Per esempio, posso usarlo per ottenere anagrammi nei quali al massimo una parola è lunga uno o due caratteri. O per evitare che compaiano anagrammi che contengono una o più parole specifiche. O per evitare l'uso di parole che finiscono per consonante, etc.etc.
Parole
Mostra (in ordine alfabetico) al massimo 10000 parole che soddisfano i criteri indicati.
Se si seleziona l'opzione [Solo Lettere] verranno cercate solo le parole che possono essere formate con le lettere specificate. Le ripetizioni contano! Cioè con [solo lettere]= orte non posso fare la parola "torre". E' possibile premettere alla lettera un numero da 1 a 9 che indica la quantità. Quindi i3e2nt3s è equivalente a ieeenntsss.
L'opzione lunghezza minima e massima serve ovviamente a restringere la ricerca in base alla lunghezza della parola.
Nei campi [Gruppi Obbligati] si possono specificare (separandoli con degli spazi) dei gruppi di lettere che le parole devono contenere. Per esempio inserendo "a sto" si selezioneranno solo parole che contengono al loro interno la lettera a e il gruppo sto, come ad esempio storia, castoro, etc.etc. Analogamente i [Gruppi Proibiti] servono per escludere parole che contengano determinati gruppi di lettere. Per es. indicando "ca", avrei escluso "castoro".
È possibile specificare uno o due pattern (o schemi) che le parole da cercare devono soddisfare: cliccando sui bottoni corrispondenti si può selezionare se andranno selezionate le parole che soddisfano il pattern ([soddisfa]) che non lo soddisfano ([non soddisfa]) o semplicemente non andrà considerato il pattern ([...ignora...]), perché ad esempio si usa solo un pattern. Le due condizioni con i pattern possono essere collegate (cliccando l'apposito bottone) da [e] che indica che una parola deve passare entrambi i criteri oppure da [o] che indica che è sufficiente "passare" uno solo dei due test. Ripeto, a scanso di equivoci, [...ignora...] non significa "ignora le parole che soddisfano questo pattern", ma significa "ignora proprio questo pattern".
Ora descrivo come comporre i pattern, andando dalle opzioni più semplici a quelle avanzate, a quelle avanzatissime !
+ sta per una vocale (il segno più)
- sta per una consonante
(il segno meno)
? o .
stanno per una lettera qualsiasi (punto interrogativo o punto semplice)
* sta per una sequenza qualunque
(anche nulla) di lettere (asterisco)
a-z ogni lettera rappresenta
se stessa.
[...] una lettera tra le lettere
indicate tra parentesi
(...) una lettera tra quelle NON
indicate tra parentesi
A-Z una lettera equivalente
nel T9. (uno dei metodi per inserire testi negli odiati (da me almeno)
telefonini.).
Esempi:
s*o = una parola che inizia per s e finisce per o (come "soprano")
-+-+-+ = una parola di 6 lettere nella quale si alternano consonanti e vocali, come "tavolo"
+[srt]*(nt)? = una parola che inizia con una vocale, seguita da una lettera uguale a s,r, o t. La penultima lettera NON deve essere n o t.
CASA = una parola equivalente a "casa" nel T9 (es:. "bara").
Nell'ultimo esempio degli anagrammi, per forzare le parole ad essere tutte ad alternanza vocale-consonante o viceversa, avevo impostato i tre bottoni a [non soddisfa] [e] [non soddisfa] e i due pattern a *++* e *--*. In questo modo avevo escluso tutte le parole avessero due consonanti adiacenti (*--*) o due vocali adiacenti (*++*), ottenendo quindi quelle in cui vocali e consonanti si alternano.
RICERCA LEGGERMENTE PIÙ AVANZATA
1 ... 9 sta per una lettera qualsiasi, ma con memoria
@1 .. @9 sta per una sequenza qualsiasi di almeno una lettera, ma con memoria
#1 .. #9 la sequenza @ corrispondente, ma a rovescio.
In pratica i numeri da 1 a 9 indicano lettere qualsiasi, ma permettono di specificare ripetizioni. Faccio un esempio:
2*2? rappresenta tutte le parole la cui prima lettera è UGUALE
alla penultima.
Altro esempio: p*11*22*[ei] cerca tutte le parole
che cominciano con P, finiscono con E o I e che contengono due doppie.
Riassumendo: ogni numero corrisponde ad una lettera e se si
ripete deve corrispondere alla stessa lettera. Le lettere che corrispondono
ai numeri possono anche essere uguali. Cioè nell'ultimo esempio troviamo
sia la parola PALLEGGIARE (quindi con 1=L e 2=G) sia la parola POSSESSORE
(con 1=S e 2=S).
I simboli @1..@9 sono delle generalizzazioni dei numeri. Infatti
corrispondono a sequenze (di almeno una lettera). I simboli #1..#9
indicano le sequenze @ corrispondenti ma con le lettere a in ordine
inverso. Cerco di fare un esempio:
@1#1@2@2
seleziona le parole nelle quali un primo gruppo di lettere (@1)
si ripete a rovescio (#1) seguito da 2 gruppi di lettere uguali.(@2).
Ad esempio: IR-RI-TA-TA dove @1=IR, #1=RI @2=TA
Per esempio con @1#1 selezionerò tutte le parole palindrome
con un numero pari di lettere, mentre con @1?#1 tutti i palindromi
con un numero dispari di lettere.
È possibile specificare una lunghezza minima e massima per i gruppi
indicati con @1..@9. Questo si fa mettendo una virgola
dopo il pattern e indicando @pxy dove p è il numero
del pattern, x tra 1 e 9 è la lunghezza minima e y tra 0
e 9 è la lunghezza massima. Lunghezza massima = 0 indica in realtà
che non c'è massimo. Meglio fare un esempio:
m@3t#3trova tutte le parole composte da una M seguita da un gruppo
di lettere (@3) poi da una T e dallo stesso gruppo di lettere al
contrario (#3). Quindi ad esempio trova anche MOTO,MITI,METE....
Se voglio restringere la ricerca ai casi in cui @3 ha una lunghezza
maggiore o uguale a 2 scriverò
m@3t#3, @320 che significa: il
@3
ha lunghezza min=2 e max=0 (cioè nessun limite per il max).
In questo caso non troverò più MOTO, etc.etc. ma solo parole più
interessanti come MONOTONO o MIETEI.
Se ho più criteri di lunghezza li posso separare con ulteriori spazi
o virgole, per es.: @1@2#2, @123,@220
RICERCA MOLTO AVANZATA...
A volte uno cerca una coppia di parole legate da una particolare relazione.
È possibile fare una ricerca di questo tipo aggiungendo, dopo una virgola,
un pattern di "esistenza", che inizia con e
ed è seguito da una combinazione di numeri, @n, #n,
(dove n è un numero) e lettere. Faccio un esempio.
Voglio trovare tutte le parole lunghe almeno 3 caratteri che
sono bifronti, cioè che rovesciate esistono ancora. Semplice:
@1, @130, e#1
La prima parte (qui è uguale a @1) deve essere un pattern
che viene verificato dalla parola e lungo almeno 3 caratteri (@130).
La seconda parte (riutilizzando "pezzi" della prima parola o lettere aggiuntive
ben specificate: non sono ammessi simboli come ?,+,-,*,...) definisce
una parola che deve "esistere" perché la condizione globale venga verificata
(e#1).
Altro esempio, più complicato:
a@122@2, @120, @220, e@2@1i
significa: cerco una parola che comincia con A, seguita da un
gruppo di lettere (@1), da una lettera doppia (22),
da un altro gruppo di lettere (@2) tale che i gruppi di
lettere abbiano lunghezza minima 2 (@120, e @220) e che ESISTA
la parola ottenuta componendo il gruppo @2 seguito dal gruppo @1
e dalla lettera i (e@2@1i). Per esempio ho ALLATTAVA->
AVALLAI dove la separazione è A-LLA-TT-AVA -> AVA-LLA-I (cioè
@1=LLA 2=T @2=AVA )
ANCORA UNA E POI BASTA...
I gruppi indicati con @ sono comodi, ma è possibile specificare solo la loro lunghezza, non altri criteri. Per ovviare a questo introduciamo le barre verticali "|".
Le barre verticali funzionano come delle parentesi e servono per legare
delle sottosequenze della parola che soddisfa il
pattern con sequenze corrispondenti nel pattern di esistenza. (Nel
pattern di esistenza l'i-esimo gruppo |...| si indicherà
con |i (es.: |2
) mentre la sequenza a rovescio con |r2
):
Esempio (spero) chiarificatore:
|t*|a|v*|, e|2|1 significa:
cerco una parola che inizia per T, seguita da una sequenza arbitraria
(*), da una A e una V e poi da una sequenza arbitraria (*). Poi voglio
che ESISTA la parole composta prendendo (nella parola che soddisfa t*av*)
il gruppo che corrisponde a v* (|v*| è il secondo gruppo, quindi
indicato con |2 nel pattern di esistenza) seguito dal gruppo di
lettere che corrisponde a t* (|1).
Per esempio:
TACCIAVO -> VOTACCI, perché questa divisione soddisfa il primo pattern:
|TACCI|A|VO| -> VO-TACCI.
Altro esempio:
-|+@1|*@1, @120, e|r1@1te
significato: cerco parole che soddisfano -+@1*@1 (cioè: consonante,vocale,gruppo@1,sequenza
arbitraria, e di nuovo gruppo @1. Poi voglio che ESISTA la parola
ottenuta prendendo a rovescio le lettere che stanno nel gruppo tra barre
|+@1|
e aggiungendo le lettere del primo gruppo e le lettere "te".
Per esempio:
DEVASTAVA -> AVEVATE. Infatti DEVASTAVA può essere diviso in D-|E-VA|-STA-VA
dove @1=VA, *=STA, |1 = EVA e quindi |r1 = AVE. da cui |r1@1te = AVE-VA-TE
che esiste.
Cerca
Il sottomenu' Cerca permette di cercare giochi enigmistici e
non (vedi più avanti per una spiegazione sommaria
dei vari giochi enigmistici) che abbiano come base una parola data. In
particolare le prime 4 opzioni (da zeppe,..., a lucchetti e cerniere)
riguardano giochi classici, le altre opzioni sono le seguenti.
PAROLE INCLUSE +. Cerca parole che possono essere formate con le lettere date e 0, 1 o 2 lettere-jolly (pensando allo Scarabeo...) I jolly (max 2) si indicano con asterischi (*). È possibile indicare anche gruppi indivisibili di lettere ponendole tra parentesi quadre. Per esempio con base i[ro][ca] troverà le parole icaro e cairo ma non cario.
PAROLIERE. Riguarda il famoso gioco edito in italia da Editrice Giochi. Si tratta di uno schema di 16 lettere (25 nella versione super) scelte casualmente. Si devono individuare parole scegliendo una casella di partenza e muovendosi in quelle adiacenti (anche diagonalmente) senza riutilizzare la stessa lettera nell'ambito della stessa parola. Il programma permette di
1) Risolvere uno schema. In questo caso, una volta fornite (di seguito o separate da spazi) 16 o 25 lettere il programma genera le max 500 parole più lunghe ottenibili secondo le regole del gioco. È possibile indicare oltre che lettere anche gruppi di lettere mettendoli fra parentesi quadre. Per esempio, di solito la Q e la U sono accoppiate, quindi si indicherà [qu]. È possibile vietare la mossa diagonale, deselezionando l'opzione [Anche diag.] ed è possibile permettere il riuso della stessa lettera con l'opzione [Riuso lettere]. È anche possibile mettere al massimo 2 jolly, indicati con asterisco. I jolly e l'opzione [Riuso] non sono compatibili. Per esempio fornendo le lettere rape veti [qu]ard nota, il programma risponde con
_ _ _ _ _ _ _ _ _ _
| R | A | P | E |
_ _ _ _ _ _ _ _ _ _
| V | E | T | I |
_ _ _ _ _ _ _ _ _ _
| QU | A | R | D |
_ _ _ _ _ _ _ _ _ _
| N | O | T | A |
_ _ _ _ _ _ _ _ _ _
Ho trovato 454 parole distinte di almeno 3 caratteri
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[10] ripetevano
[10] reptatorie
[10] raptatorie
[ 9] tritavano
etc.etc.etc.
2) Generare uno schema. In questo caso, fornendo 16 o 25 lettere (e/o gruppi), il programma genera una tabella che contiene la parola più lunga che è possibile formare, più un certo numero di parole lunghe. In questo caso non è possibile specificare le opzioni [Riuso] e usare i jolly. Viene mostrato solo lo schema, non le soluzioni.
3) Genera e risolvi. Come al punto 2, ma mostra anche le soluzioni.
CONSONANDO. Un gioco nato a Firenze. Date alcune consonanti,
bisogna trovare la parola più lunga che ne usa di più. Il punteggio è
dato dal numero di lettere usate, più un bonus corrispondente al numero
di consonanti usate, nel caso si usino tutte. Si possono usare al massimo
2 jolly (indicati con asterischi). Un jolly può aggiungere una
consonante, eliminarla o mutarla in un altra. (Queste scelte vengono indicate
rispettivamente con +,-,e C nei risultati.) Cancellare una consonante può
servire per ottenere il bonus. Il conseguimento del bonus è segnalato
con una B. Per esempio, dato stzp* il programma trova
16 ispezionata [B] +
16 posizionata [B] +
16 ispezionate [B] +
etc,etc. Dove 16 sono i punti ottenuti, [B] indica che si è ottenuto
il bonus, e + indica che il jolly è stato "giocato" ed usato per
aggiungere una consonante.
SIZIGIE. Il gioco consiste nel prendere due o tre parole e trovare
una parola che abbia in comune con quelle date le più lunghe sequenze
di lettere. Il punteggio è dato dalla lunghezza della sottosequenza più
corta. In questo modo si evitano soluzioni banali (in cui la soluzione
coincide con una delle parole date). Per esempio, date le parole CASTORO
e LINCE la parola INCESPICASTE ha in comune 4 e 4 lettere (CAST,INCE) e
quindi totalizza 4 punti. Oppure CAVOLO e MERENDA hanno in comune con BENDAVO
i gruppi (AVO,ENDA) e quindi totalizza 3 punti, come peraltro ANDAVO, VOLERE,
etc.etc.
Trova
Crea dei giochi enigmistici (vedi sotto), di solito 1000 alla volta. In alcuni casi genera tutte le possibili soluzioni in modo non casuale, in altri (in cui si prevedono molti risultati) genera a caso. La qualità lascia un po' a desiderare, perché il calcolatore non conoscendo il senso delle parole non può evitare il riuso di parole che hanno la stessa radice e produce, ad esempio orrende sciarade come: elettro + terapie -> elettroterapie.
Per i giochi nel riquadro (cambi, scarti, etc.) si può specificare la lunghezza (min,max) della parola di partenza e anche la lettera o le lettere coinvolte nel gioco. Per esempio si possono cercare solo gli scambi di lettere L e T, come TombaLe <-> LombaTe. Interrompere con STOP (in particolare per le Cernite che risultano abbastanza lente)
Metagrammi e metanagrammi
Genera, in ordine di lunghezza crescente, al massimo 100 soluzioni del metagramma o metanagramma basato sulle due parole (iniziale e finale) date. Il metagramma consiste nel passare da una parola all'altra cambiando una lettera alla volta, per esempio, da ZERO a NOVE : ZERO->nero->nere->neve->NOVE.
Il metagramma puro si basa quindi sul CAMBIO di una lettera. È possibile estendere il gioco (barrando le apposite caselle), per contemplare due varianti, ovvero la possilità di passare da una parola all'altra usando anche aggiunte/scarti: es., da NOVE a UNO: NOVE->noe->no->UNO o usando l'anagramma: es., da CANE a NERO: CANE->rane->nera->NERO in caso di aggiunta/scarto, si può imporre che le parole INTERMEDIE non abbiano lunghezza minore di una lunghezza data.
Decritta e Critta
Decritta
Serve per la risoluzione di giochi come le parole crittografate. Ci
sono due modalità che vengono riconosciute automaticamente:
1)Numeri. In questo caso ad ogni numero (tra 1 e 26) corrisponde
una lettera. Se si indicano delle lettere note (la 's'), si assume che
tutte le occorrenze di quelle lettere siano state indicate, cioè non può
esserci un numero che corrisponde a 's'. È possibile utilizzare il carattere
* (asterisco) per indicare un carattere qualsiasi. Per esempio, usando
il dizionario Default, il problema
P * 5 8 9 - 10 5 8 9 4 N 5 - L 2 D 4 5
ammette 8 soluzioni, tra cui quella più verosimile è 'piove governo
ladro', che possiamo supporre sia LA soluzione.
2)Lettere. In questo caso (vedi esempio sotto) si assume che
il testo sia stato cifrato con un alfabeto a sostituzione (ogni lettera
diventa un'altra lettera). Non si possono quindi usare numeri, ma si può
usare l'asterisco.
Se avete a disposizione più parole provate prima a mettere solo alcune parole lunghe.
Importante: nel caso si usino i numeri, le cifre che corrispondono ad una parole vanno separate con uno spazio e le parole vanno separate con 2 o più spazi o con un trattino o andando a capo. Nel caso si usino solo lettere (più eventualmente asterischi) gli spazi e gli a-capo separano le parole. In ogni caso il programma quando decritta mette le parole una per riga, cosi' vi accorgete se avete messo qualche spazio di troppo.
Critta
È una semplice funzione interattiva per crittare messaggi o coadiuvare
la decrittazione a mano di frasi crittate per sostituzione semplice. Il
testo inserito nella finestra in alto viene crittato al volo nella finestra
in basso, usando la sostituzione selezionata. È possibile modificare ogni
lettera nella riga "a:", inserendo una lettera il cursore si sposta
direttamente in quella a fianco. Alternativamente ci si può muovere anche
con le frecce. La riga "Da:" è invece fissata. I pulsanti:
[C] cancella il testo
[A = A] riporta la tabella di conversione allo stato A->A,
B->B, ...,Z->Z, ovvero il testo crittato è uguale a quello in chiaro.
[Specchio] capovolge l'attuale tabella di conversione, per
esempio partendo da A=A si ottiene A->Z, B->Y,...,Z->A.
[Ruota] ruota di una posizione la tabella. Quindi partendo
da A->A,..., si ottiene A->B, B->C,...,Z->A.
[A caso 1 e 2] Genera tabelle a caso (i due metodi si alternano).
A
caso 2 è completamente casuale, A caso 1 manda le vocali in
vocali.
[Inverti] Se la tabella contiene tutte le lettere una e una
sola volta allora è possibile invertirla. Se prima A->F nell'inversa ho
F->A.
[Coppie ?] Mostra max 5000 parole che una volta trasformate
in base alle sostituzioni indicate, fanno parte ancora del dizionario corrente.
[Numeri 1] Questa opzione "numerizza" il testo in modo indipendente
dal codice attuale. Usa la convenzione (comune in enigmistica) di numerare
le lettere in modo crescente, in base alla loro apparizione. Ad esempio,
"essere strano" diventa "1 2 2 1 3 1 - 2 4 3 5 6 7".
[Numeri 2] Questa opzione converte le lettere in numeri secondo
il codice corrente. Se, ad esempio, nel codice corrente la A viene convertita
in D (la 4a lettera) allora "numerizzando", le lettere A verranno sostituite
dal numero 4.
Curio(sità)
(Nota: nella schermata sopra si vede la parola inesistente "idropenumatiche" perché c'era un errore nel dizionario. Ora è stato corretto.)
Vengono mostrate delle parole (di solito le più lunghe) che
soddisfano particolari proprietà. Il catalogo è questo:
crescenti: le lettere sono in ordine alfab. crescente (es. ACCENNO)
let.div.cons.: più lettere diverse consecutive (es.CORDIALMENTE=11)
let.div..: più lettere diverse (es. DUECENTOMETRISTA
= 12)
voc.pal..: le vocali sono palindrome (es. PREFABBRICATE = EAIAE)
cons.pal..: le consonanti sono palindrome (es. TROVERETE = TRVRT)
ripetizioni: parole con più lettere ripetute (es. INESIGIBILI=5
I)
decresc..:le lettere sono in ordine alfab. decrescente (es.
SOLIDA)
alternanti: le lettere vengono alternativamente prima e dopo
nell' alfabeto, come NAUFRAGANDO o CONTENITORE.
palindromi: parole che sono uguali lette al contrario (es. OSSO)
bifronti: parole che lette al contrario sono parole (es.ACRO-ORCA)
monocons.:parole che contengono un solo tipo di consonante.
Per ogni consonante mostro prima un esempio della parola più corta
e più lunga, poi una lista di monoconsonantiche ordinate rispetto
al valore di num.cons./lungh.parola.
bicons.: per ogni coppia di consonanti alcuni esempi di parole.
monovoc.: per ogni vocale un esempio di parola più lunga
e più corta con il massimo numero di quella vocale, poi una lista
di monovocaliche ordinate rispetto al rapporto num.vocali/lungh.parola.
panvoc.: parole panvocaliche (che contengono esattamente una
A,E,I,O,U ed eventualmente Y). Esempi (più lunga e più corta)
per ciascuna dei max 120 modi nei quali possono essere ordinate all'interno
delle parole.
..c.v.c..: parole più lunghe con alternanza vocale consonante.
conteggi: alcune statistiche come numero di parole per lunghezza,
per iniziale e frequenza relativa delle lettere.
T9 equiv.: parole equivalenti nel T9 con molte lettere diverse.
T9 mult.: parole con molti equivalenti nel T9
rotaz.(26): parole che cifrate per rotazione dell'alfabeto di
26 lettere rimangono parole. Il numero indica la rotazione.
rotaz.(21): parole che cifrate per rotazione dell'alfabeto di
21 lettere rimangono parole. Il numero indica la rotazione.
+ cambi: parole che ammettono più cambi.
+ anagram. : parole che ammettono più anagrammi.
tuttiscambi: esempi dei possibili scambi, per coppie di lettere.
tuttiscarti: esempi dei possibili scarti, per ogni lettera.
tutticambi: esempi dei possibili cambi, per coppie di lettere.
saliscendi: parole le cui lettere salgono e poi scendono, o
viceversa, rispetto all'ordine alfabetico.
micro (1..5): microenigmistica (da Bartezzaghi). Parole che
da sole contengono le 2 o 3 parti di un gioco enigmistico. Le parti non
devono necessariamente essere parole di senso compiuto. Es.: micro-cambio:
Scava+Lcava=scavalcava. Es. micro-anagramma ricat+tarci = ricattarci. Il
pulsante cicla tra 5 possibili rierche.
intarsi perf.: le lettere alterne formano due parole. Es. AsSoPiRaI
= ASPRI + soia
scarti alt.: si ottiene una parola prendendo le lettere alterne.
Es. aCcAlChInO = cacio
+ omocons.: coppie di parole che condividono tutte le consonanti,
mentre le vocali sono a due a due diverse. es: SoGNaRoNo = SiGNoRiNe (e
oaoo diverse da ioie)
Cernite
Fare la cernita di una frase consiste nello scartare tutte le lettere che compaiono un numero pari di volte (come se si elidessero l'una con l'altra). Dopo di che si fa l'anagramma di ciò che rimane. Un classico di R.Morassi (Cartesio) è "LI' CALAN LA BARA CON IL MORTO", la cui cernita corrisponde alle lettere ABOMT che anagrammate danno un opportuno "TOMBA".
Ci sono due modalità. Entrambe funzionano in tempo reale, ovvero la modifica di un campo (inserimento o cancellazione di una lettera) produce automaticamente l'aggiornamento dei risultati. (Con un dizionario di 700,000 parole e una CPU Pentium 2 a 400MHz, l'aggiornamento è quasi istantaneo, 1 decimo di secondo. Con computer più lenti potrebbe essere percepito un lieve ritardo).
Nella modalità [Cernita al volo] nel campo [Cernita] compare in tempo reale la cernita del campo [Base], mentre nella finestra in basso vengono mostrati tutti gli anagrammi della cernita corrente.
Nella modalità [Completa la cernita] è invece possibile specificare un campo [Goal]. Il programma mostrerà nella finestra in basso tutte le parole che è possibile aggiungere alla frase del campo [Base] in modo che la frase risultate abbia come cernita complessiva la parola in [Goal]. (È più facile a farsi che a spiegarsi....)
Salvataggi Automatici
Attraverso le opzioni di questo menù è possibile salvare
automaticamente i risultati delle ricerche effettuate in
[ANAGRAMMI], [PAROLE], [CERCA], [TROVA], [METAGRAMMI], [CURIOSITÀ].
(I risultati ottenuti in [CERNITA] e [DECRITTA] possono comunque
essere salvati dal menù [FILE/SALVA], o facendo copia e incolla)
Quando è attiva una determinata pagina, ad. es. [CERCA], è
possibile scegliere dal menù se salvare i risultati nel file Cerca.txt
o non salvarli (opzione [Non salvare]). Se si sceglie di salvarli
allora si può decidere di sovrascrivere ogni volta Cerca.txt con i risultati
(opzione [Salva i risultati in]) oppure si può scegliere di
accodare i risultati al file Cerca.txt (opzione [Accoda i risultati
a...]).
Le opzioni possono essere settate in modo autonomo per le varie ricerche
(quindi si può decidere di Salvare i risulati di CERCA, Accodare quelli
di PAROLE e Non salvare gli altri, ad esempio.) Per semplicità inoltre,
è sempre presente il menù [Setta tutti i flag a...] che
con i suoi sottomenù permette di settare le opzioni per tutte le
ricerche allo stesso valore (Salva, Accoda, Non salvare).
I file generati (che sono distinta: Cerca.txt, Anagrammi.txt, etc.) vengono salvati sempre in una cartella (creata dal programma) dal nome 'Salvataggi' che viene creata nella stessa cartella dove si trova l'eseguibile di Verbatron. L'opzione [Apri dir. salvataggi] apre la cartella Salvataggi in modo che uno possa accedere velocemente ai file salvati.
Quando si accoda, viene sempre visualizzata la dimensione corrente del file in cui si accoda (per evitare di generare files molto lunghi senza accorgesene).
Dizionari
Veniamo ora alla novità principale di Verbatron 2 (rispetto a Verbatron 1): La possibilità di generare e utilizzare dizionari.
Prima di tutto considerate che nella versione che scaricate è compreso
un dizionario italiano di media grandezza (circa 280 mila parole)
e uno inglese piccolo (circa 45 mila parole) più che altro per fare
delle prove. In giro per Internet potete trovare molti altri file che
possono servire a creare dizionari. Per esempio:
• la lista mark.zip,
nella quale
c'è lo zampino di Roberto Morassi, contiene circa 700 mila parole italiane,
• le pagine WordLists e
JUST WORDS!
contengono liste di parole in inglese e altre lingue.
LIMITAZIONI: Il programma non può digerire file singoli più lunghi di 10Mega. Le parole più lunghe di 40 caratteri non vengono considerate. Il numero di parole massime in un dizionario non me lo ricordo esattamente, ma è meglio non superare troppo la soglia di 1 milione di parole. Il file-dizionario finale non può essere più lungo di 16 Mega (ma considerate che le 700 mila parole di cui parlavo sopra stanno in circa 8Mega, quindi questo non è un grosso limite).
Nel seguito indicherò con cartella quella che non so mai se la gente sotto Windows chiama folder, directory, cartella, etc.etc.
Per poter utilizzare i dizionari è necessario conoscere qualche elemento base di windows: creare e/o spostare nuovi folder e spostare files. Se non sapete fare queste cose facilissime fatevi aiutare da qualcuno che possa avere accesso al vostro computer.
La gestione dei dizionari è stata pensata in modo che fosse ragionevolmente semplice per l'utente crearli o modificarli e che io non ci mettessi troppo a programmarla.
Sarò abbastanza prolisso per cercare di essere più chiaro, ma la cosa è più semplice di come può sembrare.
Nella stessa cartella del programma (Verbatron2.exe) ci deve sempre essere una cartella Dizionari.
Ogni cartella che si trova dentro Dizionari costituisce un dizionario e verrà listata nel menu [Scegli il Dizionario].
Dentro Dizionari ci deve sempre essere una cartella chiamata Default. Questa cartella contiene il dizionario che viene caricato automaticamente quando il programma parte o quando l'utente chiede di caricare un altro dizionario e qualcosa va storto.
Nella versione che avete scaricato il dizionario Default è un dizionario italiano.
Allora, ogni cartella dentro Dizionari viene riconosciuta come un dizionario. Ma cosa deve contenere a sua volta? Semplice: un qualunque insieme di files di puro testo (ciascuno lungo meno di 10Mb !).
Questi files possono essere delle liste di parole (come il file italungo.txt che si trova dentro Default) ma possono anche essere dei testi qualsiasi, per esempio un romanzo scaricato dalla rete.
Se è presente anche un file dal nome escludi.txt, allora tutte le parole comprese in quel file verranno escluse (se presenti) dal dizionario.
Per motivi di efficienza il programma, a partire dai file di testo costruisce un file nascosto che contiene il vero dizionario in un formato a lui congeniale.
Per esempio. Supponiamo di voler creare un dizionario inglese. Creiamo una cartella dal nome Inglese dentro la cartella Dizionari.
Dentro la cartella Inglese mettiamo un po' di files. Per esempio una lista di parole che abbiamo scaricato dalla rete, il testo della Bibbia di Re Giacomo e il testo di qualche romanzo scaricato dal progetto Gutenberg. (Mi raccomando, non files *.DOC, ma files salvati come 'solo testo'.)
Ora facciamo partire il programma e vedremo anche Inglese nella lista dei dizionari. Premiamo il tasto [Carica] e il programma caricheràil dizionario costituito dalle parole contenute nei files che abbiamo messo nella cartella Inglese.
Tutto cosi' facile? Si e No ! (Le note tecniche che seguono servono solo a capire meglio come funziona il tutto).
In realtà quando il programma riceve l'ordine di caricare il dizionario Inglese, va a vedere se nella cartella Inglese c'è un file nascosto che si chiama j_r_Inglese. Questo è il vero file che contiene il dizionario. Utilizzo dei files nascosti perché questi files non devono MAI essere modificati manualmente.
Il file j_r_Inglese è quello che contiene la lista di tutte le parole senza ripetizioni e ordinate in un modo opportuno. Se il file non esiste allora il programma lo genera automaticamente a partire dai files di testo e lo salva nella cartella. Questa operazione può richiedere da alcuni secondi ad alcuni minuti, ma una volta creato il dizionario nascosto verrà caricato molto rapidamente. Ora che vi ho spiegato cosa avviene dietro le quinte mie è più semplice spiegare la funzione dei vari bottoni:
[Carica] Carica il dizionario selezionato. Se il dizionario non esiste (cioè se non esiste il file nascosto con nome j_r_nomedeldizionario) questo viene prima creato, salvato, e poi caricato. Se qualcosa va storto (per esempio non ci sono files nella cartella selezionata!) viere caricato il dizionario Default. ATTENZIONE: se la creazione avviene automaticamente, non vengono prese in considerazione le opzioni che invece è possibile specificare nel caso di creazione esplicita del dizionario (vedi sotto).
[Aggiorna e Carica] Ri-genera il dizionario selezionato e
poi lo carica. Questo comando dovete darlo se avete aggiunto,tolto o modificato
dei files di testo dalla cartella del dizionario selezionato. Se qualcosa
va storto viere caricato il dizionario Default. Qualche parola su come
vengono digeriti i files di testo:
vengono scartati tutti I caratteri non alfabetici, che vengono interpretati
come separatori tra le varie parole. Le lettere accentate vengono portate
al loro corrispettivo non accentato e le maiuscole convertite in minuscolo.
Se è presente un file dal nome escludi.txt allora le parole che contiene verranno escluse dal dizionario. Questo è molto comodo quando si parte da dei file di testo come romanzi, perché è facile che ci siano delle parole spurie (tipo parole di una sola lettera o parole scritte male) che vengono fuori, ed è più facile inserirle in escludi.txt che andare a correggerle in tutte le loro occorrenze.
Ci sono tre opzioni per migliorare un po' la digestione: è possibile dire al programma di escludere tutte le parole che contengono lettere maiuscole: questo per escludere automaticamente i nomi propri: si perdono anche le parole che sono maiuscole perché all'inizio di una frase, ma pazienza, tanto è probabile che ricompaiano in minuscolo da qualche altra parte. È possibile inoltre escludere le parole che compaiono prima di un apostrofo , in modo da eliminare (se si vuole) forme tronche come dell o L o c (da c'è). Infine è possibile eliminare le parole che contengono o sono vicine ad un trattino, questo per eliminare parole composte e parole che siano state spezzate da un "a capo". Questi filtri sono molto semplici. Se avete bisogno di cose più complicate dovete rivolgervi altrove o arrangiarvi da soli.
[Esporta] Salva il dizionario corrente (non quello selezionato nel menu!) in un file di testo dal nome Dizionario.txt dentro la cartella Salvataggi. Dopo di che potete spostarlo e rinominarlo come vi pare. Il dizionario corrente viene salvato come un file di testo, una parola per riga. Ci sono 3 opzioni per il salvataggio. Le parole possono essere salvate in ordine alfabetico, in ordine di lunghezza o in ordine alfabetico partendo dall'ultimo carattere, come avviene nei rimari.
[Agg. Lista] Aggiorna la lista dei dizionari (cioè rilegge il contenuto della cartella Dizionari.) Questo serve se avete modificato in qualche modo (creandone o rinominandone una) la lista mentre il programma sta girando. Questo perché di default il programma legge la lista solo quando viene lanciato..
[Apri dir.] Apre una finestra di Explore sulla cartella Dizionari. Questo comando può essere comodo se avete seppellito la cartellina di Verbatron in una catena di sotto-cartelle e non volete andarla a cercare a mano.
Giochi
Anagramma : rimescolamento delle lettere : canuti <->
tucani
Zeppa : inserzione di una lettera
: unici -> unDici
Cambio : cambio di una lettera
: fogNe <-> fogGe
Scambio : scambio di due lettere
: albOrE <-> albErO
(la zeppa è detta "aggiunta" se riguarda prima o ultima lettera)
Scarto : rimozione di una lettere
: nervRosi -> nevosi
Metatesi : spostamento di una lettera
: stOriche <-> Ostriche
Palindromo : una parola uguale a rovescio : ossesso
Bifronte : a rovescio uguale ad un'altra : assegni
<-> ingessa
Sciarada : una 'somma di parole'
: eri + temi -> eritemi
Sciarada incatenata: calVA+VArio -> calVArio (fondo parte comune)
Sciarada alterna: dei + CENNO -> deCENNiO (le lettere si alternano)
Intarsio : sveste + CARE -> sCAveREste (una contiene tutta l'altra.)
Incastro : fai + REGI -> fREGIai (la contenuta rimane intera)
Lucchetto: proRA + RAfani -> profani (elido parte comune centrale)
Cerniera : CROce + lavaCRO -> celava (elido parte comune esterna)
Antipodi : la prima o l'ultima rimangono uguali, il resto si
capovolge:
S-alumi <-> S-imula o pres-E <-> serp-E
Bifronte+scarto : come il bifronte, ma con scarto di inizio e/o
fine
Cambio d'antip. : la 1a cambia, il resto si inverte: A-sso <->
B-oss
Tecnicamente si dovrebbero chiamare antipodi palindromi quelli in cui la parola rimane uguale e antipodi bifronti quella in cui cambia. Per brevità li chiamerò tutti Antipodi e basta.
Avvertenze
Le solite avvertenze: il programma viene fornito senza alcuna garanzia di funzionamento e non mi assumo nessuna responsabilità per gli eventuali danni a cose o persone derivanti dal suo uso. Se questo vi sembra brutto provate a leggere la licenza di uso di un qualsiasi programma commerciale: il succo spesso è lo stesso.
Il programma è gratuito: può essere copiato e distribuito liberamente purché la copia contenga tutti i file originali.
Non può essere modificato o distribuito a scopo (diretto o indiretto) di lucro.