يُحوّل#
مقدمة#
تساعد كتل التبديل الطلاب على الانتقال من البرمجة المرئية إلى البرمجة النصية. فباستخدامها، يستطيع الطلاب كتابة كود بايثون مباشرةً داخل مشروع الكتل - كتابة الأوامر والشروط والقيم وتعريفات الدوال - مع الاستمرار في بناء بقية المشروع باستخدام الكتل. كما يمكن تحويل الكتل الفردية إلى أوامر بايثون المكافئة لها.
لتعلم كيفية كتابة أوامر بايثون والأساليب والمعاملات، راجع VEX IQ (الجيل الثاني) واجهة برمجة تطبيقات بايثون.
لأن كتل Switch تحتوي على كود بايثون، يجب أن تكون التهجئة وعلامات الترقيم والمسافات البادئة صحيحة لكي يعمل المشروع كما هو متوقع.
فيما يلي قائمة بجميع وحدات التبديل:
تبديل الكتل — إضافة كود بايثون إلى مشروع Blocks.
Stack — يوفر مساحة لكتابة أوامر بايثون التي يتم تشغيلها بالتسلسل مع كتل المكدس الأخرى.
C Block — يوفر مساحة لكتابة كود التحكم في بايثون، مثل
if،while، أوforstatement.C Expandable — يوفر مساحة لكتابة كود التحكم في بايثون مع فروع متعددة، مثل
if،elif، أوelse.Boolean — يوفر مساحة لكتابة كود بايثون الذي يُرجع
TrueأوFalse.Reporter — يوفر مساحة لكتابة كود بايثون الذي يُرجع قيمة.
Hat — يوفر مساحة لتعريف دالة بايثون.
كومة#
توفر كتلة Stack مساحة لكتابة أوامر بايثون التي يتم تشغيلها بالتسلسل مع كتل المكدس الأخرى.
[] :: custom-switch
يمكن أن تحتوي كتلة Stack على سطر واحد أو عدة أسطر من كود بايثون.
عند البدء
[Move the robot forward.]
[drivetrain.drive_for(FORWARD, 400, MM)] :: custom-switch
المبنى ج#
توفر كتلة التعليمات البرمجية C مساحة لكتابة تعليمات التحكم في ، مثل if، while، وfor وتُنفَّذ الكتل البرمجية الموجودة داخل كتلة التعليمات البرمجية C كجزء من بنية التحكم في بايثون.
if [] :: custom-switch
fin
يتضمن كود التحكم بلغة بايثون الذي يمكن استخدامه في كتلة C ما يلي:
عند البدء
[Turn while a button is held down.]
if [while brain.buttonCheck.pressing():] :: custom-switch
استدر [يمين v]
fin
إيقاف القيادة
ج قابل للتوسيع#
توفر كتلة C Expandable مساحة لكتابة كود تحكم بايثون متعدد الفروع، مثل if، elif، أو elseويمكن إضافة فروع إضافية عن طريق تحديد سهم الزائد.
if [] :: custom-switch-expand
fin
يتضمن كود التحكم بلغة بايثون الذي يمكن استخدامه في كتلة C Expandable ما يلي:
عند البدء
[Turn right if a button is held down, otherwise turn left.]
للأبد
if [if brain.buttonCheck.pressing():] :: custom-switch-expand
استدر [يمين v]
else [else:] :: custom-switch-expand
استدر [يسار v]
fin
fin
منطقي#
توفر كتلة Boolean مساحة لكتابة كود بايثون الذي يُرجع True أو Falseويمكن وضعها داخل كتل ذات مدخلات سداسية.
<[] :: custom-switch>
يمكن أن تحتوي كتلة Boolean على شرط بايثون.
<[brain.buttonCheck.pressing()] :: custom-switch>
يمكن أيضًا استخدام عوامل التشغيل المنطقية في كتلة Boolean:
<[controller.buttonRUp.pressing() and controller.buttonLUp.pressing()] :: custom-switch>
يمكن لكتلة Boolean استخدام عوامل المقارنة لمقارنة القيم:
أكبر من:
>أقل من:
<يساوي:
==تتضمن عوامل المقارنة الأخرى
<=،!=، و>=
<[brain_inertial.heading()> 100] :: custom-switch>
عند البدء
[Spin in a circle when a button is pressed.]
للأبد
إذا <[brain.buttonCheck.pressing()] :: custom-switch> إذن
استدر [يمين v] بمقدار (360) درجة ▶
fin
fin
مراسل#
توفر كتلة Reporter مساحة لكتابة كود بايثون الذي يُرجع قيمة. ويمكن وضعها داخل كتل ذات مدخلات دائرية.
([] :: custom-switch)
يمكن أن تحتوي كتلة Reporter على كود بايثون يقوم بإرجاع قيمة.
([drivetrain.heading()] :: custom-switch)
يمكن استخدام عوامل التشغيل الرياضية في كتلة Reporter:
([brain_inertial.heading() + 45] :: custom-switch)
عند البدء
[Turn and display the current heading.]
استدر [يمين v]
انتظر (2) ثانية
إيقاف القيادة
اطبع ([drivetrain.heading()] :: custom-switch) على الشاشة ▶
قبعة#
توفر كتلة Hat مساحة لتعريف دالة بايثون. وتصبح الكتل المرفقة أسفل Hat هي جسم تلك الدالة.
[] :: hat custom-switch
اكتب تعريف دالة بايثون في كتلة Hat. تُوضع المعاملات داخل الأقواس. إذا لم تستخدم الدالة معاملات، فاستخدم أقواسًا فارغة.
[def function_name(parameter):] :: hat custom-switch
[def drive_400():] :: hat custom-switch
[Create a function to drive the robot forward.]
تشغيل [للأمام v] لمسافة (400) [مم v] ▶
عند البدء
[drive_400()] :: custom-switch