القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

وُجدت شفرة مورس منذ أوائل القرن التاسع عشر ووجدت طريقها إلى العصر الرقمي. من العمل كوسيلة اتصال حاسمة خلال الحرب العالمية الثانية إلى إرسال رسائل مشفرة في مجال الطيران والبحرية ، فإن شفرة مورس موجودة لتبقى.

إذا لم تكن على دراية بهذه اللغة الرائعة ، فاستعد ليس فقط لاكتشاف شفرة مورس ولكن أيضًا لبناء مترجم خاص بك باستخدام بايثون.

ما هي شفرة مورس؟

شفرة مورس هي طريقة اتصال تقوم فيها بتشفير أحرف النص في تسلسل قياسي من إشارتين بمدة متفاوتة ، يُشار إليها بالنقاط والشرطات. حصلت شفرة مورس على اسمها من صموئيل مورس ، أحد مخترعي التلغراف. يمكنك حفظها ونقلها عن طريق الموجات الصوتية أو الضوء المرئي الذي تدركه حواس الإنسان.

طول مكافئ شفرة مورس معكوس لتكرار استخدامنا لتلك الأبجدية ، ويمكنك أن ترى أن شفرة مورس تعيّن الحرف الأكثر شيوعًا في اللغة الإنجليزية ، E ، لنقطة فقط.

يمكنك استخدام هذه برامج وتطبيقات مورس المجانية لإرسال رسائل مشفرة لبعضهم البعض. من ناحية أخرى ، يعد تعلم شفرة مورس أمرًا بسيطًا إلى حد ما ، ويمكنك تعلمه في غضون شهر بقدر لا بأس به من الممارسة. لمساعدتك على البدء ، هنا

instagram viewer
تسعة مواقع لتعلم شفرة مورس مجانا.

كيفية بناء مترجم شفرة مورس باستخدام بايثون

ابدأ بتحديد قاموس Python المسمى MORSE_CODE_DICT لتخزين قيم شفرة مورس. ستكون المفاتيح بأحرف الأبجدية الإنجليزية ، مع تسلسل النقطة أو الشرطة المناسبة كقيمة مقابلة. باستخدام القاموس ، يمكنك البحث بسرعة عن أي مفتاح لقيمته المقابلة.

MORSE_CODE_DICT = { 'أ':'.-', 'ب':'-...',
"ج":'-.-.', 'د':'-..', "ه":'.',
'F':'..-.', "G":'--.', "ح":'...',
'أنا':'..', "J":'.', 'ك':'-.-',
"L":'.-..', "م":'--', 'ن':'-.',
"يا":'', "ف":'.--.', "س":'--.-',
"R":'.-.', 'س':'...', "T":'-',
"U":'..-', 'الخامس':'...-', "W":'.--',
"X":'-..-', "نعم":'-.--', "Z":'--..',
'1':'.', '2':'..', '3':'...--',
'4':'...-', '5':'...', '6':'-...',
'7':'--...', '8':'..', '9':'.',
'0':'', ', ':'--..--', '.':'.-.-.-',
'?':'..--..', '/':'-..-.', '-':'-...-',
'(':'-.--.', ')':'-.--.-' }

قم بتعريف دالة تسمى تشفير يقبل رسالة كمعامل إدخال. داخل الوظيفة ، قم بتهيئة متغير اسمه الشفرة بسلسلة فارغة. ستستخدم هذا لإنشاء الرسالة المشفرة وتخزينها. بعد ذلك ، قم بتعريف حلقة for التي تتكرر فوق كل حرف في الرسالة.

إذا لم يكن الحرف عبارة عن مسافة بيضاء ، فمرره إلى القاموس للبحث. يقوم القاموس بإرجاع قيمة رمز المزيد المقابلة بناءً على المفتاح. أضف مسافة لفصل أحرف شفرة مورس واستخدم الاختصار += عامل لربطها مع الكود الذي تم الحصول عليه من القاموس. إذا كان الحرف عبارة عن مسافة بيضاء ، أضف مسافة إضافية إلى الشفرة ؛ تفصل شفرة مورس الكلمات بمسافتين متتاليتين.

defتشفير(رسالة):
الشفرات = ""
للرسالة في الرسالة:
لو الرسالة! = " ":
تشفير + = MORSE_CODE_DICT [حرف] + " "
آخر:
تشفير + = " "
يعود الشفرة

قم بتعريف دالة باسم فك تشفير يقبل رسالة كمعامل إدخال. أضف مسافة في النهاية ، باستخدام عامل الاختصار للوصول إلى الحرف الأخير من شفرة مورس. تهيئة متغيرين ، فك ، و نص لعقد سلاسل فارغة. سيحتوي متغير فك التشفير على الجملة التي تم فك تشفيرها والتي تتكون من الأبجدية الإنجليزية بينما تستخدم citext لتخزين كل حرف من رمز مورس.

كرر حلقة for التي تمر عبر كل حرف من كود مورس. إذا لم يكن الحرف مسافة بيضاء ، فقم بتهيئة متغير عداد i الذي يتتبع عدد المسافات إلى الصفر ويخزن شفرة مورس من حرف واحد في النص. بخلاف ذلك ، يكون الحرف مسافة ، لذا قم بزيادة العداد بمقدار واحد.

إذا كان العداد يساوي اثنين ، فهذا يعني أنه يجب عليك إضافة مسافة بيضاء إلى فك تشفير متغير الكلمة الذي تم فك تشفيره. خلاف ذلك ، قم بالوصول إلى المفاتيح باستخدام قيمها. للقيام بذلك ، قم بالتكرار على أزواج المفتاح والقيمة في القاموس باستخدام وظيفة العناصر. إذا كان النص الأصلي يساوي القيمة ، أضف المفتاح المقابل إلى متغير فك التشفير باستخدام عامل الاختزال.

أخيرًا ، امسح النص الوارد للحصول على الحرف التالي وأعد الجملة المفكوكة التي تم الحصول عليها إلى استدعاء الوظيفة.

defفك تشفير(رسالة):
رسالة + = " "
فك = ""
سيتكست = ""

للرسالة في الرسالة:
لو الرسالة! = " ":
أنا = 0
نص + = حرف
آخر:
أنا + = 1

إذا كنت == 2:
فك + = " "
آخر:
لمفتاح, قيمةفيMORSE_CODE_DICT.أغراض():
إذا كان النص == قيمة:
فك + = مفتاح

سيتكست = ""

يعود فك

اختبر الوظائف مع بعض المدخلات النموذجية. ابدأ بتهيئة متغير باسم رسالة بالكلمة أو الجملة التي تريد تشفيرها. استخدم ال العلوي تعمل على تحويل جميع الأحرف إلى أحرف كبيرة وتمريرها إلى وظيفة التشفير كوسيطة. تحتوي شفرة مورس على أحرف كبيرة فقط ، وهي المفاتيح الموجودة في القاموس. يساعد هذا أيضًا في تجنب عمليات فحص وقت التشغيل غير الضرورية لحالة صالحة.

اطبع القيمة الناتجة لعرض مكافئ شفرة مورس للجملة الأصلية.

بعد ذلك ، قم بتخزين رمز مورس في متغير الرسالة وقم بتمريره إلى وظيفة فك التشفير. اطبع النتيجة وتحقق من صحتها.

بدلاً من ترميز الإدخال ، يمكنك قبوله من المستخدم بامتداد مدخل() وظيفة.

رسالة = "الاستفادة من"
النتيجة = تشفير (message.upper ())
مطبعة(نتيجة)

رسالة = "-- .- -.-. ..-.... ..-."
النتيجة = فك (رسالة)
مطبعة(نتيجة)

إخراج مترجم مورس في بايثون

يقوم برنامج Python بترجمة كل حرف من الأبجدية الإنجليزية إلى ما يعادله من رمز مورس ويعرضه على شاشة الإخراج النهائية كما هو موضح. إذا قمت بنسخ المخرجات التي تم الحصول عليها وتمريرها لفك التشفير ، فستتلقى النص الأصلي الذي مررته سابقًا. هذا يتحقق من أن الترجمة عملت على أكمل وجه.

تطبيقات الهاتف المحمول لكود مورس

تتوفر مترجمي مورس مجانًا في متناول يدك. يتوفر أكثر من مئات التطبيقات مثل Morse Mania و Morse Trainer و Morse Code Reader و Morse Code Keyboard و Morse Code Translator على منصات مختلفة. لدهشتك ، إنها مدعومة من GBoard - لوحة مفاتيح Google.

للوصول إلى Morse Code على Gboard الخاص بك ، افتح رمز الإعدادات على Gboard ، وحدد اللغات ، ثم انقر فوق اللغة الإنجليزية (الولايات المتحدة). اسحب لليمين عبر الخيارات ، ثم اختر Morse code. تدعم لوحة المفاتيح الآن إدراج Morse Code جنبًا إلى جنب مع خدمات إمكانية الوصول ، مثل TalkBack أو Switch Access أو Select to Speak.