W dro­dze do szko­ły auto­bus, zwa­ny gim­bu­sem, wjeż­dżał stro­mym pod­jaz­dem, gdy nagle coś zachrzę­ści­ło. Zatrzy­mał się, a potem zaczął sta­czać. Kie­row­ca zaklął i z całych sił zacią­gnął hamul­ce, uni­ka­jąc kata­stro­fy. Wyszedł spraw­dzić, co się stało.
– Dalej nie poje­dzie­my. Auto­bus wyma­ga napra­wy. Do szko­ły zosta­ło jakieś trzy kilo­me­try, co zaj­mie wam nie­ca­łe pół godziny.
Mło­dzi pasa­że­ro­wie wysko­czy­li więc na szo­sę i uda­li się w dro­gę. Ada szła w parze z Azim. Weso­ło roz­ma­wia­li, ale nie spie­szy­li się i w koń­cu zosta­li sami. Nagle Azi zatrzy­mał się i wska­zał na odcho­dzą­cą w bok ścież­kę z tablicz­ką „Wie­ża widokowa”.

– Może byśmy tam poszli zoba­czyć te wido­ki? – zapro­po­no­wał z chy­trym uśmieszkiem.
– Pro­po­nu­jesz mi wagary?
– Nie bądź taka zasad­ni­cza, prze­cież mogłem po dro­dze zwich­nąć nogę.
Azi zaczął kuleć, kie­ru­jąc się w kie­run­ku wie­ży wido­ko­wej. Dziew­czy­na wybu­chła śmie­chem. Roz­ba­wio­na poszła za Azim
Oka­za­ło się, że wie­ża stoi na brze­gu nie­wiel­kie­go jezior­ka, a wła­ści­wie sta­wu. Gdy weszli na górę, wiał już zim­ny wiatr
– Scho­dzę, bo mi zim­no – powie­dzia­ła po chwi­li Ada.
Kie­dy obo­je zeszli, Ada chwy­ta­jąc się za ramio­na i pró­bu­jąc je ogrzać, zaproponowała:
– Nadal mi zim­no, może pobie­gnie­my do szkoły?
– Dobry pomysł, bo wła­ści­wie nie chciał­bym się spóź­nić na się spóź­nić na swo­ją pierw­szą lek­cję programowania.
– To już od dzi­siaj będziesz z nami?
– Tak. Pajt­fer mi powie­dział, że nie mam się przej­mo­wać formalnościami.
To usta­liw­szy, dal­szą dro­gę do szko­ły prze­by­li truch­tem nie­co nad­ra­bia­jąc czas stra­co­ny na wizy­tę na wieży.

*

Kie­dy nie­co spóź­nie­ni weszli do kla­sy, oczy pozo­sta­łych uczniów zwró­ci­ły się na nich.
Jed­nak Ada i Azi nawet się tym nie prze­ję­li, ponie­waż ich uwa­gę od razu przy­ku­ły nie­zwy­kłe przed­mio­ty na biur­ku nauczyciela.

Ani­ma­cja uka­zu­ją­ca dzia­ła­nie klu­cza telegraficznego.

– Czy wie­cie, co to jest? – zapy­tał Pajt­fer, bio­rąc do ręki jeden z nich.
– Wyglą­da na zszy­wacz – strze­lił Radek.
– Nie, to nie to – Uśmiech­nął się nauczy­ciel. – Pod­po­wiem, że to urzą­dze­nie elektryczne.
Zapa­dła chwi­la mil­cze­nia. Kil­ka osób pod­nio­sło się z miejsc, by przyj­rzeć się przedmiotowi.
– To klucz tele­gra­ficz­ny do nada­wa­nia sygna­łów alfa­be­tem Morse’a – odpo­wie­dział Piotrek.
– Dobrze! A czy wie­cie, skąd wziął się tele­graf Morse’a?
– Bo ludzie chcie­li poro­zu­mie­wać się z mor­sa­mi – odpo­wie­dział Radek, wywo­łu­jąc tym sal­wę śmie­chu w klasie.
– A tak poważ­nie? – kon­ty­nu­ował nauczyciel.
– Bo pozwa­lał opty­mal­nie komu­ni­ko­wać się na znacz­ne odległości.
– Wła­śnie! Dla­cze­go, Piotr­ku, był taki dobry?
– Bo wystar­czał jeden drut, by prze­sy­łać depe­sze, a wcze­śniej­sze pro­po­zy­cje tele­gra­fów wyma­ga­ły kil­ku­dzie­się­ciu drutów.
– Były też takie, któ­re, co praw­da, też wyma­ga­ły tyl­ko jed­ne­go dru­tu, ale przy tym sto­so­wa­nia róż­nych pozio­mów napięć prą­du dla róż­nych liter alfa­be­tu, cze­go nie uda­wa­ło się dotrzy­mać i taka komu­ni­ka­cja była obar­czo­na błę­da­mi – uzu­peł­nił nauczyciel.
Po chwi­li przed­sta­wił temat zajęć:
– Dzi­siaj napi­sze­cie pro­gram kom­pu­te­ro­wy gene­ru­ją­cy sygna­ły Morse’a na posta­wie zna­ków alfabetu.
– A jak gene­ro­wać dźwię­ki w Pytho­nie? – zapy­tał Piotrek.
– Użyj­cie funk­cji Beep modu­łu win­so­und, któ­ry już macie zain­sta­lo­wa­ny. Przy­go­to­wa­łem wcze­śniej dla was kod struk­tu­ry danych, zwa­nej słow­ni­kiem z koda­mi Morse’a jako zawar­to­ścią i zna­ka­mi alfa­be­tu jako indeksami.
Ucznio­wie otwo­rzy­li plik tek­sto­wy, w któ­rym był zapi­sa­ny nastę­pu­ją­cy kod w języ­ku Python:

import winsound
MORSE = {'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..',
'E': '.', 'F': '..-.', 'G': '--.', 'H': '....',
'I': '..', 'J': '.---', 'K': '-.-', 'L': '.-..',
'M': '--', 'N': '-.', 'O': '---', 'P': '.--.',
'Q': '--.-', 'R': '.-.', 'S': '...', 'T': '-',
'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-',
'Y': '-.--', 'Z': '--..', '0': '-----',
'1': '.----', '2': '..---', '3': '...--', '4': '....-',
'5': '.....', '6': '-....', '7': '--...', '8': '---..',
'9': '----.'}

– A teraz napisz­cie funk­cje zamie­nia­ją­cą zna­ki alfa­be­tu na krop­ki, kre­ski i odstępy.
Ada i Azi pra­co­wa­li przy jed­nym kom­pu­te­rze. Wkrót­ce na ekra­nie moni­to­ra poja­wił się tekst funkcji.

def to_morse(message):
morse = []
for char in message:
if char in MORSE:
morse.append(MORSE[char])
return " ".join(morse)

– Spraw­dzi­li­ście, czy funk­cja dzia­ła popraw­nie? Jeśli tak, pozo­sta­je tyl­ko napi­sać prze­kształ­ca­nie kro­pek i kre­sek w sygna­ły dźwiękowe.
Ada i Azi wkrót­ce opra­co­wa­li kod takie­go programu:

def morse():
english = input("> ").upper()
morse = to_morse(english)
print(morse)
for i in morse:
if i==".":
winsound.Beep(440, 500)
if i=="-":
winsound.Beep(440, 1500)
if i==" ":
winsound.Beep(32767, 500)

mor­se()

Już po chwi­li w kla­sie roz­le­gły się popi­ski­wa­nia doby­wa­ją­ce się z kla­so­wych komputerów.
– Pro­szę ści­szyć gło­śność kom­pu­te­rów aby­ście sły­sze­li tyl­ko swo­je kom­pu­te­ry – zare­ago­wał na to Pajtfer.
Do koń­ca lek­cji nauczy­ciel pozwo­lił uczniom na swo­bod­ną zaba­wę swo­imi pro­gra­ma­mi. Jed­nak mimo wysił­ków, niko­mu nie uda­wa­ło się bez­błęd­nie odczy­ty­wać komu­ni­ka­tów na pod­sta­wie wyda­wa­nych przez inne kom­pu­te­ry dźwię­ków. W zaawan­so­wa­nej erze cyfro­wej zna­jo­mość tego pierw­sze­go cyfro­we­go alfa­be­tu nie była bowiem już tak powszech­na, jak w dru­giej poło­wie XX wie­ku, ogar­nię­te­go krót­ko­fa­lar­ską pasją.


Autor­ką ilu­stra­cji do opo­wia­da­nia jest Han­na Kuik.