Читаоци попут вас помажу у подршци МУО. Када обавите куповину користећи везе на нашем сајту, можда ћемо зарадити провизију за партнере. Опширније.

Морзеова азбука постоји од раних 1800-их и пронашла је пут до дигиталне ере. Од служења као критичан медиј комуникације током Другог светског рата до слања шифрованих порука у ваздухопловству и поморству, Морзеов код је ту да остане.

Ако нисте свесни овог фасцинантног језика, припремите се не само да откријете Морзеов код, већ и да направите свој сопствени преводилац користећи Питхон.

Шта је Морзеов код?

Морзеов код је метода комуникације у којој кодирате текстуалне знакове у стандардни низ од два сигнала различитог трајања, означених тачкама и цртицама. Морзеов код је добио име по Семјуелу Морзеу, једном од проналазача телеграфа. Можете га запамтити и преносити путем звучних таласа или видљиве светлости коју могу да примете људска чула.

Дужина еквивалента Морзеове азбуке је инверзна нашој учесталости употребе тог алфабета, и можете видети да Морзеов код додељује најчешће слово енглеског језика, Е, само тачки.

instagram viewer

Можете користити ове бесплатни софтвер и апликације Морзеовог кода за слање кодираних порука једни другима. С друге стране, учење Морзеове азбуке је прилично једноставно и можете га научити у року од месец дана уз приличну количину вежбе. Да бисмо вам помогли да започнете, ево девет сајтова за учење Морзеове азбуке бесплатно.

Како да направите преводилац Морзеовог кода користећи Питхон

Почните тако што ћете дефинисати Питхон речник под називом МОРСЕ_ЦОДЕ_ДИЦТ за чување вредности Морзеове азбуке. Тастери ће бити слова енглеског алфабета, са одговарајућим низом тачака или цртица као одговарајућом вредношћу. Користећи речник, можете брзо потражити било који кључ до одговарајуће вредности.

МОРСЕ_ЦОДЕ_ДИЦТ = { 'А':'.-', 'Б':'-...',
'Ц':'-.-.', 'Д':'-..', 'Е':'.',
'Ф':'..-.', 'Г':'--.', 'Х':'...',
'ја':'..', 'Ј':'.', 'К':'-.-',
'Л':'.-..', 'М':'--', 'Н':'-.',
'О':'', 'П':'.--.', 'К':'--.-',
'Р':'.-.', 'С':'...', 'Т':'-',
'У':'..-', 'В':'...-', 'В':'.--',
'ИКС':'-..-', 'И':'-.--', 'З':'--..',
'1':'.', '2':'..', '3':'...--',
'4':'...-', '5':'...', '6':'-...',
'7':'--...', '8':'..', '9':'.',
'0':'', ', ':'--..--', '.':'.-.-.-',
'?':'..--..', '/':'-..-.', '-':'-...-',
'(':'-.--.', ')':'-.--.-' }

Декларисајте функцију под називом енцрипт која прихвата порука као улазни параметар. Унутар функције иницијализујте променљиву под називом шифра са празним низом. Ово ћете користити за креирање и чување шифроване поруке. Затим, прогласите фор петљу која се понавља преко сваког слова у поруци.

Ако слово није размак, проследите га у речник ради тражења. Речник враћа одговарајућу вредност кода Море на основу кључа. Додајте размак да бисте одвојили знакове Морзеове азбуке и користите стенографију += оператор да га повеже са кодом добијеним из речника. Ако је слово размак, додајте додатни размак шифри; Морзеов код раздваја речи са два узастопна размака.

дефенцрипт(порука):
шифра = ""
за писмо у поруци:
ако писмо != " ":
шифра += МОРСЕ_ЦОДЕ_ДИЦТ[слово] + " "
друго:
шифра += " "
повратак шифра

Декларисајте функцију под називом дешифровање која прихвата порука као улазни параметар. Додајте размак на крају, користећи стенографски оператор за приступ последњем знаку Морзеове азбуке. Иницијализујте две променљиве, дешифрујте и цитект да држи празне конце. Променљива за дешифровање ће садржати дешифровану реченицу која се састоји од енглеског алфабета док користите цитект за чување сваког слова Морзеовог кода.

Понављајте фор петљу која пролази кроз свако слово Морзеове азбуке. Ако слово није размак, иницијализујте променљиву бројача и која прати број размака на нулу и сачувајте Морзеов код једног знака у цитексту. Иначе, слово је размак, па повећајте бројач за један.

Ако је бројач једнак два, то значи да морате да додате размак дешифрованој променљивој речи. У супротном, приступите кључевима користећи њихове вредности. Да бисте то урадили, итерирајте парове кључ/вредност у речнику користећи функцију ставке. Ако је цитат једнак вредности, додајте одговарајући кључ променљивој за дешифровање користећи стенографски оператор.

Коначно, обришите цитект да бисте добили следеће слово и вратили добијену дешифровану реченицу у позив функције.

дефдешифровати(порука):
порука += " "
дешифровати = ""
цитект = ""

за писмо у поруци:
ако писмо != " ":
и = 0
цитект += писмо
друго:
и += 1

ако је и == 2:
дешифровати += " "
друго:
закључ, вредностинМОРСЕ_ЦОДЕ_ДИЦТ.итемс():
ако је цитект == вредност:
дешифровати += кључ

цитект = ""

повратак дешифровати

Тестирајте функције са неким узорком уноса. Почните иницијализацијом променљиве под називом порука са речју или реченицом коју желите да шифрујете. Користити горњи функцију да конвертује сва слова у велика слова и проследи их функцији шифровања као аргумент. Морзеов код садржи само велика слова, која су кључеви у речнику. Ово такође помаже да се избегну непотребне провере времена извршавања за валидан случај.

Одштампајте резултујућу вредност да бисте видели Морзеов еквивалент оригиналне реченице.

Затим сачувајте Морзеов код у променљивој поруке и проследите га функцији дешифровања. Одштампајте резултат и проверите да ли је тачан.

Уместо тврдог кодирања уноса, можете га прихватити од корисника помоћу улазни() функција.

порука = "Искористи"
резултат = шифровање (мессаге.уппер())
принт(резултат)

порука = "-- .- -.-. ..-.... ..-."
резултат = дешифровање (порука)
принт(резултат)

Излаз преводиоца Морзеовог кода у Питхон-у

Питхон програм преводи свако слово енглеског алфабета у његов еквивалент Морзеовом коду и приказује га на излазном екрану терминала као што је приказано. Ако копирате добијени резултат и проследите га на дешифровање, добићете оригинални текст који сте претходно унели. Ово потврђује да је превод функционисао савршено.

Мобилне апликације за Морзеов код

Преводиоци Морзеовог кода доступни су бесплатно на дохват руке. Више од стотине апликација као што су Морсе Маниа, Морсе Траинер, Морсе Цоде Реадер, Морсе Цоде Кеибоард и Морсе Цоде Транслатор су доступне на различитим платформама. На ваше изненађење, подржава га чак и ГБоард - Гоогле тастатура.

Да бисте приступили Морзеовом коду на свом Гбоард-у, отворите икону Подешавања на Гбоард-у, изаберите Језици и додирните Енглески (САД). Превуците надесно кроз опције, а затим изаберите Морзеов код. Ваша тастатура сада подржава уметање Морзеовог кода заједно са услугама приступачности, као што су ТалкБацк, Приступ преко прекидача или Изаберите за говор.