Me pregunto qué tan extendido está este meme:
Una chica de 19 años con un chico de 19 años durante los 365 días del año estuvieron juntos 5 veces, que resultó?
Realizas la siguiente operación en la calculadora 1919365 / 5 y obtienes . Luego das la vuelta a la calculadora 180 grados y puedes leer:
Existen otras historias de calculadora circulando, aquí las llaman Calculogramas. Y en la Wikipedia crearon una lista de palabras de calculadora en Inglés.
Usando un poco de la magia de la herramienta libre grep es posible seleccionar todas las palabras que son "palabras de calculadora" con la siguiente instrucción:
grep -i '^[beghilosz]*$' DiccionarioEspanol.txt > palabras_de_calculadora
El resultado es:
be bebe bebible beisbol belez belezo belio bello beso bielgo bilioso bilis biologo bis bisbiseo bisel biso bobilis bobillo bobo bohio boi bolillo bollo bolo bolsillo bolso bozo e eh el ele elegible eliseo elisio elle ello elogio elogioso eolio es esbozo ese eso gel geologo giboso gil gili gis globo globoso gobio gol goloso gozo gozoso he helio heliosis hez hibleo hiel hielo higo hilo hiogloso hobo hoz ibis ilegible ileo ileso le legible lego leible lelili lelo leo les lesbio leso libelo libio liego ligio lilili lio lioso lis lisis liso lizo lo lobo loboso logis o obelo obeso oboe obolo obseso oh oible oislo ole oleo oleoso os oseo oso se sebe sebillo sebo seboso seis seise sello seo ses seseo sesgo seso si sibil sieso sigilo sigiloso siglo silbo silboso silesio silo siseo so sobeo sobo soez sois sol soleo solio sollozo solo sos sosiego soso zoizo zoologo
Lo siguiente sería determinar cuáles son los números correspondientes a estas palabras. Trabajemos con la primera palabra:
muestra importa!pal "palabras_de_calculadora
[be bebe bebible beisbol belez belezo belio bello beso bielgo ...]
muestra primero importa!pal "palabras_de_calculadora
be
Ya que para leer la palabra necesitamos girar la calculadora, leemos los dígitos de atrás para delante:
muestra refleja "be
[e b]
Nuevamente trabajemos sólo con la primera letra:
muestra primero refleja "be
e
¿A qué número corresponde la letra E? Podemos asociar cada letra con su correspondiente número creando un diccionario, lo llamaremos dic, para buscar algo en el diccionario usamos equipara:
haz "dic [[b 8] [e 3] [g 9] [h 4] [i 1] [l 7] [o 0] [s 5] [z 2]]
muestra equipara "X lista :dic primero refleja "be
3
Ahora, en lugar de buscar solamente con la primera letra, busquemos todas:
muestra diz [equipara "X lista] lista :dic refleja "be
[3 8]
muestra junta diz [equipara "X lista] lista :dic refleja "be
38
Entonces, con el código anterior podemos definir una nueva función que transforma palabras de calculadora en números:
funciona "palnum [junta diz [equipara "X lista] lista :dic refleja]
muestra palnum "be
38
Pero hay un problema: las palabras que terminan en O. El cero a la izquierda no se muestra en la calculadora, a menos que se añada un punto decimal:
muestra palnum "bolillo
0771708
muestra palabra "0. menosprimero palnum "bolillo
0.771708
Pero esto sólo es necesario en los números que empiecen con 0, caso contrario quedan en lo mismo:
funciona "con.o.sin [expon [mismo [palabra "0. menosprimero]]]
muestra con.o.sin "0771708
[0771708 0.771708]
muestra toma expon [[esigual lista 0 primero] con.o.sin] "0771708
0.771708
muestra toma expon [[esigual lista 0 primero] con.o.sin] "383873
383873
funciona "pon.punto [toma expon [[esigual lista 0 primero] con.o.sin]]
muestra pon.punto "383873
383873
muestra pon.punto "0771708
0.771708
Queremos tener la palabra y su correspondiente número. Y queremos hacer esto con todas las palabras de calculadora:
muestra expon [mismo [pon.punto palnum]] "bebe
[bebe 3838]
muestra impon [expon [mismo [pon.punto palnum]]] importa!pal "palabras_de_calculadora
[[be 38] [bebe 3838] [bebible 3781838] [beisbol 7085138] [belez 23738] [belezo 0.23738] [belio 0.1738] [bello 0.7738] [beso 0.538] [bielgo 0.97318] [bilioso 0.501718] [bilis 51718] [biologo 0.907018] [bis 518] [bisbiseo 0.3518518] [bisel 73518] [biso 0.518] [bobilis 5171808] [bobillo 0.771808] [bobo 0.808] [bohio 0.1408] [boi 108] [bolillo 0.771708] [bollo 0.7708] [bolo 0.708] [bolsillo 0.7715708] [bolso 0.5708] [bozo 0.208] [e 3] [eh 43] [el 73] [ele 373] [elegible 37819373] [eliseo 0.35173] [elisio 0.15173] [elle 3773] [ello 0.773] [elogio 0.19073] [elogioso 0.5019073] [eolio 0.1703] [es 53] [esbozo 0.20853] [ese 353] [eso 0.53] [gel 739] [geologo 0.907039] [giboso 0.50819] [gil 719] [gili 1719] [gis 519] [globo 0.8079] [globoso 0.508079] [gobio 0.1809] [gol 709] [goloso 0.50709] [gozo 0.209] [gozoso 0.50209] [he 34] [helio 0.1734] [heliosis 51501734] [hez 234] [hibleo 0.37814] [hiel 7314] [hielo 0.7314] [higo 0.914] [hilo 0.714] [hiogloso 0.5079014] [hobo 0.804] [hoz 204] [ibis 5181] [ilegible 37819371] [ileo 0.371] [ileso 0.5371] [le 37] [legible 3781937] [lego 0.937] [leible 378137] [lelili 171737] [lelo 0.737] [leo 0.37] [les 537] [lesbio 0.18537] [leso 0.537] [libelo 0.73817] [libio 0.1817] [liego 0.9317] [ligio 0.1917] [lilili 171717] [lio 0.17] [lioso 0.5017] [lis 517] [lisis 51517] [liso 0.517] [lizo 0.217] [lo 0.7] [lobo 0.807] [loboso 0.50807] [logis 51907] [o 0.] [obelo 0.7380] [obeso 0.5380] [oboe 3080] [obolo 0.7080] [obseso 0.53580] [oh 40] [oible 37810] [oislo 0.7510] [ole 370] [oleo 0.370] [oleoso 0.50370] [os 50] [oseo 0.350] [oso 0.50] [se 35] [sebe 3835] [sebillo 0.771835] [sebo 0.835] [seboso 0.50835] [seis 5135] [seise 35135] [sello 0.7735] [seo 0.35] [ses 535] [seseo 0.3535] [sesgo 0.9535] [seso 0.535] [si 15] [sibil 71815] [sieso 0.5315] [sigilo 0.71915] [sigiloso 0.5071915] [siglo 0.7915] [silbo 0.8715] [silboso 0.508715] [silesio 0.153715] [silo 0.715] [siseo 0.3515] [so 0.5] [sobeo 0.3805] [sobo 0.805] [soez 2305] [sois 5105] [sol 705] [soleo 0.3705] [solio 0.1705] [sollozo 0.207705] [solo 0.705] [sos 505] [sosiego 0.931505] [soso 0.505] [zoizo 0.2102] [zoologo 0.907002]]
Lo cual luce un poco feo, pero puede mejorarse:
escribe html segmenta lista 8 junta ~
impon [expon [mismo [pon.punto palnum]]] importa!pal "palabras_de_calculadora
be | 38 | bebe | 3838 | bebible | 3781838 | beisbol | 7085138 |
belez | 23738 | belezo | 0.23738 | belio | 0.1738 | bello | 0.7738 |
beso | 0.538 | bielgo | 0.97318 | bilioso | 0.501718 | bilis | 51718 |
biologo | 0.907018 | bis | 518 | bisbiseo | 0.3518518 | bisel | 73518 |
biso | 0.518 | bobilis | 5171808 | bobillo | 0.771808 | bobo | 0.808 |
bohio | 0.1408 | boi | 108 | bolillo | 0.771708 | bollo | 0.7708 |
bolo | 0.708 | bolsillo | 0.7715708 | bolso | 0.5708 | bozo | 0.208 |
e | 3 | eh | 43 | el | 73 | ele | 373 |
elegible | 37819373 | eliseo | 0.35173 | elisio | 0.15173 | elle | 3773 |
ello | 0.773 | elogio | 0.19073 | elogioso | 0.5019073 | eolio | 0.1703 |
es | 53 | esbozo | 0.20853 | ese | 353 | eso | 0.53 |
gel | 739 | geologo | 0.907039 | giboso | 0.50819 | gil | 719 |
gili | 1719 | gis | 519 | globo | 0.8079 | globoso | 0.508079 |
gobio | 0.1809 | gol | 709 | goloso | 0.50709 | gozo | 0.209 |
gozoso | 0.50209 | he | 34 | helio | 0.1734 | heliosis | 51501734 |
hez | 234 | hibleo | 0.37814 | hiel | 7314 | hielo | 0.7314 |
higo | 0.914 | hilo | 0.714 | hiogloso | 0.5079014 | hobo | 0.804 |
hoz | 204 | ibis | 5181 | ilegible | 37819371 | ileo | 0.371 |
ileso | 0.5371 | le | 37 | legible | 3781937 | lego | 0.937 |
leible | 378137 | lelili | 171737 | lelo | 0.737 | leo | 0.37 |
les | 537 | lesbio | 0.18537 | leso | 0.537 | libelo | 0.73817 |
libio | 0.1817 | liego | 0.9317 | ligio | 0.1917 | lilili | 171717 |
lio | 0.17 | lioso | 0.5017 | lis | 517 | lisis | 51517 |
liso | 0.517 | lizo | 0.217 | lo | 0.7 | lobo | 0.807 |
loboso | 0.50807 | logis | 51907 | o | 0. | obelo | 0.7380 |
obeso | 0.5380 | oboe | 3080 | obolo | 0.7080 | obseso | 0.53580 |
oh | 40 | oible | 37810 | oislo | 0.7510 | ole | 370 |
oleo | 0.370 | oleoso | 0.50370 | os | 50 | oseo | 0.350 |
oso | 0.50 | se | 35 | sebe | 3835 | sebillo | 0.771835 |
sebo | 0.835 | seboso | 0.50835 | seis | 5135 | seise | 35135 |
sello | 0.7735 | seo | 0.35 | ses | 535 | seseo | 0.3535 |
sesgo | 0.9535 | seso | 0.535 | si | 15 | sibil | 71815 |
sieso | 0.5315 | sigilo | 0.71915 | sigiloso | 0.5071915 | siglo | 0.7915 |
silbo | 0.8715 | silboso | 0.508715 | silesio | 0.153715 | silo | 0.715 |
siseo | 0.3515 | so | 0.5 | sobeo | 0.3805 | sobo | 0.805 |
soez | 2305 | sois | 5105 | sol | 705 | soleo | 0.3705 |
solio | 0.1705 | sollozo | 0.207705 | solo | 0.705 | sos | 505 |
sosiego | 0.931505 | soso | 0.505 | zoizo | 0.2102 | zoologo | 0.907002 |
Este es todo el código:
haz "dic [[b 8] [e 3] [g 9] [h 4] [i 1] [l 7] [o 0] [s 5] [z 2]]
funciona "palnum [junta diz [equipara "X lista] lista :dic refleja]
funciona "con.o.sin [expon [mismo [palabra "0. menosprimero]]]
funciona "pon.punto [toma expon [[esigual lista 0 primero] con.o.sin]]
escribe html segmenta lista 8 junta ~
impon [expon [mismo [pon.punto palnum]]] importa!pal "palabras_de_calculadora
Juanjo Conti en su Blog aborda el mismo problema usando Python. Ambos, él y yo, jugamos con la parte informática del asunto. Ahora tú juega con la parte literaria y aritmética (¿algebráica?) y crea una historia de calculadora propia, ¡tienes muchas palabras para inspirarte!
Este es un documento libre.
Autor: Daniel Ajoy
Esta obra está bajo una Licencia Creative Commons Atribución-CompartirIgual 3.0 Unported.