تجاوز إلى المحتوى الرئيسي
تابعنا على تيليجرامانضم

الخوارزميات والبرمجة

ملخص مقدمة في لغات البرمجة، المهارات الرقمية

القوانين والتعريفات والأفكار الأساسية في الموضوع، من الكتاب المقرّر. راجعها داخل TawjihiAI مع البطاقات والأسئلة.

لغات البرمجة مُنخفضة المستوى:

  • لغة الآلة ⁦(Machine Language)⁩: لغة برمجة تحتوي على أوامر وتعليمات يُمكن لجهاز الحاسوب فهمها مباشرة ومعالجتها، خلافاً للإنسان الذي يصعب عليه فهمها. تمتاز هذه اللغة بأنّها سريعة مقارنةً بلغات البرمجة عالية المستوى.
  • لغة التجميع ⁦(Assembly Language)⁩: لغة تقوم على استخدام برنامج خاص يُسمّى المجمع ⁦(Assembler)⁩، ويعمل على تحويل الأوامر المكتوبة إلى لغة الآلة التي يفهمها جهاز الحاسوب. تمتاز هذه اللغة بأنّها أسهل من لغة الآلة؛ نظراً إلى احتوائها على بعض مفردات اللغة الإنجليزية؛ ما يُسهّل قراءة برامجها وفهمها. غير أنّ تنفيذ البرامج المكتوبة بلغة التجميع يكون أبطأ مقارنةً بلغة الآلة.

لغات البرمجة عالية المستوى:

  • لغات البرمجة الكتلية ⁦(Block-Based Programming Languages)⁩: لغات تُستخدم فيها الكتل الرسومية ⁦(Graphical Blocks)⁩ لتمثيل أجزاء البرامج بدلاً من النصوص، مثل لغة البرمجة سكراتش ⁦(Scratch)⁩.
  • لغات البرمجة النصية ⁦(Text-Based Programming Languages)⁩: لغات تُستخدم فيها النصوص لتمثيل أجزاء البرامج بدلاً من الكتل الرسومية، مثل لغة جافا سكريب ⁦(Java Script)⁩.

المُترجم والمُفسّر

  • المُترجم ⁦(Compiler)⁩: تتمثّل وظيفة المُترجم في الفحص الكامل لأي برنامج كُتب بلغة البرمجة عالية المستوى (البرنامج المصدري)، ثمّ ترجمته إلى لغة الآلة (البرنامج الهدف)؛ لكي تتمكّن وحدة معالجة البيانات من تنفيذه. ويُمكن للمُترجم اكتشاف بعض أنواع الأخطاء في البرنامج أثناء مرحلة الترجمة، وقبل البدء بتنفيذه، أنظر الشكل (1-2).
  • المُفسّر ⁦(Interpreter)⁩: يعمل المُفسّر على تحويل كل جزء من أجزاء البرنامج المكتوب بلغة البرمجة عالية المستوى إلى لغة الآلة، ثمّ تنفيذ هذه الأجزاء أمراً بأمر؛ فعند وجود أمر خطأ تتوقف عملية تحويل الأجزاء المُتبقّية. غير أنّ المُفسّر لا يعمل أحياناً على تحويل البرنامج إلى لغة الآلة بصورة مباشرة، وإنّما يقوم بتحويل البرنامج إلى لغة وسيطة أولاً، ثمّ يُحوّل كل جزء من أجزاء البرنامج الناتج إلى لغة الآلة، أنظر الشكل (1-3).

مشروع (1): تصميم برنامج وإعداده لإنشاء لعبة تخمين الأرقام باستخدام لغة بايثون / المهمة

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