مثال 3 - كتاب المهارات الرقمية - الصف 9 - الفصل 1 - المملكة العربية السعودية

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

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

الدرس: مثال 3

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

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

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

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

📝 ملخص الصفحة

📚 تجنب العائق بمقارنة المسافات

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

Distance_to_left: متغير يخزن المسافة عندما ينعطف الروبوت إلى اليسار.

Distance_to_right: متغير يخزن المسافة عندما ينعطف الروبوت إلى اليمين.

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

```markmap

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

لبنات التحكم (Control Blocks)

لبنة إلى الأبد (Forever)

  • تكرار اللبنات الموجودة بداخلها إلى الأبد

لبنة إذا ثم آخر (If-Then-Else)

  • تنفيذ أمر بناءً على شرط
#### مثال تطبيقي: التوقف قبل الاصطدام

  • الشرط: إذا (المسافة الأمامية < 50 مم)
  • الإجراء: أوقف القيادة
  • البديل (آخر): تحرك إلى الأمام
  • النتيجة: يتوقف الروبوت لتجنب الاصطدام عندما تقل المسافة عن 50 مم
#### مثال تطبيقي: تناسب السرعة مع المسافة

  • الشرط: إذا (المسافة الأمامية < 6 مم)
  • الإجراء: أوقف القيادة
  • البديل (آخر): تحرك للأمام بسرعة 50%
  • النتيجة: يبطئ الروبوت لتجنب الاصطدام عندما تقل المسافة عن 6 مم
#### مثال تطبيقي: تجنب عائق متبوع بقرار الانعطاف

  • الخطوات:
1. ينعطف الروبوت 90 درجة لليسار ويقيس المسافة (يخزنها في `Distance_to_left`).

2. ينعطف 180 درجة لليمين ويقيس المسافة (يخزنها في `Distance_to_right`).

3. يقارن بين قيمتي المسافة (`Distance_to_left` و `Distance_to_right`).

4. يقرر الانعطاف في الاتجاه الذي تكون فيه المسافة أكبر (أطول مسافة خالية).

  • عناصر برمجة جديدة: المتغيرات، نظام الدفع، مغناطيس، العرض، الأحداث، التحكم، الاستشعار، العمليات.

العلاقة بين السرعة والكبح

  • كلما زادت سرعة الروبوت، تأخر في التوقف

بيانات المحاكاة (Simulation View)

  • مثال: المسافة: 21 مم
  • موقع الروبوت: X: 0 مم، Y: -270 مم
  • حالة المستشعرات:
- العين الأمامية: Object: True

- العين السفلية: Object: False

- مستشعر الاصطدام: Left: False, Right: False

  • مثال آخر: المسافة: 45 مم
  • موقع الروبوت: X: 0 مم، Y: -294 مم
  • حالة المستشعرات:
- العين الأمامية: Object: True

- العين السفلية: Object: False

- مستشعر الاصطدام: Left: False, Right: False

```

نقاط مهمة

  • يوضح مثال 3 خوارزمية جديدة لتجنب العوائق تعتمد على مقارنة المسافات إلى اليسار واليمين.
  • يتم تخزين قياسات المسافة في متغيرين منفصلين: `Distance_to_left` و `Distance_to_right`.
  • القرار النهائي للروبوت هو الانعطاف نحو الاتجاه ذي المسافة الأطول الخالية.

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

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

مثال 3

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

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

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

قيمة Distance_to_left يخزن متغير المسافة عندما ينعطف الروبوت إلى اليسار.

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

قيمة Distance_to_right يخزن متغیر المسافة عندما ينعطف الروبوت إلى اليمين.

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

المتغيرات

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

نظام الدفع

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

مغناطيس

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

العرض

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

أحداث

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

تحكم

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

الاستشعار

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

العمليات

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

المتغيرات

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

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

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

تتم مقارنة قيمتي المسافة، وينعطف الروبوت باتجاه المسافة الأطول الخالية.

🔍 عناصر مرئية

A diagram showing the code blocks used to program the robot to turn left or right. The code blocks include variables, events, control, sensing, operators, and more.

A diagram showing a robot turning. The robot is in the center of a semi-circle. The semi-circle is divided into two 90 degree sections and one 180 degree section. The robot is turning to the left.

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

--- SECTION: مثال 3 --- تجنب عائق متبوع بقرار الانعطاف لتشاهد مثالاً ينعطف فيه روبوت الواقع الافتراضي في ملعب شبكة خريطة إلى اليسار بمقدار 90 درجة ليقيس المسافة من العائق، ثم يعود لينعطف 180 درجة إلى اليمين لقياس المسافة من العائق، وبعد ذلك يقارن بين المسافتين ويقرر أن ينعطف في الاتجاه الذي تكون فيه المسافة أكبر ويتحرك في هذا الاتجاه. قيمة Distance_to_left يخزن متغير المسافة عندما ينعطف الروبوت إلى اليسار. قيمة Distance_to_right يخزن متغیر المسافة عندما ينعطف الروبوت إلى اليمين. المتغيرات نظام الدفع مغناطيس العرض أحداث تحكم الاستشعار العمليات المتغيرات عناصر برمجة جديدة تتم مقارنة قيمتي المسافة، وينعطف الروبوت باتجاه المسافة الأطول الخالية. --- VISUAL CONTEXT --- **DIAGRAM**: Untitled Description: A diagram showing the code blocks used to program the robot to turn left or right. The code blocks include variables, events, control, sensing, operators, and more. Table Structure: Headers: N/A Context: Illustrates the code used to program the robot to turn left or right. **DIAGRAM**: Untitled Description: A diagram showing a robot turning. The robot is in the center of a semi-circle. The semi-circle is divided into two 90 degree sections and one 180 degree section. The robot is turning to the left. Table Structure: Headers: N/A Context: Illustrates the robot turning to the left or right.

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

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

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

الإجابة: المتغيرات: Distance_to_left, Distance_to_right. تعريف Turn 90 left or right: العطف اليسار 90 درجة، مجموعة Distance_to_left إلى المسافة الأمامية في mm، العطف يمين 180 درجة، مجموعة Distance_to_right إلى المسافة الأمامية في mm، إذا Distance_to_left > Distance_to_right: العطف اليسار 180 درجة، وإلا: العطف يمين 0 درجة، تحرك إلى الأمام.

خطوات الحل:

  1. | المعطيات | الوصف | |----------|--------| | **السيناريو** | روبوت يقيس المسافة من عائق في اتجاهين مختلفين ثم يختار الاتجاه ذي المسافة الأكبر للتحرك فيه. | | **الإجراءات المطلوبة** | 1. قياس المسافة بعد انعطاف 90° لليسار. 2. قياس المسافة بعد انعطاف 180° لليمين. 3. مقارنة المسافتين. 4. الانعطاف في الاتجاه ذي المسافة الأكبر. 5. التحرك للأمام. | | **المطلوب** | كتابة كتل برمجة لتنفيذ هذا السلوك. |
  2. **المبدأ المستخدم:** البرمجة باستخدام **المتغيرات** و **التعليمات الشرطية** لاتخاذ القرار بناءً على مقارنة قيمتين.
  3. 1. **تحديد المتغيرات اللازمة:** - `Distance_to_left`: لتخزين المسافة المقاسة بعد الانعطاف لليسار. - `Distance_to_right`: لتخزين المسافة المقاسة بعد الانعطاف لليمين.
  4. 2. **كتابة خطوات البرمجة التفصيلية:** - **الخطوة 1:** انعطاف الروبوت **90 درجة لليسار**. - **الخطوة 2:** قياس المسافة الأمامية من العائق (بوحدة **mm**) وتخزينها في المتغير `Distance_to_left`. - **الخطوة 3:** انعطاف الروبوت **180 درجة لليمين** (للعودة للاتجاه الأصلي ثم القياس في الاتجاه المعاكس). - **الخطوة 4:** قياس المسافة الأمامية من العائق (بوحدة **mm**) وتخزينها في المتغير `Distance_to_right`. - **الخطوة 5:** استخدام **تعليمة شرطية** للمقارنة: - **إذا** `Distance_to_left > Distance_to_right`: - انعطاف **180 درجة لليسار** (للتوجه نحو الاتجاه ذي المسافة الأكبر، وهو اليسار). - **وإلا** (أي إذا كانت `Distance_to_right` أكبر أو تساوي): - انعطاف **0 درجة** (أي البقاء في الاتجاه الحالي، الذي هو اليمين بعد الخطوة 3، أو يمكن تفسيره كـ "انعطاف يمين 0 درجة" للدلالة على عدم التغيير). - **الخطوة 6:** التحرك **إلى الأمام** في الاتجاه المختار.
  5. > **ملاحظة مهمة:** الانعطاف 180 درجة لليمين في الخطوة 3 يعيد الروبوت فعلياً إلى اتجاهه الأصلي ثم يجعله يقيس في الاتجاه المعاكس (اليمين) مقارنة بالقياس الأول. القرار النهائي (الخطوة 5) يضمن أن الروبوت ينعطف ليتوجه نحو الجانب ذي المسافة الأكبر من العائق.
  6. **الحل البرمجي النهائي:** بعد تنفيذ الخطوات السابقة، سيتحرك الروبوت في الاتجاه الذي يوفر مسافة أكبر من العائق، مما يضمن تجنبه بشكل فعال.

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

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

في مثال برمجة روبوت لتجنب عائق، ما الهدف من استخدام المتغيرين Distance_to_left و Distance_to_right؟

  • أ) لحساب متوسط المسافة بين الروبوت والعائق من الجهتين.
  • ب) لتخزين قيم المسافة المقاسة بعد انعطاف الروبوت إلى اليسار وإلى اليمين، تمهيداً لمقارنتها.
  • ج) لإظهار المسافة الحالية للروبوت على الشاشة فقط.
  • د) لحفظ زوايا الانعطاف التي قام بها الروبوت.

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

الإجابة: لتخزين قيم المسافة المقاسة بعد انعطاف الروبوت إلى اليسار وإلى اليمين، تمهيداً لمقارنتها.

الشرح: 1. الروبوت يقيس المسافة من عائق في اتجاهين مختلفين (يسار ويمين). 2. يحتاج إلى حفظ هاتين القيمتين لاستخدامهما لاحقاً. 3. المتغيرات هي أماكن في الذاكرة لتخزين البيانات مثل قياسات المسافة. 4. بعد التخزين، تتم مقارنة القيمتين لاتخاذ قرار الانعطاف نحو الاتجاه الأكثر أماناً (المسافة الأكبر).

تلميح: فكر في الغاية من قياس المسافة في اتجاهين مختلفين قبل اتخاذ قرار التحرك.

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

ما الخطوة البرمجية التي يتخذها الروبوت بعد مقارنة قيمتي Distance_to_left و Distance_to_right؟

  • أ) يتوقف عن الحركة وينتظر تعليمات جديدة.
  • ب) يعود إلى نقطة البداية ويعيد المحاولة.
  • ج) ينعطف باتجاه المسافة الأطول (الخالية من العوائق) ثم يتحرك للأمام.
  • د) يغير سرعته بناءً على مجموع المسافتين.

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

الإجابة: ينعطف باتجاه المسافة الأطول (الخالية من العوائق) ثم يتحرك للأمام.

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

تلميح: الهدف النهائي هو تجنب الاصطدام والتحرك في مسار آمن.

التصنيف: صيغة/خطوات | المستوى: متوسط

في السيناريو الموصوف، ما التسلسل الصحيح لإجراءات الروبوت لتجنب عائق؟

  • أ) قياس المسافة للأمام → انعطاف عشوائي → التحرك.
  • ب) انعطاف 90° يمين → قياس → انعطاف 90° يسار → قياس → مقارنة → تحرك.
  • ج) انعطاف 90° يسار → قياس المسافة وتخزينها → انعطاف 180° يمين → قياس المسافة وتخزينها → مقارنة المسافتين → الانعطاف نحو الأكبر → التحرك للأمام.
  • د) التحرك للأمام حتى اكتشاف عائق → الانعطاف 90° يمين تلقائياً.

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

الإجابة: انعطاف 90° يسار → قياس المسافة وتخزينها → انعطاف 180° يمين → قياس المسافة وتخزينها → مقارنة المسافتين → الانعطاف نحو الأكبر → التحرك للأمام.

الشرح: 1. الانعطاف 90 درجة لليسار وقياس المسافة (تخزين في Distance_to_left). 2. الانعطاف 180 درجة لليمين (يعود للاتجاه الأصلي ثم للاتجاه المعاكس) وقياس المسافة (تخزين في Distance_to_right). 3. مقارنة قيمتي المسافة باستخدام شرط. 4. الانعطاف (180 درجة لليسار أو 0 درجة لليمين) نحو الاتجاه ذي المسافة الأكبر. 5. التحرك للأمام.

تلميح: يبدأ الروبوت بفحص جانب واحد، ثم يعود لفحص الجانب الآخر قبل المقارنة والتحرك.

التصنيف: صيغة/خطوات | المستوى: صعب