Skip to main content

الدرس 2: ملخص ما بعد المشروع

يتم استخدام كتلة [إذا كان الأمر كذلك] حتى يتمكن روبوت الواقع الافتراضي من اتخاذ قرار. إذا كان الشرط المنطقي صحيحًا، فسيتم تشغيل الكتل الموجودة داخل فرع "If Then". إذا كانت الحالة المنطقية خاطئة، فسيتم تشغيل الكتل الموجودة داخل فرع "ELSE".

رسم تخطيطي يشير إلى تدفق المشروع لكتلة if else داخل الحلقة إلى الأبد. عند بدء المشروع، يتم فحص حالة مستشعر المسافة. إذا تم العثور على كائن، فهذا الشرط صحيح، ثم يتم تنفيذ كتلة Drive forward. إذا لم يتم العثور على أي كائن، فإن هذا الشرط يبلغ عن خطأ، وإلا سيتم تنفيذ كتلة الانعطاف إلى اليمين. كل هذا يتكرر باستمرار في حلقة الأبد.

في هذا المشروع، قاد روبوت الواقع الافتراضي نحو مبنى عندما اكتشف مستشعر المسافة كائنًا وتم الإبلاغ عن <Distance found object> الكتلة على أنها صحيحة. وأصدر هذا الأمر تعليمات لفرع "إذا كان الأمر كذلك" في المشروع لتشغيله. يتضمن هذا الفرع كتلة [Drive]. ثم يتخطى روبوت الواقع الافتراضي فرع "Else" من المشروع.

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

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

لاحظ أن كتلتي [Drive] و [Turn] داخل كتلة [If then else] هي كتل غير منتظرة. لا توقف الكتل غير المنتظرة تدفق المشروع أثناء تشغيله. سيستمر السلوك  غير المنتظر الذي يتم تنفيذه في كتلة [If then else] (مثل التقدم للأمام إذا تم اكتشاف كائن) أثناء التحقق من الحالة، ولن يتغير إلا عندما تتغير الحالة.

نفس مشروع VEXcode VR مع الأسهم التي تتحرك من أسفل كتلة Forever مرة أخرى إلى الأعلى للإشارة إلى تدفق المشروع مرة أخرى إلى أعلى حلقة Forever لتكرار جميع الأوامر داخلها.

إذا تم الإبلاغ عن <Distance found object> الكتلة على أنها خاطئة، فسيتم تنفيذ فرع "ELSE" للمشروع. يتضمن فرع "ELSE" كتلة [Turn].

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

لمعلوماتك

[إذا كان الأمر كذلك] يتم استخدام الكتل لضمان تشغيل فرع واحد فقط في المشروع عند التحقق من الحالة. يمكن أن تكون حالة أو شرط واحد فقط صحيحًا في أي وقت. وهذا يجعل المشروع أكثر كفاءة.

رسم تخطيطي يشير إلى تدفق المشروع لكتلة if else داخل الحلقة إلى الأبد. عند بدء المشروع، يتم فحص حالة مستشعر المسافة. إذا تم العثور على كائن، فهذا الشرط صحيح، ثم يتم تنفيذ كتلة Drive forward. إذا لم يتم العثور على أي كائن، فإن هذا الشرط يبلغ عن خطأ، وإلا سيتم تنفيذ كتلة الانعطاف إلى اليمين. كل هذا يتكرر باستمرار في حلقة الأبد.

قارن المشروع الحالي بالمشروع الذي تم إنشاؤه في الوحدة 7. يستخدم  مشروع الوحدة 7 أربع كتل [إذا كان الأمر كذلك].

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

عند تشغيل مشروع به كتل [If then] متعددة، قد يكون من الممكن الإبلاغ عن صحة شروط متعددة وتشغيل المشروع من خلال الأوامر في كتلة [Forever]. في هذا المشروع، قد يكون كلا الشرطين صحيحين خلال نفس حلقة [Forever]. قد تتسبب مثل هذه النزاعات في توقف المشروع عن العمل أو تشغيله ببطء أكبر.

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

سيؤدي استخدام كتلة [إذا كان الأمر كذلك] إلى تجنب مثل هذه الأخطاء لأن شرطًا واحدًا فقط يمكن أن يكون صحيحًا في لحظة معينة مع هذه الكتلة.

رسم تخطيطي لتدفق المشروع باستخدام كتلة if then ضمن حلقة دائمة. عند البدء، سيتم التحقق من حالة فرع if then. إذا كان ذلك صحيحًا، وكان المحرك يتحرك، فسيتم تشغيل الكتلة داخل فرع If، وسيستدير الروبوت يسارًا 90 درجة ؛ وإلا، فسيقود الروبوت للأمام 200 مم. سيتم اتخاذ هذا القرار للتحقق من شرط واحد باستمرار لأن المشروع ضمن حلقة إلى الأبد.

الأسئلة

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

Google Doc / .docx / .pdf