Historias de Calculadora

Presentamos las palabras de calculadora en Español y jugamos con ellas con el lenguaje de programación Logo y LogoFE.

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 [[8] [3] [9] [4] [1] [7] [0] [5] [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 [[8] [3] [9] [4] [1] [7] [0] [5] [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 juega con la parte literaria y aritmética (¿algebráica?) y crea una historia de calculadora propia, ¡tienes muchas palabras para inspirarte!

1. Licencia

Este es un documento libre.

Autor: Daniel Ajoy

Licencia Creative Commons
Esta obra está bajo una Licencia Creative Commons Atribución-CompartirIgual 3.0 Unported.

2. Preguntas, Dudas, Comentarios, Peticiones

Síguenos en Facebook

3. Enlaces

Lenguaje de Programación Logo


Generado con PureJoy. Creación: 11:49 - Dec 15, 2017. Última Modificación: 17:12 - Apr 02, 2023