سؤال تدريب 2: برمج روبوت الواقع الافتراضي للتحرك إلى الأمام في ملعب القرص المتاهة (Disk Maze) حتى يستشعر مستشعر العين الأمامية كائناً أخضر، بعدها يتوقف وينتظر لمدة ثانيتين، ثم يتحرك إلى الخلف لمسافة 200 مليمتر.
الإجابة: س 2: كرر التحرك للأمام حتى يستشعر مستشعر العين الأمامية كائناً أخضر. ثم يتوقف الروبوت. ثم ينتظر 2 ثانية. ثم يتحرك إلى الخلف لمسافة 200 مم.
خطوات الحل:
- **الخطوة 1: جدول المعطيات والمطلوب** | العنصر | الوصف | |--------|-------| | **المهمة** | برمجة روبوت الواقع الافتراضي لتنفيذ سلسلة من الإجراءات. | | **الشرط** | استشعار مستشعر العين الأمامية لكائن أخضر. | | **الإجراءات المطلوبة** | 1. التحرك للأمام حتى الشرط. 2. التوقف. 3. الانتظار 2 ثانية. 4. التحرك للخلف 200 مم. |
- **الخطوة 2: المبدأ المستخدم** بناء خوارزمية تسلسلية باستخدام **حلقات التحكم الشرطية** (`while` أو `until`) و**أوامر الحركة والانتظار**.
- **الخطوة 3: تحليل المهمة وتسلسلها** 1. **الجزء الأول: الحركة الشرطية للأمام** * يجب أن يستمر الروبوت في التحرك للأمام **طالما لم** يتم استشعار الكائن الأخضر. يمكن تنفيذ هذا باستخدام حلقة مثل `repeat until` (كرر حتى) يكون شرطها هو استشعار اللون الأخضر. 2. **الجزء الثاني: التوقف والانتظار** * بمجرد تحقق الشرط (استشعار الأخضر)، تخرج الروبوت من الحلقة ويتوقف فوراً. * بعد التوقف، ينتقل البرنامج إلى أمر الانتظار لمدة `2` ثانية. 3. **الجزء الثالث: الحركة العكسية** * بعد انتهاء مدة الانتظار، يتحرك الروبوت إلى الخلف لمسافة محددة هي `200` مليمتر.
- **الخطوة 4: صياغة الحل البرمجي (مفاهيمي)** كرر حتى (مستشعر العين الأمامية == أخضر) { تحرك للأمام } توقف انتظر (2 ثانية) تحرك للخلف (200 مم) > **ملاحظة:** الرموز (`==`) والأقواس `{}` هي لأغراض التوضيح المفاهيمي وقد تختلف قليلاً حسب بيئة البرمجة المستخدمة (مثل mBlock أو Scratch).
- **الخطوة 5: الإجابة النهائية** يتم برمجة الروبوت لتنفيذ الأوامر بالتسلسل التالي: **الاستمرار في الحركة للأمام حتى يكشف المستشعر عن لون أخضر، وعندها يتوقف فوراً، يليه انتظار لمدة ثانيتين كاملتين، ثم يتراجع للخلف مسافة مائتي مليمتر.**