Een 7-segmentdisplay1 wordt gebruikt om cijfers (en soms ook letters) voor te stellen. Als bij toeval is het zo dat de voorstelling van de meeste cijfers de vorm aanneemt van een letter uit het alfabet als het scherm ondersteboven gehouden wordt. Deze vaststelling ligt aan de basis van rekenmachinespelling2 (ook beghilosz genoemd). Dit is een vorm van teksttransformatie waarbij woorden gespeld worden als een reeks cijfers (en letters). Nadat de reeks cijfers (en letters) werd ingegeven in een rekenmachine met een 7-segmentdisplay, die daarna wordt omgekeerd, kan het woord op het scherm uitgelezen worden.

7-segmentdisplay
Voorbeeld van een 7-segmentdisplay met leds.

De basisstap van rekenmachinespelling bestaat er dus in om elk cijfer af te beelden op een letter, waardoor woorden op een rekenmachine kunnen voorgesteld worden die bestaan uit een deelverzameling van de letters van het alfabet. Standaard wordt hierbij de volgende afbeelding gebruikt:

cijfer 0 1 2 3 4 5 6 7 8
letter O I Z E h S g L B

Onderstaande figuur geeft aan dat de cijfers 250714638 — op basis van deze afbeelding — op een omgekeerde rekenmachine kunnen gelezen worden als BEghILOSZ.

beghilosz

Sommige rekenmachines laten het bovenste segment weg om het cijfer 6 voor te stellen, en het onderste segment om het cijfer 9 voor te stellen. In dat geval leest een omgekeerde zes als de kleine letter q en leest een omgekeerde negen als de kleine letter b. Als we het beschikbare alfabet uitbreiden naar de hexadecimale cijfers3 (algemeen beschikbaar op de meeste wetenschappelijke rekenmachines), dan kunnen we bijvoorbeeld de volgende afbeelding gebruiken:

cijfer 0 1 2 3 4 5 6 7 8 9 A b C d E F
letter O I Z E h S g L B b Y q J P 3 j

Als de rekenmachine voor een spiegel gehouden wordt, dan krijgen we de volgende afbeelding:

cijfer 0 1 2 3 4 5 6 7 8 9 A b C d E F
letter O I S E y Z a r B e A d J b 3 z

Opgave

Een alfabet wordt voorgesteld door een string waarin elk karakter hoogstens één keer voorkomt. Gevraagd wordt:

Voorbeeld

>>> c2l = cijfers2letters('012345678', 'OIZEhSgLB')
>>> c2l
{'0': 'O', '1': 'I', '2': 'Z', '3': 'E', '4': 'h', '5': 'S', '6': 'g', '7': 'L', '8': 'B'}

>>> beghilosz2tekst('250714638', c2l)
'BEghILOSZ'
>>> beghilosz2tekst('3722145', c2l)
'ShIZZLE'
>>> beghilosz2tekst('53177187714', c2l)
'hILLBILLIES'

>>> l2c = letters2cijfers(c2l)
>>> l2c
{'O': '0', 'I': '1', 'Z': '2', 'E': '3', 'h': '4', 'S': '5', 'g': '6', 'L': '7', 'B': '8'}

>>> tekst2beghilosz('BEghILOSZ', l2c)
'250714638'
>>> tekst2beghilosz('SHIZZLE', l2c)
'3722145'
>>> tekst2beghilosz('hillbillies', l2c)
'53177187714'

Epiloog

In de November 2010 editie van Word Ways4, merkt de Amerikaanse wiskundige Mike Keith het volgende gelukkig toeval op:

Bible's Machine and Welding
6499 Blue Springs Pkwy
Mosheim, TN 37818

Dit is het adres van een winkel5 in het oosten van Tennessee (VSA) die vermoedelijk de eigendom is van de familie Bible. Voer de cijfers van de postcode in op een rekenmachine en draai die daarna ondersteboven.