اتخاذ القرارات - المهارات الرقمية - سادس ابتدائي

356 الدرس الثاني: اتخاذ القرارات رابط الدرس الرقمي www.ien.edu.sa تتم برمجة الروبوتات لاتخاذ قرارات بشأن المشكلات المعقدة والعمل بشكل مستقل، فعلى سبيل المثال تتحرك السيارة ذاتية القيادة في المدينة، حيث توجد المباني والمركبات وعلامات الطرق والتقاطعات وإشارات المرور وغيرها دون أي تدخل بشري. تستعين السيارة بالمستشعرات لقراءة محيطها واتخاذ قرارات التحرك بأمان. برمجة الروبوت لاتخاذ القرارات حتى الآن تمت برمجة الروبوت لتنفيذ مجموعة من التعليمات وفق تسلسل محدَّد سابقًا من أجل أداء مهام محدّدة. الخطوة الآتية هي برمجة الروبوت ليعمل بشكل مستقل، وهذا يعني أن الروبوت سيتحقق من بيئته باستمرار من خلال المستشعرات، ويتخذ قرارات من تلقاء نفسه حول المهمة التي يجب تنفيذها بعد ذلك. لتحقيق عمل الروبوت بشكل مستقل، سيبرمج الروبوت للتنقل باستخدام لبنات فئة المستشعرات (Sensors)، وتحديدًا لبنتي مستشعر الألوان (Colour sensor) ومستشعر المسافة (Distance sensor) ستمكّن هاتان اللبنتان الروبوت من اكتشاف معالم البيئة المختلفة كالألوان والمسافات والتجاوب معها، والتي سيستخدمها الروبوت لتحديد الإجراء الذي يجب اتخاذه بعد ذلك. برمجة الروبوت للحركة بشكل مستقل برمج الروبوت للقيادة بشكل مستقل في مشهد خريطة الطريق على وجه التحديد برمج الروبوت من أجل: > التحرك للأمام. > الانعطاف 90 درجة إلى اليمين إذا اكتشف مستشعر الألوان اللون الأبيض. التوقف لمدة 1000 مللي ثانية إذا اكتشف مستشعر الألوان اللون الأحمر. > الدوران 180 درجة إلى اليمين إذا اكتشف مستشعر الموجات فوق الصوتية عائقًا على مسافة 20 سنتيمتر أو أقل. > تشغيل الضوء الأخضر إذا اكتشف مستشعر الألوان اللون الرمادي، وفيما عدا ذلك يكون هناك وميض للضوء الأحمر. وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: اتخاذ القرارات

اتخاذ القرارات

برمجة الروبوت لاتخاذ القرارات

برمجة الروبوت للحركة بشكل مستقل

استخدام لبنة تكرار غير محدود repeat indefinitely) ستستخدم لبنة تكرار غير محدود repeat indefinitely من فئة التحكم (Control) لبرمجة الروبوت للتحقق بشكل متكرر من معالم خريطة الطريق. لبنة تكرار غير محدود repeat indefinitely) يتم في هذا التكرار تنفيذ جميع اللبنات البرمجية الموجودة داخل لبنة تكرار غير محدود ، أي طوال عمل المقطع البرمجي. اللبنات البرمجية. repeat indefriety 01 102 Action Sensors يمكنك العثور على لبنة repeat indefinitely تکرار غير محدود في فئة Control (التحكم). استخدام لبنة إذا.. نفذ (if do) برمج الروبوت لاكتشاف الألوان Contral Logic Math Text ستبرمج الروبوت لاكتشاف لون ما ، وإذا وجده سينفّذ جزءًا معيَّنا من مقطع برمجي باستخدام لبنة إذا.. نفّذ (if do) من فئة التحكم (Control). لبنة إذا.. نفّذ (if do) تتكون كل لبنة من لبنات إذا .. نفّذ (if do) من تعبير يتعلق بموقف معين، وجزء من مقطع برمجي. يُطلق على هذا التعبير اسم الشرط (condition)، لأنه إذا كان صحيحًا فإنه يُشغل المقطع البرمجي الذي تتضمنه اللبنة. المقطع البرمجي. يُمكنك العثور على لبنة if do (إذا.. نفّذ) في فئة Control (التحكم). da 01 ✿2 Action Sensors Control Logic Math Text وزارة ال 355 Ministry of Education 2024-1446

الدرس الثاني: اتخاذ القرارات

استخدام لبنة تكرار غير محدود (repeat indefinitely) ستستخدم لبنة تكرار غير محدود repeat indefinitely) من فئة التحكم (Control) لبرمجة الروبوت للتحقق بشكل متكرر من معالم خريطة الطريق.

استخدام لبنة إذا.. نفذ (if do) برمج الروبوت لاكتشاف الألوان

لإنشاء لبنة إذا.. نفّذ (if do) ستستخدم أيضًا أول لبنة من فئة المنطق (Logic) . هذا معامل مقارنة (Comparison operator) يُستخدم لمقارنة مُدخلين من نفس النوع مثل الأرقام والألوان وغيرها، فإذا كان الشرط صحيحًا فإن معامل المقارنة سيعطي الجواب صواب True) ، وإذا كان الشرط خطأ فإن معامل المقارنة سيعطي الجواب خطأ (False). وزارة التعليم Ministry of Education 2024-1446 01 22 Action Sensors مدخل 2. مدخل 1. Control true Logic Math Text Colours Variables # V VA IV and - فئة المنطق (Logic) (Comparison operator) معامل مقارنة. يمكنك أن تجد معاملات المقارنة والعوامل المنطقية في فئة Logic (المنطق). فئة Logic (المنطق). ستة اختيارات مختلفة للمقارنة بين المدخلات. 358

الدرس الثاني: اتخاذ القرارات

لإنشاء لبنة إذا.. نفذ (if do) ستستخدم أيضا أول لبنة من فئة المنطق (Logic).

ستحتاج إلى استخدام لبنة من فئة الألوان (Colours) كمدخل 2 لإنشاء الشرط المطلوب. فئة الألوان (Colours) هي لوحة تتكوّن من ثماني لبنات برمجية خاصة بمنتقي الألوان colour picker)، يُمكن مقارنتها بالألوان التي يكتشفها مستشعر الألوان. فئة الألوان (Colours) لبنة Grey colour picker (منتقي اللون الرمادي). فئة Colours (الألوان). لبنات Colour picker (منتقي الألوان). 2 Action Sensors Control Logic Math Text Colours Variables تحتوي فئة الألوان (Colours على الألوان الآتية: الرمادي والأسود والأزرق والأخضر والأصفر والأحمر، والأبيض والبني. وزارة التعو35 Ministry of Education 2024-1446

الدرس الثاني: اتخاذ القرارات

ستحتاج إلى استخدام لبنة من فئة الألوان (Colours) كمدخل 2 لإنشاء الشرط المطلوب.

برمج الروبوت للتحرك إلى الأمام مع تكرار التحقق من وجود اللون الأبيض باستخدام مستشعر الألوان (Colour sensor)، ثم الانعطاف بمقدار 90 درجة إلى اليمين عند اكتشاف اللون الأبيض. للتحرك والتحقق من وجود اللون الأبيض بشكل متكرر > من فئة Control (التحكم)، أضف لبنة repeat indefinitely تكرار غير محدود 1 من فئة Action الحدث، أضف لبنة drive (القيادة داخل لبنة repeat indefinitely تكرار غير محدود). 2 > من فئة Control (التحكم)، أضف لبنة if do) (إذا .. نفّذ). © > من فئة Logic (المنطق)، أضف لبنة comparison (المقارنة) 0 > من فئة Sensors المستشعرات)، أضف لبنة colour colour sensor لون) مستشعر الألوان). من فئة Colours (الألوان)، أضف لبنة white colour picker منتقي اللون الأبيض). © > > من فئة Action الحدث، أضف لبنة turn (الانعطاف، داخل لبنة if do) (إذا .. نفّذ) واضبط % speed (نسبة السرعة إلى 10 و degree الدرجات) إلى 90 9 استخدم السرعة المنفذ الافتراضي + start repeat indefinitely show sensor data لمستشعر الألوان. الافتراضية للروبوت. 2 1 do drive forwards spad 30 5 6 4 get colour colour sensor Port 3 3 do tum right spood % 10 8 7 degree 90 9 وزارة التعليم Ministry of Education 2024-1446 P استخدم علامة يساوي، وهي الإعداد الافتراضي للبنة المقارنة. 2 360

الدرس الثاني: اتخاذ القرارات

للتحرك والتحقق من وجود اللون الأبيض بشكل متكرر

بعد ذلك برمج الروبوت أثناء حركته إلى الأمام لتكرار الفحص باستخدام مستشعر الألوان (Colour sensor) من أجل اكتشاف اللون الأحمر، وعند اكتشافه برمج الروبوت للتوقف والانتظار 1000 مللي ثانية. للتحقق من وجود اللون الأحمر > من فئة Control (التحكم)، أضف لبنة if do) (إذا.. نفّذ) داخل لبنة repeat indefinitely تكرار غير محدود). ( من فئة Logic (المنطق)، أضف لبنة comparison (المقارنة). > من فئة Sensors المستشعرات)، أضف لبنة colour colour sensor لون مستشعر الألوان 6 > من فئة Colours (الألوان)، أضف لبنة red colour picker (منتقي اللون الأحمر). > من فئة Action الحدث، أضف لبنة stop (توقف) داخل لبنة if do (إذا.. نفّذ). 6 > من فئة Control (التحكم) ، أضف لبنة انتظر مللي ثانية wait ms ثم اضبط المدة الزمنية إلى 1000 مللي ثانية. start show sensor data repeat indefinitely do drive forwards +1 speed % 30 get colour colour sensor Port 3 do turn right spood% degree 10 90 96 3 4 2 get colour colour sensor Port 3 1 do stop 5 وزارة التعر36 Ministry of Education 2024-1446 6 wait ms 1000 7 استخدم علامة المنفذ الافتراضي يساوي، وهي لمستشعر الألوان. الإعداد الافتراضي للبنة المقارنة.

الدرس الثاني: اتخاذ القرارات

للتحقق من وجود اللون الأحمر

362 برمج الروبوت لاكتشاف المسافة بعد ذلك أضف لبنة إذا .. نفّذ (if do أخرى لجعل الروبوت ينعطف 180 درجة إلى اليمين إذا اكتشف مستشعر الموجات فوق الصوتية (Ultrasonic sensor) عائقًا على مسافة 10 سنتيمتر أو أقل. أضف لبنة إذا .. نفّذ (if do) داخل لبنة تكرار غير محدود repeat indefinitely حتى يتحقق الروبوت من المسافة بصورة مكررة. استخدم لبنة الرقم number) التي ستجدها في فئة حساب (Math) لإجراء مقارنة بين المسافة الحالية التي يكتشفها مستشعر المسافة أثناء حركة الروبوت ومسافة 10 سنتيمتر. ستحتفظ لبنة الرقم (number) بقيمة الرقم 10 . فئة حساب (Math) تحتوي هذه الفئة على لبنة الرقم (number)، والتي ستستخدمها لإنشاء لبنات برمجية ذات قيمة رقمية. لبنة number (الرقم). فئة Math (حساب). 01 Action 2 0 Sensors Control Logic Math Text Colours Variables وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: اتخاذ القرارات

برمج الروبوت لاكتشاف المسافة بعد ذلك أضف لبنة إذا.. نفّذ (if do) أخرى لجعل الروبوت ينعطف 180 درجة إلى اليمين إذا اكتشف مستشعر الموجات فوق الصوتية (Ultrasonic sensor) عائقًا على مسافة 10 سنتيم

Mh Sensors Cortic Logic Math 0 start + show sensor data للتحقق من المسافة بصورة مستمرة: > من فئة Control (التحكم) ، أضف لبنة if do (إذا.. نفّذ) داخل لبنة repeat indefinitely تکرار غير محدود) 0 من فئة Logic (المنطق)، أضف لبنة comparison (المقارنة) 2 فئة Sensors المستشعرات)، أضف Ultrasonic sensor > من (مستشعر الموجات فوق الصوتية). > اضبط comparison (المقارنة) إلى 4 > من فئة Math حساب)، أضف لبنة number (الرقم) واضبط الرقم إلى 10 6 > من فئة Action الحدث)، أضف لبنة turn (الانعطاف واضبط degree الدرجة إلى .180 0 repeat indefinitely do dive forwards spood % 30 get colour colour sensor Port 3 8 turn right speed % 10 dogrue 90 get colour colour sensor Port 3 do stop wat ma 1000 المنفذ الافتراضي لـ distance cm ultrasonic sensor (مستشعر الموجات فوق الصوتية والمسافة بالسنتيمتر). 3 get distance cm ultrasonic sensor Port S 10 2 1 do I am right speed % 4 30 5 6 degree 180 7 السرعة الافتراضية. وزارة التع363 Ministry of Education 2024-1446

الدرس الثاني: اتخاذ القرارات

للتحقق من المسافة بصورة مستمرة

برمجة الروبوت لاستخدام الأضواء الخاصة به في الختام، أضف جزءًا من المقطع البرمجي إلى لبنة تكرار غير محدود repeat indefinitely) ، والتي ستجعل الروبوت يومض بالضوء الأخضر أو الأحمر أثناء حركته. برمج الروبوت لكي يومض بالضوء الأخضر إذا تحرك على الطريق واكتشف مستشعر الألوان الخاص به لونا رماديًا ليكون ذلك دلالة على وجوده في المسار الصحيح، وفيما عدا ذلك برمج الروبوت ليومض بالضوء الأحمر أو الأبيض. سيومض الروبوت بالضوء الأبيض عند خروجه عن الطريق، كما سيومض بالضوء الأحمر عندما يمر على الخطوط الحمراء في تقاطع الطرق. استخدام لبنة إذا.. نفّذ.. أخرى (if do else) استخدم لبنة إذا .. نفّذ .. أخرى i do else من فئة التحكم (Control) لبرمجة الروبوت لتنفيذ إجراء معين في حالة اكتشاف مستشعر الألوان اللون الرمادي، وبرمجته لتنفيذ إجراء آخر إذا لم يكتشف مستشعر الألوان اللون الرمادي. عليك إضافة لبنة إذا .. نفّذ . . أخرى (if do else) داخل لبنة تكرار غير محدود repeat indefinitely ثم إنشاء تعبير هذه اللبنة، كما يُطلق على هذا التعبير أيضًا اسم شرط (condition) مما يعني أنه وفقًا للشرط يتم تنفيذ الجزء المحدد من المقطع البرمجي. تتكون كل لبنة إذا.. نفّذ .. أخرى i do else من تعبير متعلق بحالة معينة، وتتضمن أيضًا جزأين من المقطع البرمجي، أحدهما يتم تضمينه في جزء نفّذ (do) من اللبنة، والآخر يتم تضمينه في جزء أخرى (else) من اللبنة. 01 42 Action Sensors Control Logic Math repeat indefinitely Text do Colours Variables وزارة التعليم Ministry of Education 2024-1446 10 mee يمكنك العثور على لبنة if do else (إذا.. نفّذ.. أخرى) في فئة Control (التحكم). 生 condition (الشرط). يتم تشغيل المقطع البرمجي do (نفّذ) إذا كان الشرط صحيحًا. يتم تشغيل المقطع البرمجي else (أخرى) إذا كان الشرط خطأ. 364

الدرس الثاني: اتخاذ القرارات

برمجة الروبوت لاستخدام الأضواء الخاصة به

استخدام لبنة إذا.. نفّذ.. أخرى (if do else)

لاختيار الأضواء > من فئة Control التحكم)، أضف لبنة if do else إذا.. نفّذ.. أخرى داخل لبنة repeat indefinitely تکرار غير محدود). 0 فئة Logic (المنطق) ، أضف لبنة comparison (المقارنة). © > من من فئة Sensors المستشعرات)، أضف لبنة colour sensor > (مستشعر الألوان. من فئة Colours (الألوان أضف لبنة grey colour picker (منتقي اللون الرمادي 0 لا يؤثر وضع اللبنات البرمجية داخل لبنة تكرار غير محدود (repeat indefinitely) على تسلسل تشغيل اللبنات. لذلك، يمكنك وضع لبنة إذا.. نفّذ.. أخرى (if do else) قبل لبنات إذا .. نفّذ (if do) على سبيل المثال. start show sensor data repest indefinitely استخدم السرعة استخدم علامة يساوي، وهي الافتراضية للروبوت. الإعداد الافتراضي للبنة المقارنة. 00 dre forwards sp3 30 2 get colour colour sensor Port 3 1 4 وزارة التع365 Ministry of Education 2024-1446 get colour colour sensor Port 3 thi tum right speed 10 dagrou 90 get colour colour sensor Port 3 stub I wait ms mams 1000 get distance cm ultrasonic sensor Port 20 do tum right speed % degree 30 180

الدرس الثاني: اتخاذ القرارات

لاختيار الأضواء من فئة Control (التحكم)، أضف لبنة if do else إذا.. نفذ... أخرى داخل لبنة repeat indefinitely (تكرار غير محدود).

Actum I play frequency Hz 300 Sensors duration ins 100 Commo Logic play whole pay whole c Math set volume 50 Text Colours "Hallo " Variables ooksur green on green green orange red ou green on on flashing double flashing brick light off ستستخدم اللبنة التي تضبط تشغيل ضوء روبوت المحاكاة. لبنة اللون (colour) تشغل لبنة اللون (colour) من فئة الحدث (Action) ضوء روبوت المحاكاة. يمكنك العثور على لبنة colour (اللون) من فئة Action (الحدث). تحتوي هذه اللبنة على قائمتين منسدلتين من القائمة المنسدلة الأولى يمكنك تحديد لون الضوء ليكون أخضرًا أو برتقاليًا أو أحمرًا. من القائمة المنسدلة الثانية يمكنك تحديد وضع تشغيل الإضاءة لتكون ثابتة أو متغيّرة أو متغيّرة بسرعة. علاوة على ذلك، إذا فتحت عرض الروبوت (Robots View من خلال الضغط على زر سترى نفس الضوء في خلفية أزرار وحدة تحكم EV3. ضوء روبوت المحاكاة. الضوء في خلفية أزرار وحدة تحكم EV3. وزارة التعليم Ministry of Education 2024-1446 366

الدرس الثاني: اتخاذ القرارات

لبنة اللون (colour) تشغل لبنة اللون (colour) من فئة الحدث (Action) ضوء روبوت المحاكاة.

برمج الروبوت ليومض الضوء الأخضر عندما يتحرك على طريق باللون الرمادي، ويومض الضوء الأحمر في أي موضع آخر، أي عندما يكتشف مستشعر الألوان اللون الأبيض أو الأحمر. لبرمجة الأضواء: من فئة Action (الحدث، أضف لبنة colour (اللون) في جزء do (نفّذ من لبنة if do else) إذا .. نفّذ .. أخرى بالإعدادات الافتراضية 1 > من فئة Action (الحدث، أضف لبنة colour (اللون) في جزء else أخرى من لبنة if do else إذا.. نفّذ.. أخرى)، وحدّد اللون إلى red الأحمر ) . ووضع التشغيل إلى flashing (وميض). @ 3 + start show sensor data repeat indefinitely du drive forwards speed % 30 get colour وزارة التعر36 Ministry of Education 2024-1446 do 1 ou green 2 on 3 colour red flashing 4 colour sensor Port 3 يضبط الضوء إلى اللون green (الأخضر) ووضع التشغيل on (تشغيل). يضبط الضوء إلى اللون red الأحمر) ووضع التشغيل flashing الوميض). get colour colour sensor Port 3 do un right speed % 10 degree 90 get colour colour sensor Port 3 do stop 1000 get distance cm ultrasonic sensor Port tum right speed % 30 degree 180 S 20

الدرس الثاني: اتخاذ القرارات

لبرمجة الأضواء: من فئة Action (الحدث)، أضف لبنة colour (اللون) في جزء do (نفّذ من لبنة if do else إذا .. نفّذ... أخرى) بالإعدادات الافتراضية.

وميض الضوء الأحمر. الضوء الأخضر قيد التشغيل. CK حالات else (أخرى). لتنفيذ البرنامج ضع الروبوت عند النقطة A من خريطة الطريق، ثم اضغط على زر بدء (Start)، ولإيقاف تشغيل البرنامج اضغط على نفس الزر. لتشغيل البرنامج أكثر من مرة، اضغط أولًا على زر إعادة الضبط ،(reset ) ، والذي يضع الروبوت عند النقطة A مرة أخرى، ثم اضغط على زر بدء حالات do (نقد). AC DEV Start/Stop Reset إعادة الضبط (بدء / توقف. يتيح هذا البرنامج للروبوت اتخاذ قرارات بشأن مشكلة معقدة تتعلق بوجود أكثر من مشكلة في خريطة الطريق كانعطاف الطريق بمقدار 90 درجة، ووجود خطوط حمراء ووجود عائق مما يمكن الروبوت من الحركة في خرائط طرق متعددة توجد بها عوائق ومعالم أخرى.. وزارة التعليم Ministry of Education 2024-1446 .(Start) 368

الدرس الثاني: اتخاذ القرارات

لتنفيذ البرنامج ضع الروبوت عند النقطة A من خريطة الطريق، ثم اضغط على زر بدء (Start) ولإيقاف تشغيل البرنامج اضغط على نفس الزر.

لنطبق معًا تدريب 1 وظائف اللبنات صل اللبنات بوظائفها الصحيحة. repeat indefinitely 1 do 2 团 do 3 تتحقق من صحة التعبير وتشغل جزءًا من المقطع البرمجي للتحقق من صحته. يتم تنفيذ المقطع البرمجي داخل هذا التكرار طوال مدة عمل المقطع البرمجي. يوقف تنفيذ المقطع البرمجي مؤقتًا حتى يصبح الشرط صحيحًا. تتحقق من صحة التعبير، فإذا كان صحيحًا يتم تشغيل جزء المقطع البرمجي الموجود في جزء نفّذ (do) من اللبنة بخلاف ذلك يتم تشغيل المقطع البرمجي في جزء أخرى (else) من اللبنة. وزارة التعو36 Ministry of Education 2024-1446

الدرس الثاني: اتخاذ القرارات

صل اللبنات بوظائفها الصحيحة. تتحقق من صحة التعبير وتشغل جزءًا من المقطع البرمجي للتحقق من صحته.

تدريب 2 برمجة الروبوت لاستشعار المسافة أنشئ مقطعًا برمجيًا يجعل الروبوت يتحرك إلى الأمام في الخريطة المجاورة، باستخدام مستشعر المسافة .(Distance sensor) على وجه التحديد، إذا كانت المسافة من العائق تساوي أو أقل من 25 سنتيمترًا سينفّذ الروبوت الآتي: التوقف لمدة 1000 مللي ثانية. الانعطاف بمقدار 180 درجة. لتشغيل المقطع البرمجي، ضع الروبوت في اتجاه العائق. تدريب 3 برمجة الروبوت لاستشعار الألوان أنشئ مقطعًا برمجيًا يجعل الروبوت يومض بالضوء الأخضر ويبقيه نشطا حال اكتشف مستشعر الألوان (Colour sensor) اللون الأخضر في مشهد المحاكاة ، ويومض بالضوء البرتقالي في جميع الحالات الأخرى. وزارة التعليم Ministry of Education 2024-1446 A يبدأ الروبوت حركته إلى الأمام من النقطة A. 370

الدرس الثاني: اتخاذ القرارات

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

أنشئ مقطعًا برمجيا يجعل الروبوت يتحرك إلى الأمام في الخريطة المجاورة، باستخدام مستشعر المسافة .(Distance sensor)