Čitatelia ako vy pomáhajú podporovať MUO. Keď uskutočníte nákup pomocou odkazov na našej stránke, môžeme získať pridruženú províziu. Čítaj viac.

Morseova abeceda existuje od začiatku 19. storočia a našla si cestu do digitálnej éry. Morseova abeceda tu zostane, od služby ako kritického komunikačného prostriedku počas druhej svetovej vojny až po odosielanie šifrovaných správ v letectve a námorníctve.

Ak nepoznáte tento fascinujúci jazyk, pripravte sa nielen na objavovanie Morseovej abecedy, ale aj na vytvorenie vlastného prekladača pomocou Pythonu.

Čo je Morseova abeceda?

Morseova abeceda je spôsob komunikácie, pri ktorom kódujete textové znaky do štandardnej sekvencie dvoch signálov rôzneho trvania, ktoré sú označené bodkami a pomlčkami. Morseova abeceda dostala svoje meno od Samuela Morsea, jedného z vynálezcov telegrafu. Môžete si ho zapamätať a prenášať prostredníctvom zvukových vĺn alebo viditeľného svetla vnímateľného ľudskými zmyslami.

Dĺžka ekvivalentu Morseovej abecedy je inverzná k našej frekvencii používania tejto abecedy a môžete vidieť, že Morseova abeceda priraďuje najbežnejšie písmeno v anglickom jazyku, E, len k bodke.

instagram viewer

Môžete použiť tieto bezplatný softvér a aplikácie morzeovky na odosielanie kódovaných správ k sebe navzájom. Na druhej strane, naučiť sa Morseovu abecedu je pomerne jednoduché a môžete sa ho naučiť za mesiac s poriadnou dávkou praxe. Aby sme vám pomohli začať, tu sú deväť stránok, kde sa môžete naučiť morzeovku zadarmo.

Ako vytvoriť prekladač Morseovej abecedy pomocou Pythonu

Začnite definovaním slovníka Pythonu s názvom MORSE_CODE_DICT uložiť hodnoty Morseovej abecedy. Klávesy budú písmenami anglickej abecedy s príslušnou sekvenciou bodiek alebo pomlčiek ako zodpovedajúcou hodnotou. Pomocou slovníka môžete rýchlo vyhľadať ľubovoľný kľúč na jeho zodpovedajúcu hodnotu.

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

Deklarujte funkciu s názvom encrypt, ktorá prijíma správu ako vstupný parameter. Vo vnútri funkcie inicializujte premennú s názvom šifra s prázdnym reťazcom. Toto použijete na vytvorenie a uloženie šifrovanej správy. Ďalej deklarujte cyklus for, ktorý sa opakuje cez každé písmeno v správe.

Ak písmeno nie je prázdne miesto, odovzdajte ho do slovníka na vyhľadanie. Slovník vráti zodpovedajúcu hodnotu kódu More na základe kľúča. Pridajte medzeru na oddelenie znakov Morseovej abecedy a použite skratku += operátora, aby ho zreťazil s kódom získaným zo slovníka. Ak je písmeno prázdne, pridajte do šifry medzeru navyše; Morseova abeceda oddeľuje slová dvoma po sebe nasledujúcimi medzerami.

defzašifrovať(správa):
šifra = ""
pre list v správe:
ak písmeno != " ":
šifra += MORSE_CODE_DICT[písmeno] + " "
inak:
šifra += " "
vrátiť šifra

Deklarujte funkciu s názvom decrypt, ktorá prijíma správu ako vstupný parameter. Pridajte medzeru na koniec pomocou skratkového operátora na prístup k poslednému znaku Morseovej abecedy. Inicializujte dve premenné, dešifrujte a citext držať prázdne struny. Premenná dešifrovať bude obsahovať dešifrovanú vetu pozostávajúcu z anglickej abecedy, zatiaľ čo vy používate citext na uloženie každého písmena Morseovej abecedy.

Opakujte cyklus for, ktorý prechádza každým písmenom Morseovej abecedy. Ak písmeno nie je prázdne miesto, inicializujte premennú počítadla i, ktorá sleduje počet medzier na nulu, a uložte Morseovu abecedu jedného znaku do citextu. V opačnom prípade je písmeno medzerou, preto zvýšte počítadlo o jeden.

Ak sa počítadlo rovná dvom, znamená to, že k dešifrovanej premennej dešifrovaného slova musíte pridať biele miesto. V opačnom prípade pristupujte ku kľúčom pomocou ich hodnôt. Ak to chcete urobiť, iterujte cez páry kľúč – hodnota v slovníku pomocou funkcie items. Ak sa citext rovná hodnote, pridajte zodpovedajúci kľúč do dešifrovacej premennej pomocou skratkového operátora.

Nakoniec vymažte citext, aby ste získali ďalšie písmeno a vráťte získanú dešifrovanú vetu do volania funkcie.

defdešifrovať(správa):
správa += " "
rozlúštiť = ""
citát = ""

pre list v správe:
ak písmeno != " ":
i = 0
citext += písmeno
inak:
i += 1

ak i == 2:
rozlúštiť += " "
inak:
prekľúč, hodnotuvMORSE_CODE_DICT.položky():
if citext == hodnota:
dešifrovať += kľúč

citát = ""

vrátiť dešifrovať

Otestujte funkcie pomocou vzorového vstupu. Začnite inicializáciou premennej s názvom správu so slovom alebo vetou, ktorú chcete zašifrovať. Použi horný funkcia previesť všetky písmená na veľké písmená a odovzdať ich funkcii šifrovania ako argument. Morseova abeceda obsahuje iba veľké písmená, ktoré sú kľúčmi v slovníku. To tiež pomáha vyhnúť sa zbytočným kontrolám pri spustení na platné malé a veľké písmená.

Vytlačte výslednú hodnotu, aby ste videli ekvivalent Morseovej abecedy pôvodnej vety.

Potom uložte Morseovu abecedu do premennej správy a odovzdajte ju funkcii dešifrovania. Vytlačte výsledok a skontrolujte, či je správny.

Namiesto pevného kódovania vstupu ho môžete od používateľa prijať pomocou vstup() funkciu.

správa = "Použiť"
výsledok = zašifrovať (message.upper())
vytlačiť(výsledok)

správa = "-- .- -.-. ..-.... ..-."
výsledok = dešifrovať (správa)
vytlačiť(výsledok)

Výstup prekladača Morseovej abecedy v Pythone

Program Python preloží každé písmeno anglickej abecedy na jeho ekvivalent Morseovej abecedy a zobrazí ho na výstupnej obrazovke terminálu, ako je znázornené. Ak získaný výstup skopírujete a odošlete na dešifrovanie, dostanete pôvodný text, ktorý ste predtým odovzdali. To potvrdzuje, že preklad fungoval perfektne.

Mobilné aplikácie pre Morseovu abecedu

Prekladače morzeovky sú k dispozícii zadarmo priamo na dosah ruky. Viac ako stovky aplikácií ako Morse Mania, Morse Trainer, Morse Code Reader, Morse Code Keyboard a Morse Code Translator sú dostupné na rôznych platformách. Na vaše prekvapenie ju dokonca podporuje aj GBoard – Google Keyboard.

Ak chcete získať prístup k morzeovke na Gboarde, otvorte ikonu Nastavenia na Gboarde, vyberte Jazyky a klepnite na Angličtinu (USA). Potiahnite prstom doprava cez možnosti a potom vyberte Morseovu abecedu. Vaša klávesnica teraz podporuje vkladanie Morseovej abecedy spolu so službami dostupnosti, ako sú TalkBack, Switch Access alebo Select to Speak.