Skip to main content

الدرس 2: تكرار الإجراءات

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

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

مخرجات التعلم

  • حدد كيفية استخدام حلقة لـ لتكرار الأوامر الموجودة بداخلها لعدد محدد من المرات.
  • حدد أن الحلقة لـ تتضمن متغير "قيمة" ووظيفة نطاق  لتحديد عدد التكرارات. 
  • حدد أن دالة النطاق  للحلقة لـ تحدد عدد المرات التي يجب أن تتكرر فيها الحلقة.
  • حدد أن دالة النطاق  للحلقة لـ يمكنها قبول الأعداد الصحيحة كمعلمات.
  • وصف سبب استخدام حلقة لـ في مشروع.
  • صف تدفق المشروع الذي يحتوي على حلقة فور.

إعادة تسمية المشروع

  • إذا لم يتم تحميل مشروع الدرس السابق بالفعل، فقم بتحميل مشروع Unit3Lesson1.
  • إعادة تسمية المشروع عن طريق تحديد مربع اسم المشروع.
    شريط أدوات الواقع الافتراضي مع تمييز مربع اسم المشروع. الاسم في المربع هو الوحدة 3 الدرس 1.
  • أدخل اسم المشروع الجديد Unit3Lesson2، وحدد "حفظ".
    شريط أدوات الواقع الافتراضي مع فتح مربع حوار اسم المشروع. تمت إعادة تسمية المشروع إلى الوحدة 3 الدرس 2، ويتم تمييز زر الحفظ بمربع أحمر.

تكرار الإجراءات

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

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

  • ابدأ بتعديل المشروع السابق أو نسخ المشروع أدناه أو إنشاء مشروع جديد لمطابقة هذا المشروع الأساسي. 
def main (): pen.move (
	DOWN) drivetrain.drive_for 	(
	FORWARD, 600, MM) drivetrain.turn_for 	(
	RIGHT, 90, DEGREES) drivetrain.drive_for
	(FORWARD, 600, MM) drivetrain.turn_for
	(RIGHT, 90, DEGREES) drivetrain.drive_for
	(FORWARD, 600, MM) drivetrain.turn_for
	(RIGHT, 90, DEGREES)
	drivetrain.drive_for(FORWARD, 600, MM)
	drivetrain.turn_for(RIGHT, 90, DEGREES)

 

  • الأوامر المتكررة في هذا المشروع هي drive_for و turn_ for. قم بإزالة الأوامر الستة السفلية في المشروع، بحيث يتبقى أمر واحد فقط drive_for وأمر واحد turn_for أسفل الأمر move ، ويبدو المشروع كما يلي: 

    def main (): pen.move (
        down) drivetrain.drive_for (
        إلى الأمام، 600، مم) drivetrain.turn_for
        (إلى اليمين، 90، درجة)
  • اسحب حلقة لـ إلى نهاية الوظيفة الرئيسية ، بحيث يبدو مشروعك بهذا الشكل. لاحظ أن الحلقة لـ ستقوم تلقائيًا بملء أمر wait بالداخل. لا تقم بإزالة الأمر wait ، وسوف يضمن ذلك أن روبوت الواقع الافتراضي يتصرف بشكل صحيح.

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

لمعلوماتك

Indentation is very important in Python. تحدد المسافة البادئة للأوامر كيفية تنفيذ المشروع. في حالة وجود حلقة لـ ، سيتم تشغيل الأوامر المضمنة فيها كجزء من الحلقة. يمكنك استخدام الخطوط الموجودة على يسار الأوامر، كدلائل مرئية لكيفية تجميع الأوامر داخل حلقة. 

المشروع من الأعلى، مع النص يشير الخط "التوجيهي" والسهم إلى الخط الرمادي الفاتح الذي يشير إلى المسافة البادئة الصحيحة للأوامر داخل حلقة for. تظهر شريحة حمراء حول الأوامر الثلاثة الأخيرة أنها مسننة بالتساوي ومحاذاة داخل حلقة for.

يمكن أن تؤثر الأخطاء في المسافة البادئة على تدفق مشروعك، وتجعل مشروعك لا يعمل على النحو المنشود. يجب تجنب نقص المسافة البادئة، أو المسافة البادئة غير المتساوية، كما هو موضح هنا، من أجل الحصول على وظيفة التعليمات البرمجية الخاصة بك على النحو المنشود.

مثالان شائعان على المسافة البادئة غير الصحيحة في حلقة for جنبًا إلى جنب، مع وجود علامة x حمراء كبيرة عليها للتأكيد على أنها غير صحيحة. المشروع على اليسار هو المشروع من هذا الدرس، ولكن لا توجد مسافة بادئة داخل حلقة for. المشروع على اليمين هو المشروع من هذا الدرس، ولكن مع الأوامر السفلية الثلاثة كلها بادئة بدرجات مختلفة.

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

 

 

  • الآن بعد أن أصبحت أوامر Drivetrain لرسم جانب واحد من المربع داخل الحلقة، يمكن ضبط معلمة وظيفة النطاق  . لرسم مربع، يجب رسم أربعة أضلاع.  الأوامر أربع مرات، اضبط معلمة الدالة النطاق في رأس الحلقة لـ على "4" حتى يرسم روبوت الواقع الافتراضي جميع جوانب المربع الأربعة.
    تم تغيير المشروع من هذا الدرس، مع تغيير معلمة دالة النطاق في حلقة for من 10 إلى 4.

لمعلوماتك

يمكن للوظيفة النطاق في رأس الحلقة لـ قبول الأعداد الصحيحة. لن تعمل الأعداد العشرية (أو الأعداد العائمة) كمعامل لحلقة لـ . المعلمة الافتراضية لنطاق  هي '10'. 

لأمر الحلقة مع العدد الصحيح 10 في المعلمة.
  • حدد الزر "Open Playground" لفتح Art Canvas Playground إذا لم يكن مفتوحًا بالفعل وابدأ المشروع.
    شريط أدوات VEXcode VR مع زر Open Playground في الجزء العلوي الأيمن المميز بمربع أحمر.
  • شاهد روبوت الواقع الافتراضي وهو يتقدم للأمام ويدور إلى اليمين أربع مرات على لوحة الرسم ساحة اللعب لرسم مربع باستخدام القلم.

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

قم باختيار الزر التالي لمواصلة بقية هذا الدرس.