إضافة المقطع البرمجي إلى عنصر البرمجة الجديد Follow the wall - كتاب المهارات الرقمية - الصف 9 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب المهارات الرقمية - الصف 9 - الفصل 1 | المادة: المهارات الرقمية | المرحلة: الصف 9 | الفصل الدراسي: 1

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

الدرس: إضافة المقطع البرمجي إلى عنصر البرمجة الجديد Follow the wall

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

الكتاب: كتاب المهارات الرقمية - الصف 9 - الفصل 1 | المادة: المهارات الرقمية | المرحلة: الصف 9 | الفصل الدراسي: 1

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

نوع المحتوى: درس تعليمي

📝 ملخص الصفحة

📚 إضافة المقطع البرمجي لعنصر "Follow the wall"

المفاهيم الأساسية

لا تحتوي هذه الصفحة على تعريفات جديدة.

خريطة المفاهيم

```markmap

مستشعرات المسافة

عناصر برمجة جديدة

إنشاء عنصر

#### خطوات إنشاء كتلة "Follow the wall"

  • من فئة عناصر البرمجة الجديدة (My blocks)، اضغط على إنشاء عنصر (Make a block).
  • اضغط على العنصر الجديد واكتب اسمه "Follow the wall".
  • اضغط على موافق (OK) لتأكيد الإنشاء.
  • #### خطوات إضافة المقطع البرمجي للعنصر "Follow the wall"

  • من فئة التحكم (Control)، أضف لبنة إذا (if) ثم ( ) وآخر ( ) (else).
  • من فئة العمليات (Operators)، أضف لبنة أكبر من (Greater than).
  • من فئة الاستشعار (Sensing)، أضف لبنة المسافة الأمامية في ( ) (FrontDistance in ( )).
  • من فئة نظام الدفع (Drivetrain)، أضف لبنة تحرك ( ) لـ (drive ( )) لـ (for ( )).
  • من فئة نظام الدفع (Drivetrain)، أضف لبنة انعطف ( ) لـ (turn ( )) لـ (for ( )).
  • من فئة نظام الدفع (Drivetrain)، أضف لبنة انعطف ( ) لـ (turn ( )) لـ (for ( )) داخل حالة آخر (else).
  • ```

    نقاط مهمة

    • الهدف من الصفحة هو استنساخ المقطع البرمجي لعنصر البرمجة الجديد "Follow the wall" وإضافته أسفل اللبنة المحددة.
    • يتم بناء المقطع البرمجي باستخدام لبنات من عدة فئات: التحكم (Control)، العمليات (Operators)، الاستشعار (Sensing)، و نظام الدفع (Drivetrain).
    • تستخدم لبنة إذا ثم آخر (if-then-else) لاتخاذ قرار بناءً على قراءة مستشعر المسافة الأمامية.
    • القيمة "200" تُكتب في الجانب الأيسر من لبنة المقارنة.
    • يتم اختيار اتجاه الانعطاف (يسار أو يمين) من خلال القائمة المنسدلة في لبنات الانعطاف.

    📋 المحتوى المنظم

    📖 محتوى تعليمي مفصّل

    نوع: محتوى تعليمي

    استنساخ المقطع البرمجي لعنصر البرمجة الجديد Follow the wall، وتضيفه أسفل اللبنة المحددة التي تم إنشاؤها.

    إضافة المقطع البرمجي إلى عنصر البرمجة الجديد Follow the wall

    نوع: محتوى تعليمي

    إضافة المقطع البرمجي إلى عنصر البرمجة الجديد Follow the wall

    نوع: محتوى تعليمي

    من فئة التحكم (Control)، أضف لبنة إذا (if) ثم ( ) وآخر ( ) (else) ضمن لبنة تعريف عنصر البرمجة الجديد 1. Follow the wall

    نوع: محتوى تعليمي

    من فئة العمليات (Operators)، أضف لبنة أكبر من (Greater than ) 2.

    نوع: محتوى تعليمي

    من فئة الاستشعار (Sensing)، أضف لبنة المسافة الأمامية في ( ) (FrontDistance in ( ))، و( ) ، و( ) أكبر من ( ) (greater than ( )) في الجانب الأيمن من لبنة ( ) ( ) ثم اكتب "200" في الجانب الأيسر. 4

    نوع: محتوى تعليمي

    من فئة نظام الدفع (Drivetrain)، أضف لبنة تحرك ( ) لـ (drive ( )) لـ (for ( )) عدد ( ) ضمن حالة لبنة إذا (if) ثم ( ) وآخر ( ) (else) 5.

    نوع: محتوى تعليمي

    من فئة نظام الدفع (Drivetrain)، أضف لبنة انعطف ( ) لـ (turn ( )) لـ (for ( )) مدة ( ) ثم اضغط على القائمة المنسدلة واختر اليسار 6.

    نوع: محتوى تعليمي

    من فئة نظام الدفع (Drivetrain)، أضف لبنة انعطف ( ) لـ (turn ( )) لـ (for ( )) مدة ( ) داخل حالة أخرى (else) لللبنة إذا (if) ثم ( ) وآخر ( ) (else) 8.

    نوع: محتوى تعليمي

    ثم اضغط على القائمة المنسدلة واختر يمين (right). 9

    🔍 عناصر مرئية

    Follow the wall

    A visual programming interface showing blocks for creating a 'Follow the wall' program. The main program area displays several blocks connected sequentially. A palette of available blocks is shown on the right, categorized by function (Control, Operators, Sensing, Drivetrain, etc.).

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

    استنساخ المقطع البرمجي لعنصر البرمجة الجديد Follow the wall، وتضيفه أسفل اللبنة المحددة التي تم إنشاؤها. --- SECTION: إضافة المقطع البرمجي إلى عنصر البرمجة الجديد Follow the wall --- إضافة المقطع البرمجي إلى عنصر البرمجة الجديد Follow the wall من فئة التحكم (Control)، أضف لبنة إذا (if) ثم ( ) وآخر ( ) (else) ضمن لبنة تعريف عنصر البرمجة الجديد 1. Follow the wall من فئة العمليات (Operators)، أضف لبنة أكبر من (Greater than ) 2. من فئة الاستشعار (Sensing)، أضف لبنة المسافة الأمامية في ( ) (FrontDistance in ( ))، و( ) ، و( ) أكبر من ( ) (greater than ( )) في الجانب الأيمن من لبنة ( ) ( ) ثم اكتب "200" في الجانب الأيسر. 4 من فئة نظام الدفع (Drivetrain)، أضف لبنة تحرك ( ) لـ (drive ( )) لـ (for ( )) عدد ( ) ضمن حالة لبنة إذا (if) ثم ( ) وآخر ( ) (else) 5. من فئة نظام الدفع (Drivetrain)، أضف لبنة انعطف ( ) لـ (turn ( )) لـ (for ( )) مدة ( ) ثم اضغط على القائمة المنسدلة واختر اليسار 6. من فئة نظام الدفع (Drivetrain)، أضف لبنة انعطف ( ) لـ (turn ( )) لـ (for ( )) مدة ( ) داخل حالة أخرى (else) لللبنة إذا (if) ثم ( ) وآخر ( ) (else) 8. ثم اضغط على القائمة المنسدلة واختر يمين (right). 9 --- VISUAL CONTEXT --- **DIAGRAM**: Follow the wall Description: A visual programming interface showing blocks for creating a 'Follow the wall' program. The main program area displays several blocks connected sequentially. A palette of available blocks is shown on the right, categorized by function (Control, Operators, Sensing, Drivetrain, etc.). Data: Visual representation of programming blocks and their arrangement. Key Values: 200, 10, 1 to 10 Context: Illustrates how to construct a 'Follow the wall' program using Scratch blocks, demonstrating control flow, sensing, and motor control.

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

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

    سؤال 1: من فئة التحكم (Control)، أضف لبنة إذا () لم () آخر () (else) () then () (if) ضمن لبنة تعريف عنصر البرمجة الجديد Follow the wall.

    الإجابة: تم إضافة لبنة 'إذا ... لم ... آخر' (if ... then ... else) داخل لبنة 'تعريف Follow the wall'.

    خطوات الحل:

    1. | المعطيات | المطلوب | |----------|----------| | فئة التحكم (Control) | إضافة لبنة **إذا ... لم ... آخر** (if ... then ... else) | | داخل لبنة تعريف عنصر البرمجة الجديد **Follow the wall** | داخل لبنة **تعريف Follow the wall** |
    2. **المبدأ المستخدم:** في برمجة الروبوت، تُستخدم لبنات التحكم الشرطية (مثل **إذا ... لم ... آخر**) لتنفيذ تعليمات مختلفة بناءً على شروط معينة.
    3. 1. انتقل إلى فئة **التحكم (Control)** في واجهة البرمجة. 2. اسحب لبنة **إذا ... لم ... آخر** (if ... then ... else) وأسقطها داخل لبنة **تعريف Follow the wall**. 3. تأكد من أن اللبنة موضوعة بشكل صحيح داخل تعريف العنصر الجديد.
    4. > **ملاحظة:** هذه اللبنة تسمح للروبوت باتخاذ قرارات، فإذا تحقق الشرط ينفذ الجزء **لم** (then)، وإلا ينفذ الجزء **آخر** (else).
    5. **النتيجة:** تمت إضافة لبنة التحكم الشرطي **إذا ... لم ... آخر** داخل تعريف العنصر البرمجي الجديد **Follow the wall**، مما يمكّن الروبوت من تنفيذ مسارات مختلفة بناءً على الشروط المحددة.

    سؤال 2: من فئة العمليات (Operators) أضف لبنة أكبر من () (Greater than).

    الإجابة: تم إضافة لبنة عامل المقارنة 'أصغر من' (<) في شرط لبنة 'إذا'.

    خطوات الحل:

    1. | المعطيات | المطلوب | |----------|----------| | فئة العمليات (Operators) | إضافة لبنة **أكبر من** (Greater than) | | داخل شرط لبنة **إذا** | في شرط لبنة **إذا** |
    2. **القانون المستخدم:** عوامل المقارنة (مثل **أكبر من** >) تُستخدم لمقارنة قيمتين وإرجاع قيمة منطقية (صحيح أو خطأ).
    3. 1. انتقل إلى فئة **العمليات (Operators)** في واجهة البرمجة. 2. اسحب لبنة **أكبر من** (>) وأسقطها داخل فتحة الشرط في لبنة **إذا**. 3. تأكد من أن اللبنة موضوعة في المكان المخصص للمقارنة داخل الشرط.
    4. > **تنبيه:** الإجابة الأصلية ذكرت **أصغر من** (<)، ولكن السؤال طلب **أكبر من** (>). هنا نتبع تعليمات السؤال بإضافة **أكبر من**.
    5. **النتيجة:** تمت إضافة لبنة عامل المقارنة **أكبر من** داخل شرط لبنة **إذا**، مما يسمح بمقارنة قيمتين وتحديد ما إذا كانت القيمة الأولى أكبر من الثانية لاتخاذ قرار برمجي.

    سؤال 4: من فئة الاستشعار (Sensing) ، أضف لبنة المسافة الأمامية في () (FrontDistance in ()) في الجانب الأيمن من لبنة () أكبر من () (greater than ()) ، ثم اكتب "200" في الجانب الأيسر.

    الإجابة: تم وضع لبنة 'المسافة الأمامية' (Front Distance) في الجانب الأيسر من عامل المقارنة 'أصغر من' (<)، و '200' في الجانب الأيمن، لتصبح 'المسافة الأمامية < 200'.

    خطوات الحل:

    1. | المعطيات | المطلوب | |----------|----------| | فئة الاستشعار (Sensing) | إضافة لبنة **المسافة الأمامية في** (FrontDistance in) | | لبنة **أكبر من** (greater than) | وضع **المسافة الأمامية** في الجانب الأيمن من **أكبر من** | | الرقم **200** | وضع **200** في الجانب الأيسر من **أكبر من** |
    2. **المبدأ المستخدم:** تُستخدم لبنات الاستشعار (مثل **المسافة الأمامية**) لجمع بيانات من البيئة، وعوامل المقارنة لمقارنة هذه البيانات بقيم ثابتة.
    3. 1. انتقل إلى فئة **الاستشعار (Sensing)** واسحب لبنة **المسافة الأمامية في** (FrontDistance in). 2. ضع هذه اللبنة في **الجانب الأيمن** من لبنة **أكبر من** (greater than). 3. اكتب الرقم **200** في **الجانب الأيسر** من لبنة **أكبر من**. 4. تأكد من أن التعبير النهائي يظهر كـ **200 > المسافة الأمامية** (أو ما يعادله حسب الواجهة).
    4. > **ملاحظة:** السؤال طلب وضع **المسافة الأمامية** في الجانب الأيمن و **200** في الجانب الأيسر، مما يخلق شرطًا للمقارنة.
    5. **النتيجة:** تم تكوين شرط برمجي **200 > المسافة الأمامية**، حيث يُقارن قيمة المستشعر الأمامي بالرقم 200 باستخدام عامل **أكبر من**، لاتخاذ إجراء إذا كانت المسافة أقل من 200 (أو بناءً على منطق البرنامج).

    سؤال 5: من فئة نظام الدفع (Drivetrain) ، أضف لبنة انعطف () لعدد () (drive () for ()) حالة لبنة إذا () لم () آخر () (else) () then () (if) .

    الإجابة: تم إضافة لبنة 'انعطف' (turn) داخل الجزء 'إذا' (if) من لبنة الشرط.

    خطوات الحل:

    1. | المعطيات | المطلوب | |----------|----------| | فئة نظام الدفع (Drivetrain) | إضافة لبنة **انعطف لعدد** (drive for) | | داخل لبنة **إذا ... لم ... آخر** (if ... then ... else) | داخل الجزء **لم** (then) من لبنة الشرط |
    2. **القانون المستخدم:** لبنات نظام الدفع (مثل **انعطف لعدد**) تتحكم في حركة الروبوت، وتوضع داخل هياكل التحكم لتنفيذها بشروط.
    3. 1. انتقل إلى فئة **نظام الدفع (Drivetrain)** في واجهة البرمجة. 2. اسحب لبنة **انعطف لعدد** (drive for) وأسقطها داخل الجزء **لم** (then) من لبنة **إذا ... لم ... آخر**. 3. تأكد من أن اللبنة موضوعة في المكان الصحيح لتنفيذها عند تحقق شرط **إذا**.
    4. > **تنبيه:** لبنة **انعطف لعدد** قد تسمى أيضًا **drive for** أو ما شابه، وتحدد حركة الروبوت لمسافة أو زمن معين.
    5. **النتيجة:** تمت إضافة لبنة حركة **انعطف لعدد** داخل الجزء **لم** من لبنة الشرط، بحيث ينفذ الروبوت هذه الحركة فقط إذا تحقق الشرط في جزء **إذا**.

    سؤال 6: من فئة نظام الدفع (Drivetrain) ، أضف لبنة انعطف () لمدة () (turn () for ()) لبنة تحرك () عدد () (drive () for ()) ، ثم اضغط على القائمة المنسدلة واختر اليسار (left).

    الإجابة: تم إضافة لبنة 'انعطف لليسار' (turn left) داخل الجزء 'إذا' (if) من لبنة الشرط.

    خطوات الحل:

    1. | المعطيات | المطلوب | |----------|----------| | فئة نظام الدفع (Drivetrain) | إضافة لبنة **انعطف لمدة** (turn for) | | داخل لبنة **تحرك عدد** (drive for) | داخل لبنة **تحرك عدد** | | اختيار **اليسار** (left) من القائمة المنسدلة | ضبط اتجاه الانعطاف إلى **اليسار** |
    2. **المبدأ المستخدم:** لبنات الحركة (مثل **انعطف لمدة**) يمكن تضمينها داخل لبنات أخرى لإنشاء تسلسلات معقدة، ويمكن تحديد اتجاهها عبر القوائم المنسدلة.
    3. 1. انتقل إلى فئة **نظام الدفع (Drivetrain)** واسحب لبنة **انعطف لمدة** (turn for). 2. ضع هذه اللبنة **داخل** لبنة **تحرك عدد** (drive for). 3. اضغط على **القائمة المنسدلة** في لبنة **انعطف لمدة** واختر **اليسار** (left). 4. تأكد من أن التسلسل يظهر كحركة متتالية: أولاً **تحرك عدد**، ثم بداخلها **انعطف لليسار لمدة**.
    4. > **ملاحظة:** هذا يخلق حركة مركبة حيث ينفذ الروبوت حركة مستقيمة ثم انعطافًا يساريًا خلالها.
    5. **النتيجة:** تم تكوين لبنة حركة تحتوي على **انعطف لليسار لمدة** داخل لبنة **تحرك عدد**، مما يسمح للروبوت بالانعطاف يسارًا أثناء أو بعد حركته المستقيمة.

    سؤال 7: من فئة نظام الدفع (Drivetrain) ، أضف لبنة انعطف () لمدة () (turn () for ()) داخل حالة آخر (else) للبنة إذا () لم () آخر () (else) () then () (if) ، ثم اضغط على القائمة المنسدلة واختر اليمين (right).

    الإجابة: تم إضافة لبنة 'انعطف لليمين' (turn right) داخل الجزء 'آخر' (else) من لبنة الشرط.

    خطوات الحل:

    1. | المعطيات | المطلوب | |----------|----------| | فئة نظام الدفع (Drivetrain) | إضافة لبنة **انعطف لمدة** (turn for) | | داخل لبنة **إذا ... لم ... آخر** (if ... then ... else) | داخل الجزء **آخر** (else) من لبنة الشرط | | اختيار **اليمين** (right) من القائمة المنسدلة | ضبط اتجاه الانعطاف إلى **اليمين** |
    2. **القانون المستخدم:** في هياكل التحكم الشرطية، يُستخدم الجزء **آخر** (else) لتنفيذ تعليمات بديلة عندما لا يتحقق شرط **إذا**.
    3. 1. انتقل إلى فئة **نظام الدفع (Drivetrain)** واسحب لبنة **انعطف لمدة** (turn for). 2. ضع هذه اللبنة داخل الجزء **آخر** (else) من لبنة **إذا ... لم ... آخر**. 3. اضغط على **القائمة المنسدلة** في لبنة **انعطف لمدة** واختر **اليمين** (right). 4. تأكد من أن اللبنة موضوعة في الجزء **آخر**، لتنفيذها فقط إذا لم يتحقق شرط **إذا**.
    4. > **تنبيه:** هذا يعني أن الروبوت سينعطف يمينًا فقط في الحالة البديلة (عندما لا ينطبق الشرط الرئيسي).
    5. **النتيجة:** تمت إضافة لبنة **انعطف لليمين لمدة** داخل الجزء **آخر** من لبنة الشرط، بحيث ينفذ الروبوت هذه الحركة عند عدم تحقق الشرط في جزء **إذا**.

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

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

    ما الغرض من استخدام لبنة 'إذا ... لم ... آخر' (if ... then ... else) في برمجة الروبوت ضمن عنصر برمجي جديد مثل 'Follow the wall'؟

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

    الإجابة الصحيحة: b

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

    الشرح: 1. تُستخدم لبنات التحكم الشرطية لاتخاذ القرارات. 2. إذا تحقق الشرط (في جزء 'إذا')، ينفذ الروبوت التعليمات في جزء 'لم'. 3. إذا لم يتحقق الشرط، ينفذ التعليمات في جزء 'آخر'. 4. النتيجة: توجيه الروبوت لمسارين مختلفين حسب حالة المستشعر.

    تلميح: فكر في كيفية استجابة الروبوت لبيئته.

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

    أي من اللبنات التالية تُستخدم لمقارنة قيمة مستشعر المسافة الأمامية بقيمة ثابتة (مثل 200) لاتخاذ قرار في البرنامج؟

    • أ) لبنة 'المسافة الأمامية' (FrontDistance) من فئة الاستشعار (Sensing).
    • ب) لبنة 'انعطف' (turn) من فئة نظام الدفع (Drivetrain).
    • ج) لبنة 'أكبر من' (Greater than) من فئة العمليات (Operators).
    • د) لبنة 'إذا' (if) من فئة التحكم (Control).

    الإجابة الصحيحة: c

    الإجابة: لبنة 'أكبر من' (Greater than) من فئة العمليات (Operators).

    الشرح: 1. تقوم لبنات الاستشعار (مثل 'المسافة الأمامية') بجمع البيانات. 2. تقوم لبنات العمليات (مثل 'أكبر من') بمقارنة هذه البيانات بقيم أخرى. 3. النتيجة: إرجاع قيمة منطقية (صحيح/خطأ) تستخدم في شرط لبنة 'إذا'.

    تلميح: تأتي هذه اللبنة من فئة العمليات وليس الاستشعار.

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

    في برنامج 'Follow the wall'، إذا كان الشرط هو '200 > المسافة الأمامية'، فأي حركة يجب أن ينفذها الروبوت عندما يكون هذا الشرط صحيحاً (في جزء 'لم')؟

    • أ) حركة 'تحرك للأمام' (drive forward).
    • ب) حركة 'انعطف لليسار' (turn left).
    • ج) حركة 'انعطف لليمين' (turn right).
    • د) يتوقف عن الحركة.

    الإجابة الصحيحة: b

    الإجابة: حركة 'انعطف لليسار' (turn left).

    الشرح: 1. الشرط '200 > المسافة الأمامية' يعني أن المسافة المقاسة أقل من 200. 2. عند تحقق هذا الشرط (المسافة < 200)، ينفذ الروبوت التعليمات في جزء 'لم' من لبنة 'إذا'. 3. وفقاً للبرنامج، توضع لبنة 'انعطف لليسار' داخل جزء 'لم'. 4. النتيجة: ينعطف الروبوت يساراً عندما تكون المسافة الأمامية أقل من 200.

    تلميح: انظر إلى التسلسل المنطقي للبرنامج والجزء الذي يوضع فيه الانعطاف يساراً.

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

    أين توضع لبنة الحركة التي يجب أن ينفذها الروبوت عندما لا يتحقق الشرط الرئيسي في برنامج 'Follow the wall'؟

    • أ) داخل الجزء 'لم' (then) من لبنة 'إذا ... لم ... آخر'.
    • ب) خارج لبنة 'إذا ... لم ... آخر' تماماً.
    • ج) داخل تعريف العنصر البرمجي الجديد ولكن قبل لبنة 'إذا'.
    • د) داخل الجزء 'آخر' (else) من لبنة 'إذا ... لم ... آخر'.

    الإجابة الصحيحة: d

    الإجابة: داخل الجزء 'آخر' (else) من لبنة 'إذا ... لم ... آخر'.

    الشرح: 1. هيكل 'إذا ... لم ... آخر' يتكون من جزأين للتنفيذ. 2. الجزء 'لم' (then) للتعليمات عند تحقق الشرط. 3. الجزء 'آخر' (else) للتعليمات البديلة عند عدم تحقق الشرط. 4. النتيجة: توضع لبنة 'انعطف لليمين' داخل جزء 'آخر' لتنفيذها كحركة بديلة.

    تلميح: هذا الجزء مخصص للتعليمات البديلة.

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