مجموعة أدوات المعلم
- الغرض من هذا النشاط
سيعرف هذا النشاط الطلاب على استخدام عبارات while و if لجعل الروبوت يتحرك للأمام ما لم يتم الضغط على الشاشة.
- سيعرف هذا النشاط الطلاب على الشروط والتعليمات التي تجعل الروبوت يتقدم للأمام ما لم يتم الضغط على الشاشة.
- لمزيد من المعلومات حول عبارات if و if - else أو غيرها من العبارات المستخدمة في هذا النشاط، يرجى زيارة معلومات المساعدة داخل VEXcode V5. لمزيد من المعلومات حول أداة المساعدة المضمنة هذه، راجع المقالة حول المساعدة في بايثون.
صندوق أدوات المعلم
للحصول على اقتراحات حول استراتيجيات التدريس لهذا القسم، راجع عمود التسليم في دليل ما يجب فعله أو عدم فعله! (Google Doc / .docx / .pdf)
إن Clawbot جاهز لاتخاذ القرارات!
سيعطيك هذا الاستكشاف الأدوات اللازمة لتتمكن من البدء في إنشاء بعض المشاريع الرائعة التي تستخدم عبارة if - else .
- أوامر VEXcode V5 Python التي سيتم استخدامها في هذا الاستكشاف:
- drivetrain.drive_for(للأمام)
- brain.screen.pressing()
- drivetrain.stop()
- إذا كانت الحالة:
- آخر:
- بينما صحيح:
- انتظر(5 ثوانٍ)
يمكنك استخدام معلومات التعليمات داخل VEXcode V5 للتعرف على أوامر Python.

تأكد من أن الأجهزة المطلوبة، والكمبيوتر المحمول الهندسي، و VEXcode V5 جاهزة.
| الكمية | المواد اللازمة |
|---|---|
| 1 |
مجموعة VEX V5 Classroom Starter (مع برنامج ثابت محدث) |
| 1 |
VEXcode V5 (أحدث إصدار، ويندوز، ماك أو إس) |
| 1 |
دفتر ملاحظات هندسي |
| 1 |
قالب Clawbot (مجموعة نقل الحركة بمحركين، بدون جيروسكوب) |
نصائح للمعلم
إذا كانت هذه هي المرة الأولى التي يستخدم فيها الطالب VEXcode V5، فيمكنه الرجوع إلى البرامج التعليمية في أي وقت أثناء هذا الاستكشاف. توجد البرامج التعليمية في شريط الأدوات.

الخطوة 1: لنبدأ بفهم العبارات الشرطية
قبل أن تبدأ البرمجة بشروط، اقرأ المقالة التي تشرح عبارات if - else. يمكن العثور على المقالة هنا (Google Doc / .docx / .pdf).
للحصول على قائمة بالمشغلين لاستخدامها في عبارات if - else، اقرأ المقالة التي تشرح Booleans. يمكن العثور على هذه المقالة هنا (Google Doc/.docx/.pdf).
الخطوة 2: لنبدأ البرمجة بعبارات مشروطة.
-
افتح نموذج مشروع Clawbot (نظام نقل الحركة بمحركين، بدون جيروسكوب).

- قم ببناء المشروع أدناه.
# Begin project code
while True:
drivetrain.drive(FORWARD)
if brain.screen.pressing():
drivetrain.stop()
while brain.screen.pressing():
wait(5, MSEC)
wait(5, MSEC)قم بما يلي في دفترك الهندسي:
- اشرح ما يقوم به Clawbot في المشروع. ستحتاج إلى شرح أكثر من حقيقة أنه ينشئ زر إيقاف. اشرح التعليمات التي تجعل المخلب يفعل ماذا.
- اكتب ملخصًا لجملة واحدة يلخص ما يفعله المشروع.
- اختبر لمعرفة ما إذا كان تنبؤك بما يفعله Clawbot في المشروع صحيحًا.
- قم بتسمية المشروع CreatingAStopButton. قم بتنزيل المشروع وتشغيله على Clawbot.
- تحقق من تفسيراتك للمشروع، وأضف ملاحظات لتصحيحها حسب الحاجة.
صندوق أدوات المعلم
-
الإجابات
يحتوي هذا المشروع على روبوت يتحرك باستمرار إلى الأمام ولكنه يتوقف إذا تم الضغط على الشاشة. يقوم بذلك باستخدام عبارة "إلى الأبد" (بينما True ) للقيادة والتحقق باستمرار. إذا تم الضغط على الشاشة (True)، فسيتوقف Clawbot عن القيادة.
لا يُتوقع من الطلاب أن يفهموا سبب استخدام أوامر while brain.screen.pressing (): and wait(5, MSEC). اشرح أن هذه الأوامر ضرورية بسبب سرعة تدفق برنامج الروبوت. إذا لم يكن هناك، فإن محركات Clawbot ستتصرف كما لو أن المستخدم يضغط على الشاشة مرارًا وتكرارًا أثناء دورانها خلال المشروع. بدلاً من ذلك، توقف هذه التعليمات تدفق البرنامج ولا تجعل المشروع يبدأ الحلقة مرة أخرى حتى يتوقف المستخدم عن الضغط على الشاشة.
يمكن أن يكون خط الرمز المستعار بسيطًا مثل: تقدم للأمام حتى يتم الضغط على الشاشة.
يمكن الاحتفاظ بدفاتر ملاحظات الطلاب الهندسية وتسجيلها بشكل فردي (Google Doc / .docx / .pdf) أو كفريق واحد (Google Doc / .docx / .pdf). توفر الروابط السابقة نموذج تقييم مختلف لكل نهج. عندما يتم تضمين نموذج تقييم في التخطيط التعليمي، من الجيد شرح نموذج التقييم أو على الأقل إعطاء نسخ للطلاب قبل بدء النشاط.
الخطوة 3: فهم عبارات while and wait().
لاحظ أنه في حالة الضغط على شاشة الدماغ، يتحرك تدفق المشروع بسرعة وسينتقل المشروع إلى التعليمات التالية، وهي أمرdrivetrain.stop ().
وبالتالي، يحتاج المشروع إلى أوامر الانتظار والانتظار التي تخبر الروبوت بالبقاء متوقفًا حتى يتم تحرير شاشة الدماغ. خلاف ذلك، فإن عبارة " إلى الأبد" ستؤدي إلى بدء المشروع مرة أخرى.
while brain.screen.pressing():
wait(5, MSEC)أوامر الوقت والانتظار ضرورية بسبب سرعة تدفق المشروع. إذا لم يكونوا هناك، سينتقل المشروع إلى التعليمات التالية قبل أن يتاح للروبوت الوقت للرد.
الخطوة 4: تغيير المشروع.
خطوتنا التالية هي تغيير عبارة if إلى عبارة if - else.
- ابدأ بحفظ CreatingAStopButton كمشروع جديد، StopOrDrive.
- إذا كنت بحاجة إلى مساعدة في حفظ مشروع، فاطّلع على هذه المقالات.
- ثم قم ببناء مشروع StopOrDrive الموضح أدناه.
# Begin project code
while True:
if brain.screen.pressing():
drivetrain.stop()
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.drive(FORWARD)
wait(5, MSEC)- قم بتنزيل StopOrDrive إلى الفتحة 2 على Clawbot.
- للمساعدة في تنزيل مشروع وتشغيله، راجع هذه المقالة.
- اختبر CreateingAStopButton (Slot 1) ثم اختبر StopOrDrive (Slot 2) وقارنها لمعرفة ما إذا كان هناك أي اختلاف في سلوك الروبوت. لاحظ أي اختلافات في دفتر الملاحظات الهندسي الخاص بك
صندوق أدوات المعلم
-
الإجابة
فيما يتعلق بسلوك الروبوت، يجب ألا يكون هناك فرق بين مشروعي CreatingAStopButton و StopOrDrive.
إذا كان الطلاب بحاجة إلى مزيد من المساعدة في فهم عبارات if - else، فراجع هذه المقالة (Google Doc / .docx / .pdf).
يجعل المشروعان Clawbot يتصرف بنفس الطريقة. والفرق الوحيد هو استخدام عبارة if - else في مشروع StopOrDrive. سيسمح لك
استخدام عبارة if - else بإضافة أزرار إضافية إلى الشاشة في الأنشطة القادمة.
قم بتوسيع نطاق تعلمك
مع تقدم مختبر العلوم والتكنولوجيا والهندسة والرياضيات هذا، سيقوم الطلاب بتطوير مشاريع تسمح لشاشة Clawbot بالعمل كواجهة مستخدم. استعدادا لذلك، تحدي الطلاب لمعرفة كيفية رسم مستطيل ملون على الشاشة التي تعمل مثل زر. نظرًا لأن الضغط في أي مكان على الشاشة هو الشرط الحالي، يجب أن يشغل الزر الشاشة بأكملها. يجب على الطلاب جعل المشروع يبث حدثًا لرسم الزر عند البدء.
وجه الطلاب أولاً لمعرفة كيفية تنظيم شاشة الدماغ في نظام إحداثي. سيحتاجون إلى فهم هذا من أجل تعيين المعلمات ضمن الأوامر التي سيستخدمونها. تتوافق الإحداثيات المستخدمة مع عدد البكسلات وليس عدد العمود أو الصف. فيما يلي تخطيط الشاشة:
يجب على الطلاب تخطيط واختبار وتنقيح هذه التغييرات في المشروع أثناء توثيقها في دفاتر ملاحظاتهم الهندسية. للحصول على نموذج تقييم دفتر الملاحظات الهندسي الفردي، انقر فوق أحد الروابط التالية (Google Doc / .docx / .pdf)، أو انقر فوق أحد الروابط التالية لدفاتر ملاحظات الفريق (Google Doc / .docx / .pdf).
فيما يلي مثال على الحل:
# Begin project code
draw = Event()
def draw_button():
brain.screen.set_fill_color(Color.RED)
brain.screen.draw_rectangle(0, 0, 480, 240)
wait(1, SECONDS)
draw(draw_button)
while True:
draw.broadcast()
drivetrain.drive(FORWARD)
if brain.screen.pressing():
drivetrain.stop()
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.drive(FORWARD)
wait(5, MSEC)كما ترون، يتم رسم الزر لالتقاط الشاشة بأكملها بدءًا من نقطة الأصل (0، 0) وملء جميع 480 بكسل أفقي (محور س) و 240 بكسل عمودي (محور ص).
