تمرينات - كتاب هندسة البرمجيات - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب هندسة البرمجيات - الصف 12 - الفصل 1 | المادة: هندسة البرمجيات | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: تمرينات

📚 معلومات الصفحة

الكتاب: كتاب هندسة البرمجيات - الصف 12 - الفصل 1 | المادة: هندسة البرمجيات | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: تمارين وأسئلة

مستوى الصعوبة: متوسط

📝 ملخص الصفحة

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

📄 النص الكامل للصفحة

--- SECTION: تمرينات --- تمرينات --- SECTION: 1 --- 1 ما أوجه القصور في لغة التجميع؟ --- SECTION: 2 --- 2 ارسم مخططًا يظهر الفرق بين عمليتي ترجمة وتنفيذ البرنامج في كل من المترجم والمفسر. وزارة التعليم Ministry of Education 39 2023 - 1447 --- VISUAL CONTEXT --- **DIAGRAM**: Untitled Description: A blank grid provided for drawing a diagram, likely to illustrate the difference between compiler and interpreter processes as requested in question 2. Table Structure: Headers: N/A Rows: Context: Provides space for students to visually represent the concepts of program translation and execution by a compiler and an interpreter.

✅ حلول أسئلة الكتاب الرسمية

عدد الأسئلة: 2

سؤال س: ١: 1 ما أوجه القصور في لغة التجميع؟

الإجابة: س: ١ - معتمدة على العتاد - صعبة التعلم والكتابة - تستغرق وقتا وجهدا - صعبة الصيانة

خطوات الحل:

  1. **الشرح:** لنفهم هذا السؤال، يجب أولاً أن نعرف ما هي لغة التجميع. لغة التجميع هي لغة برمجة منخفضة المستوى، أقرب إلى لغة الآلة التي يفهمها المعالج مباشرة، وتستخدم رموزاً واختصارات (mnemonics) تمثل تعليمات الآلة. الفكرة هنا هي التفكير في خصائص هذه اللغة من وجهة نظر المبرمج. بما أنها لغة قريبة جداً من العتاد (الهاردوير)، فهذا يعني أن كتابة البرامج بها تتطلب فهماً عميقاً لهيكل المعالج وذاكرته. هذا يجعل تعلمها وكتابة البرامج بها عملية صعبة ومعقدة مقارنة بلغات البرمجة عالية المستوى مثل Python أو Java. بالإضافة إلى ذلك، لأن البرنامج مكتوب بتعليمات محددة جداً للجهاز، فإن أي تعديل أو تصحيح للأخطاء (الصيانة) يكون صعباً، كما أن كتابة برنامج كامل يتطلب الكثير من الأسطر البرمجية التفصيلية، مما يستغرق وقتاً وجهداً كبيرين. إذن، أوجه القصور التي يمكن استنتاجها هي: اعتمادها الشديد على عتاد محدد يجعلها غير مرنة، وصعوبة تعلمها وكتابتها، والوقت والجهد الكبيرين المطلوبين، وصعوبة تعديلها أو صيانتها لاحقاً.

سؤال س: ٢: 2 ارسم مخططًا يظهر الفرق بين عمليتي ترجمة وتنفيذ البرنامج في كل من المترجم والمفسر.

الإجابة: س: ٢: المترجم: يترجم البرنامج كاملاً (ملف تنفيذي). المفسر: يترجم وينفذ سطراً بسطر.

خطوات الحل:

  1. **الخطوة 1 (المفهوم):** نتذكر أن البرامج تُكتب بلغات برمجة عالية المستوى (مثل Python أو C++) لا يفهمها الحاسوب مباشرة. لذلك، نحتاج إلى برنامج وسيط لتحويل الكود المصدري إلى لغة يفهمها الحاسوب. هناك طريقتان رئيسيتان لهذا التحويل: استخدام **المترجم** أو استخدام **المفسر**. **الخطوة 2 (التطبيق والرسم الذهني):** لرسم مخطط ذهني للفرق، دعنا نتخيل العملية لكل منهما: * **في حالة المترجم:** * **المرحلة 1 (الترجمة):** يأخذ المترجم ملف الكود المصدري **كاملاً** (مثل `program.c`). * **المرحلة 2 (الإخراج):** يقوم بتحليله وترجمته دفعة واحدة لينتج **ملفاً تنفيذياً واحداً** جديداً (مثل `program.exe`). * **المرحلة 3 (التنفيذ):** يمكن للمستخدم بعد ذلك **تشغيل هذا الملف التنفيذي** مباشرة، دون الحاجة إلى المترجم مرة أخرى. الترجمة حدثت مرة واحدة فقط. * **في حالة المفسر:** * **المرحلة 1 (القراءة):** يبدأ المفسر بقراءة سطر من الكود المصدري (مثل سطر من ملف `script.py`). * **المرحلة 2 (الترجمة والتنفيذ الفوري):** يترجم هذا السطر **فوراً** إلى تعليمات يفهمها الحاسوب **وينفذها على الفور**. * **المرحلة 3 (التكرار):** ينتقل إلى السطر التالي ويكرر العملية (ترجمة فورية ثم تنفيذ فوري). **الخطوة 3 (النتيجة والتلخيص):** إذن، الفرق الرئيسي في المخطط الذهني هو: المترجم: **يترجم البرنامج كاملاً أولاً** (ينتج ملفاً تنفيذياً)، ثم **ينفذ** هذا الملف لاحقاً. المفسر: **يترجم وينفذ سطراً بسطر**، دون إنشاء ملف تنفيذي منفصل.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 4 بطاقة لهذه الصفحة

ما أوجه القصور في لغة التجميع؟

الإجابة: لم يرد في النص تفصيل كافٍ للإجابة على هذا السؤال. السؤال موجود في التمرينات ولكن الإجابة غير متوفرة في محتوى الصفحة الحالي.

الشرح: السؤال موجود في الصفحة كتمرين للطالب، لكن محتوى الصفحة لا يحتوي على الإجابة أو الشرح الكافي للإجابة عليه.

تلميح: هذا سؤال من قسم التمرينات يتطلب معرفة مسبقة من دروس سابقة حول لغات البرمجة.

التصنيف: سؤال اختبار | المستوى: صعب

ما الفرق بين عمليتي ترجمة وتنفيذ البرنامج في المترجم والمفسر؟

الإجابة: يطلب السؤال رسم مخطط يوضح الفرق بين عمليتي الترجمة والتنفيذ في كل من المترجم والمفسر. المترجم يترجم البرنامج كاملاً ثم ينفذه، بينما المفسر يترجم وينفذ سطراً سطراً.

الشرح: هذا سؤال تطبيقي يختبر فهم الطالب للفرق الجوهري في آلية عمل المترجم والمفسر في معالجة البرامج.

تلميح: فكر في التسلسل الزمني للعمليتين في كل أداة. هل تتم الترجمة كاملة أولاً أم بالتزامن مع التنفيذ؟

التصنيف: فرق بين مفهومين | المستوى: متوسط

ما هو المترجم (Compiler) في هندسة البرمجيات؟

الإجابة: أداة تترجم البرنامج المكتوب بلغة عالية المستوى إلى لغة الآلة دفعة واحدة قبل التنفيذ.

الشرح: المترجم يحول الكود المصدري إلى كود قابل للتنفيذ في خطوة منفصلة قبل بدء تشغيل البرنامج.

تلميح: تذكر أن هذه الأداة تعمل على البرنامج ككل وليس جزءاً جزءاً.

التصنيف: تعريف | المستوى: سهل

ما هو المفسر (Interpreter) في هندسة البرمجيات؟

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

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

تلميح: فكر في أداة تعالج وتنفذ التعليمات بشكل متتابع وفوري.

التصنيف: تعريف | المستوى: سهل