קוד מורס קיים מאז תחילת המאה ה-19 ומצא את דרכו לעידן הדיגיטלי. משמשה כאמצעי תקשורת קריטי במהלך מלחמת העולם השנייה ועד שליחת הודעות מוצפנות בתעופה ובים, קוד המורס כאן כדי להישאר.
אם אינך מודע לשפה המרתקת הזו, התכונן לא רק לגלות קוד מורס אלא גם לבנות מתרגם משלך באמצעות Python.
מה זה קוד מורס?
קוד מורס הוא שיטת תקשורת שבה אתה מקודד תווי טקסט לרצף סטנדרטי של שני אותות בעלי משך משתנה, המסומנים על ידי נקודות ומקפים. קוד המורס מקבל את שמו מסמואל מורס, מממציא הטלגרף. אתה יכול לשנן אותו ולשדר אותו באמצעות גלי קול או אור גלוי הנראה על ידי החושים האנושיים.
אורכו של המקבילה לקוד מורס הפוך לתדירות השימוש שלנו באלפבית הזה, ותוכלו לראות שקוד מורס מקצה את האות הנפוצה ביותר בשפה האנגלית, E, לנקודה בלבד.
אתה יכול להשתמש באלה תוכנת קוד מורס ואפליקציות בחינם לשליחת הודעות מקודדות אחד לשני. מצד שני, לימוד קוד מורס הוא די פשוט, ואתה יכול ללמוד אותו תוך חודש עם כמות לא מבוטלת של תרגול. כדי לעזור לך להתחיל, הנה תשעה אתרים ללימוד קוד מורס בחינם.
כיצד לבנות מתרגם קוד מורס באמצעות Python
התחל בהגדרת מילון Python בשם MORSE_CODE_DICT כדי לאחסן את ערכי קוד המורס. המקשים יהיו אותיות האלפבית האנגלי, עם רצף הנקודות או המקפים המתאים כערך המתאים. באמצעות מילון, אתה יכול לחפש במהירות כל מפתח לערך המתאים לו.
MORSE_CODE_DICT = { 'א':'.-', 'ב':'-...',
'ג':'-.-.', 'ד':'-..', 'ה':'.',
'F':'..-.', 'G':'--.', 'ח':'...',
'אני':'..', 'J':'.', 'K':'-.-',
'ל':'.-..', 'M':'--', 'N':'-.',
'או':'', 'פ':'.--.', 'ש':'--.-',
'ר':'.-.', 'S':'...', 'T':'-',
'את':'..-', 'V':'...-', 'W':'.--',
'איקס':'-..-', 'Y':'-.--', 'Z':'--..',
'1':'.', '2':'..', '3':'...--',
'4':'...-', '5':'...', '6':'-...',
'7':'--...', '8':'..', '9':'.',
'0':'', ', ':'--..--', '.':'.-.-.-',
'?':'..--..', '/':'-..-.', '-':'-...-',
'(':'-.--.', ')':'-.--.-' }
הכריז על פונקציה בשם הצפנה שמקבלת הוֹדָעָה כפרמטר קלט. בתוך הפונקציה, אתחול משתנה בשם צוֹפֶן עם מחרוזת ריקה. תשתמש בזה כדי ליצור ולאחסן את ההודעה המוצפנת. לאחר מכן, הכריז על לולאת for החוזרת על כל אות בהודעה.
אם האות אינה רווח לבן, העבר אותה למילון לחיפוש. המילון מחזיר את ערך הקוד More המתאים על סמך המפתח. הוסף רווח כדי להפריד בין התווים של קוד המורס והשתמש בקיצור += אופרטור כדי לשרשר אותו עם הקוד המתקבל מהמילון. אם האות היא רווח לבן, הוסף רווח נוסף לצופן; קוד מורס מפריד בין מילים עם שני רווחים עוקבים.
defלהצפין(הוֹדָעָה):
צופן = ""
למכתב בהודעה:
אם מכתב != " ":
צופן += MORSE_CODE_DICT[אות] + " "
אַחֵר:
צופן += " "
לַחֲזוֹר צוֹפֶן
הכריז על פונקציה בשם decrypt שמקבלת הוֹדָעָה כפרמטר קלט. הוסף רווח בסוף, השתמש באופרטור הקיצור כדי לגשת לאו האחרון של קוד המורס. אתחול שני משתנים, פענוח ו ציטקסט להחזיק מחרוזות ריקות. המשתנה המפענח יחזיק את המשפט המפוענח המורכב מהאלפבית האנגלי בזמן שאתה משתמש בסיטקסט כדי לאחסן כל אות בקוד המורס.
חזרו על לולאת for שעוברת דרך כל אות בקוד המורס. אם האות אינה רווח לבן, אתחול משתנה מונה i שעוקב אחר מספר הרווחים עד אפס ואחסן את קוד המורס של תו בודד בסיטקסט. אחרת, האות היא רווח, אז הגדל את המונה באחד.
אם המונה שווה לשניים, זה אומר שעליך להוסיף רווח לבן לפענוח משתנה המילה המפוענח. אחרת, גש למפתחות באמצעות הערכים שלהם. לשם כך, חזור על צמדי המפתח-ערך במילון באמצעות פונקציית הפריטים. אם הסיטקסט שווה לערך, הוסף את המפתח המתאים למשתנה המפענח באמצעות האופרטור הקיצור.
לבסוף, נקה את הסיטקסט כדי לקבל את האות הבאה ולהחזיר את המשפט המפוענח שהושג לקריאת הפונקציה.
defלפענח(הוֹדָעָה):
הודעה += " "
לפענח = ""
citext = ""למכתב בהודעה:
אם מכתב != " ":
i = 0
citext += אות
אַחֵר:
i += 1אם אני == 2:
לפענח += " "
אַחֵר:
למַפְתֵחַ, ערךבMORSE_CODE_DICT.items():
if citext == ערך:
לפענח מפתח +=citext = ""
לַחֲזוֹר לְפַעֲנֵחַ
בדוק את הפונקציות עם קצת קלט לדוגמה. התחל באתחול משתנה בשם הוֹדָעָה עם המילה או המשפט שברצונך להצפין. להשתמש ב עֶלִיוֹן פונקציה להמרת כל האותיות לאותיות גדולות ולהעביר אותה לפונקציית הצפנה כארגומנט. קוד מורס מכיל רק אותיות רישיות, שהן המפתחות במילון. זה גם עוזר למנוע בדיקות זמן ריצה מיותרות למקרה חוקי.
הדפס את הערך המתקבל כדי לראות את המקבילה של קוד המורס של המשפט המקורי.
לאחר מכן, אחסן קוד מורס במשתנה ההודעה והעביר אותו לפונקציית הפענוח. הדפס את התוצאה ובדוק שהיא נכונה.
במקום לקוד קשיח את הקלט, אתה יכול לקבל אותו מהמשתמש עם קֶלֶט() פוּנקצִיָה.
הודעה = "לעשות שימוש ב"
result = encrypt (message.upper())
הדפס(תוֹצָאָה)
הודעה = "-- .- -.-. ..-.... ..-."
תוצאה = פענוח (הודעה)
הדפס(תוֹצָאָה)
פלט של מתרגם קוד מורס בפייתון
תוכנית Python מתרגמת כל אות באלפבית האנגלי למקבילה של קוד המורס שלה ומציגה אותה למסך הפלט של הטרמינל כפי שמוצג. אם תעתיקו את הפלט שהתקבל ותעבירו אותו לפענוח תקבלו את הטקסט המקורי שהעברתם קודם לכן. זה מוודא שהתרגום עבד בצורה מושלמת.
יישומים ניידים עבור קוד מורס
מתרגמי קוד מורס זמינים בחינם ממש בהישג ידך. יותר ממאות יישומים כגון מורס מאניה, מאמן מורס, קורא קוד מורס, מקלדת קוד מורס ומתרגם קוד מורס זמינים בפלטפורמות שונות. להפתעתכם, הוא אפילו נתמך על ידי GBoard - מקלדת גוגל.
כדי לגשת לקוד מורס ב-Gboard שלך, פתח את סמל ההגדרות ב-Gboard, בחר שפות והקש על אנגלית (ארה"ב). החלק ימינה בין האפשרויות ולאחר מכן בחר קוד מורס. המקלדת שלך תומכת כעת בהכנסת קוד מורס יחד עם שירותי נגישות, כמו TalkBack, גישת מתג או בחר לדבר.