Skip to main content

الدرس 2: تدفق مشروع مع حلقة

عندما يستخدم المشروع حلقة لـ ، فإنه لا يزال يتبع نفس المنطق أثناء تنفيذ الأوامر. على سبيل المثال، ستجعل هاتان العينتان من التعليمات البرمجية روبوت الواقع الافتراضي يتحرك بنفس الطريقة. ومع ذلك، فإن المشروع الذي يحتوي على الحلقة لـ ، يكرر أمري Drivetrain أربع مرات للقيام بذلك.

اثنين من مقتطفات التعليمات البرمجية للقيادة في مربع يظهر جنبًا إلى جنب لتوضيح الفرق بين استخدام for loop و not. الشخص الموجود على اليسار ليس لديه حلقة، ولديه محرك أقراص لأوامر متكررة أربع مرات لكل منها. يحتوي السهم الموجود على اليمين على حلقة for، وأسهم حمراء بنمط دائري مع الكلمات 4 مرات بداخلها، مما يشير إلى أن حلقة for تتسبب في تكرار محرك الأقراص لـ ولف الأوامر أربع مرات.

يتم استخدام A for loop لتكرار سلسلة من الأوامر لعدد محدد من المرات. تتكرر حلقة لـ (المعروفة أيضًا بالتكرارات) على تسلسل الأوامر الموجودة بداخلها. في حلقة Python لـ ، يتم استخدام المتغير 'value' لتتبع التكرار الحالي، وتستخدم الكلمة الأساسية 'in' النطاق  الدالة لتحديد عدد التكرارات. انهيار بناء الجملة لحلقة for الموضحة مع النص فوق كل كلمة في الأمر لتحديد وظيفتها. الكلمة الأولى، ل، لديه النص "يحدد الحلقة" فوقه. الكلمة الثانية، القيمة، لها النص: "يحدد المتغير (كم مرة تكرر من خلال الحلقة ؟). الكلمة الثالثة، في، تحتوي على النص "يربط المتغير بالقائمة (النطاق). الكلمة الأخيرة هي RANGE مع المعلمة 10 بين قوسين. يقرأ النص أعلاه، "يحدد القائمة (كم مرة سيتكرر من خلال الحلقة ؟).

تعمل وظيفة النطاق على تحديد عدد المرات التي يجب أن تتكرر فيها الحلقة. لتكرار السلوكيات لعدد المرات المطلوب، اضبط معلمة النطاق على لوظيفة.

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

مشروع VEXcode يوضح وظيفة النطاق. يقرأ تعريف القوس المفتوح الرئيسي القوس المغلق القولون السطر التالي وهو عبارة عن مسافة بادئة لقراءة نقطة القلم تحريك القوس المفتوح القوس المغلق السطر التالي للقيمة في نطاق القوس المفتوح 0 القوس المغلق القولون السطر التالي وهو عبارة عن مسافة بادئة لقراءة مجموعة نقل الحركة السطر السفلي للقوس المفتوح للأمام، 600، MM القوس المغلق السطر التالي دوران مجموعة نقل الحركة السطر السفلي للقوس المفتوح لليمين، 90، درجة القوس المغلق السطر التالي انتظر القوس المفتوح خمس فواصل M S E C). ملعب آرت كانفاس مع الروبوت في الوسط. تم تنفيذ أوامر مجموعة نقل الحركة 0 مرة.
نفس المشروع على النحو الوارد أعلاه، ولكن مع 1 في معلمة دالة النطاق. ملعب آرت كانفاس مع مشروع لرسم جانب واحد من المربع بالكامل. تم تنفيذ أوامر مجموعة نقل الحركة مرة واحدة.
نفس المشروع على النحو الوارد أعلاه، ولكن مع 2 في معلمة دالة النطاق. ملعب آرت كانفاس يظهر أن الروبوت قد رسم أول جانبين من الساحة. تم تنفيذ أوامر مجموعة نقل الحركة مرتين.
نفس المشروع على النحو الوارد أعلاه، ولكن مع 3 في معلمة دالة النطاق. ملعب آرت كانفاس يظهر أن الروبوت قد رسم ثلاثة جوانب من الساحة. تم تنفيذ أوامر مجموعة نقل الحركة 3 مرات.
نفس المشروع على النحو الوارد أعلاه، ولكن مع 4 في معلمة دالة النطاق. ملعب آرت كانفاس يظهر أن الروبوت قد رسم جميع الجوانب الأربعة للمربع. تم تنفيذ أوامر مجموعة نقل الحركة 4 مرات، وأكملت جميع الجوانب الأربعة للمربع.

 

نفس المشروع على النحو الوارد أعلاه، ولكن مع 5 في معلمة دالة النطاق.

يُظهر Art Canvas Playground أن الروبوت قد رسم الجوانب الأربعة للمربع، ثم تتبع الجانب الأول مرة أخرى. تم تنفيذ أوامر مجموعة نقل الحركة 5 مرات، وأكملت المربع، ثم تتبعت الجانب الأول مرة أخرى.

لاحظ أن الشكل المرسوم للمربع لم يتغير عندما تغيرت دالة النطاق  من أربعة إلى خمسة؛ ولكن الموضع النهائي لروبوت الواقع الافتراضي تغير. وعلى هذا النحو، فإن استخدام حلقة لـ مع النطاق الافتراضي  ، من شأنه أن يؤدي إلى رسم نفس الشكل المربع، ولكن روبوت الواقع الافتراضي سيستمر في تكرار السلوكيات ست مرات إضافية. 

سينتقل روبوت الواقع الافتراضي عبر الأوامر من رأس الحلقة إلى  الأمر المسنن الأخير. يشير رأس الحلقة لـ  إلى أن روبوت الواقع الافتراضي يجب أن يكرر الإجراءات داخل الحلقة  العدد المحدد من المرات قبل الانتقال إلى الأمر التالي خارج حلقة for. تشير الأسطر المسننة إلى الأوامر الموجودة داخل حلقة لـ والتي يجب تكرارها.

لمعلوماتك

في VEXcode VR، يتم دائمًا إضافة الأمر wait مع الحلقة لـ . الغرض من الأمر wait هو التأكد من أن VEXcode VR يمكنه تشغيل المشروع بشكل صحيح كما هو مقصود، نظرًا لطبيعة منصة VEXcode VR المستندة إلى الويب. لا ينبغي أبدًا حذف الأمر wait عند استخدام حلقة لـ ، وإلا فقد لا يعمل مشروعك كما هو مقصود.

للحلقة بأمر انتظار.

العدد المحدد من المرات التي يتم فيها تعيين حلقة لـ للتنفيذ، يمكّن المشروع من التدفق من خلال حلقة لـ عندما يكمل التكرارات اللازمة. يجب الوصول إلى معلمة الدالة ذات النطاق  في الحلقة لـ قبل أن ينتقل المشروع إلى الأمر التالي خارج الحلقة. في عينة التعليمات البرمجية أدناه، بمجرد تنفيذ أوامر Drivetrain في الحلقة لـ أربع مرات، سيخرج المشروع من الحلقة لـ ، ويضبط لون القلم إلى الأحمر، ويقود في الاتجاه المعاكس. مشروع VEXcode من الأعلى، مع 4 في معلمة النطاق الموضحة بأسهم حمراء حول حلقة for والترميز 4x الذي يوضح أن المشروع سيتكرر من خلال الحلقة أربع مرات. تتم إضافة سطرين إضافيين من التعليمات البرمجية في الأسفل. تُظهر الأسهم أن هذين الخطين سيتم تنفيذهما بمجرد اكتمال التكرارات الأربعة. قراءة هذه الأسطر، تعيين نقطة القلم لون قوس مفتوح أحمر إغلاق الأقواس ومجموعة نقل الحركة نقطة محرك الشرطة السفلية لأقواس مفتوحة عكس فاصلة 600 فاصلة مم إغلاق الأقواس. إلى اليمين صورة للمشروع بعد تشغيله في الملعب تظهر مربعًا أسود مع خط أحمر يخرج منه رسمه روبوت الواقع الافتراضي.

تحدي صغير

في هذا المشروع، يجب أن يرسم روبوت الواقع الافتراضي مربعًا أزرق على لوحة فنية ساحة لعب، ولكن هناك أخطاء في المشروع. قم بتعديل المشروع لحل التحدي الصغير!

ملعب Art Canvas مع مربع أزرق رسمه روبوت VR.

يوضح الفيديو أدناه ما يجب القيام به لإكمال التحدي المصغر. يبدأ الروبوت في منتصف الملعب ويرسم الجوانب الأربعة لمربع أزرق كبير. 

ملف فيديو
  • شاهد فيديو الحل وراجع كيف يجب أن يتحرك روبوت الواقع الافتراضي من أجل إكمال التحدي المصغر.
  • قم بتعديل مشروع Unit3Lesson2 لمطابقة هذه الصورة، أو انسخ الرمز أدناه.
     
def main (): pen.move (
	DOWN) pen.set_pen_color
	(RED) drivetrain.drive_for
	(FORWARD, 600, MM)
	
	for value in range(3): drivetrain.drive_for
		(FORWARD, 600, MM) drivetrain.turn_for
		(RIGHT, 90, DEGREES)
		wait (5, MSEC)
  • ابدأ المشروع وحدد أين لا يكمل روبوت الواقع الافتراضي السلوكيات المتوقعة.
  • تعديل المشروع وتشغيل المشروع مرة أخرى. معرفة ما إذا كان روبوت الواقع الافتراضي يكمل السلوكيات المتوقعة.
  • إذا لم يرسم روبوت الواقع الافتراضي مربعًا أزرق، فكرر الخطوة السابقة وحاول مرة أخرى. استمر في تعديل وتشغيل مشروعك حتى يرسم روبوت الواقع الافتراضي مربعًا أزرق.
  • بمجرد أن يرسم روبوت الواقع الافتراضي مربعًا أزرقًا على لوحة الرسم ساحة اللعببنجاح، احفظ المشروع.

تهانينا! لقد حللت التحدي الصغير!

الأسئلة

يرجى تحديد رابط أدناه للوصول إلى اختبار الدرس.

Google Doc / .docx / .pdf