البرمجة التركيبية | الوحدة الثالثة | الدرس الثاني

البرمجة التركيبية هو عنوان الدرس الثاني من الوحدة الثالثة التي تحمل اسم “برمجة الروبوت” في الفصل الدراسي الثالث من مقرر “ثاني متوسط”.
ستتعرف في هذا الموضوع على مفهوم البرمجة التركيبية، وذلك في كيفية رسم الأشكال المتنوعة باستخدام عناصر البرمجة، وتطبيق إنشاء عنصر برمجة جديد، وكيفية تعريف عنصر البرمجة في البرنامج، واستخدامه لإنشاء البرامج، بالإضافة إلى كيفية إضافة معاملات الإدخال إلى عناصر البرمجة الجديدة.
لذا قم بقراءة نواتج التعلُّم جيدًا، ثم أعد قراءتها وتأكَّد من تحصيل كافة محتوياتها بعد انتهائك من دراسة الموضوع.
نواتج التعلُّم
- التعرُّف على ماهية البرمجة التركيبية وأهميتها.
- إنشاء عنصر البرمجة الجديد.
- تعريف مقطع برمجي عنصر البرمجة الجديد.
- برمجة الروبوت لرسم الأشكال باستخدام عنصر البرمجة الجديد.
- إضافة معاملات الإدخال لعنصر البرمجة الجديد.
هيا لنبدأ!
البرمجة التركيبية
ما هي البرمجة التركيبية؟
هي عملية تقسيم المهام والتي ينفذها برنامج ما في جهاز الحاسب إلى وحدات صغيرة، وتنفذ كل وحدة برنامج (Module Program) مهمة منفصلة وتتعاون جميع الوحدات لمعالجة المشكلة الكلية. وتسمى وحدات البرنامج في لغات البرمجة الأخرى باسم الدوال (Functions).
في بيئة “فيكس كود في آر” ستجد وحدات مميزة من التعليمات البرمجية تسمى عناصر برمجة جديدة (My Blocks). يمكِنك إنشاء واحدة أو أكثر من عناصر البرمجة الجديدة واستخدامها داخل المقطع البرمجي وتقسيمها إلى وحدات أصغر.
تعدُّ عناصر البرمجة الجديدة مهمة جدًا، وتحديدًا عندما تظهر نفس العملية بشكل متكرِّر في أحد المقاطع البرمجية. بدلًا من إعادة إنشاء نفس تسلسل اللبنات عدة مرات، يتم إنشاء تسلسل اللبنات مرة واحدة ويتم تجميعها في عنصر البرمجة الجديد. ثم يمكِن استخدام عنصر البرمجة الجديد كلبنة واحدة، بالاشتراك مع لبنات أخرى في المقطع البرمجي.
على سبيل المثال، تَستخدِم الأشكال التالية نفس النمط لرسم خط متعرج. من أجل إنشاء المقاطع البرمجية، يجب عليك أولًا تطوير قطعة التعليمات البرمجية التي ترسم الخط المتعرج بخطوة واحدة. ثم عليك تحويل هذا الرمز إلى عنصر البرمجة الجديد واستخدامه بشكل مناسب مع لبنات أخرى من البيئة لتطوير المقطع البرمجي الكلي في كل حالة.
لمعرفة المزيد من المعلومات عن البرمجة التركيبية، قم بالاطّلاع على الرابط التالي:
مثال 1: رسم خط متعرج
في المثال التالي، ستطوِّر أولًا عنصر البرمجة الجديد الذي يرسم خطًا متعرجًا من خطوة واحدة ثم ستستخدمه لإنشاء المقطع البرمجي لدَرج من 9 خطوات على قطري شبكة خريطة (Grid Map).
عليك برمجة روبوت الواقع الافتراضي ليتحرك ويرسم خطًا متعرجًا لخطوة واحدة، ثم اختبر المقطع البرمجي في ملعب شبكة خريطة.
ثم استكمل المقطع البرمجي وبرمج الروبوت ليتحرك ويرسم خطًا متعرجًا كخطوة أخرى.
بإمكانك مراجعة محتوى موضوع “البرمجة التركيبية” من بدايته وحتى نهاية هذا القسم، من خلال الرابط التالي:
عناصر البرمجة الجديدة
في “فيكس كود في آر” تسمى وحدة البرنامج باسم عنصر برمجة جديد (My block) وهي مجموعة من اللبنات باسم محدَّد يمكِن تضمينها في المقطع البرمجي كلبنة واحدة.
ويعدُّ إنشاء واستخدام عناصر البرمجة الجديدة (My blocks) أمرًا قيّمًا عندما يتكوَّن المقطع البرمجي من مهام متكرِّرة، فباستخدامها يمكِن تطوير المقطع البرمجي دون الحاجة إلى إعادة إنشاء نفس التسلسل من اللبنات عدة مرات، كما يمكِنك استخدام فئة محدَّدة من اللبنات لإنشاء وتخزين اللبنات داخل عنصر البرمجة الجديد في “فيكس كود في آر”.
إنشاء عنصر البرمجة الجديد
بدلًا من الاستمرار في تكرار تسلسل اللبنات الذي ينتُج عنه خط متعرج في الخطوة الثالثة، يمكِنك تجميع اللبنات المتكرِّرة في لبنة واحدة وهي عنصر برمجة جديد ثم يمكِنك استخدام هذه اللبنة الواحدة فقط في مقطعك البرمجي.
لإنشاء عنصر برمجة جديد:
- اضغط على فئة عناصر برمجة جديدة (My Blocks).
- ثم اضغط على إنشاء عنصر (Make a Block).
- اكتب اسمًا لعنصر البرمجة الجديد.
- ثم اضغط على موافق (OK).
معلومة
لحذف مُدخل محدَّد، عليك اختيار أيقونة مسح (Clear) أعلى المُدخل الذي تريد إزالته.
بعد إنشاء عنصر البرمجة الجديد، يتم إنشاء لبنة جديدة باسم لبنة تعريف (Definition) ويظهر هذا الاسم المُحدَّد في منطقة البرمجة، ويتم أيضًا تخزين لبنة بنفس الاسم في فئة عناصر برمجة جديدة.
تعريف المقطع البرمجي عنصر البرمجة الجديد
تحت لبنة تعريف، عليك وضع المقطع البرمجي الذي سيتم تنفيذه من خلال عنصر البرمجة الجديد.
في هذا المثال، يجب أن يحتوي عنصر البرمجة الجديد خطوة واحدة متعرجة (one step zigzag) على المقطع البرمجي الذي يقود روبوت الواقع الافتراضي ليتحرَّك ويرسم خطًّا متعرِّجًا لخطوة واحدة.
لتعريف المقطع البرمجي لعنصر البرمجة الجديد:
- ضع اللبنات البرمجية الخاصة بالمقطع البرمجي لإنشاء الخطوة تحت لبنة تعريف one step zigzag (define one step zigzag).
لاحظ أن
من الضروري تحديد المقطع البرمجي الموجود في عنصر البرمجة الجديد.
استخدم عنصر البرمجة الجديد لإنشاء المقاطع البرمجية
أنشئ مقطعًا برمجيًا يتحرك فيه روبوت الواقع الافتراضي بخطوة متعرجة باستخدام عنصر البرمجة الجديد.
لاستخدام عنصر البرمجة الجديد one step zigzag:
- حدِّد فئة عناصر برمجة جديدة (My Blocks).
- اضغط على عنصر البرمجة الجديد one step zigzag.
- ضعها بعد لبنة عندما بدأت (when started).
الآن، قم بإنشاء المقطع البرمجي الذي سيوجِّه روبوت الواقع الافتراضي ليتحرَّك ويرسم 9 خطوات بخط متعرِّج. هذا يعني أنّ عليك استخدام عنصر البرمجة الجديد one step zigzag تسع مرات.
كما رأيتَ سابقًا ستستخدِم عنصر البرمجة الجديد في المقطع البرمجي الرئيس كلبنة مشتركة.
لإنشاء المقطع البرمجي:
- اضغط على فئة تحكم (Control).
- اختر لبنة تكرار ( ) مرة (repeat ( ) times).
- ثم ضع اللبنة في المقطع البرمجي الرئيس.
- اضبط المرات على 9.
مثال 2: رسم شكل زهرة
ستعمل على مثال أكثر تقدمًا. قم بإنشاء شكل زهرة كما في الصورة التالية.
لإنشاء شكل الزهرة في ملعب الفن قماش (Art Canvas) عليك أولًا معرفة أن شكل الزهرة يتكوَّن من 12 بتلة متطابقة تتداخل جزئيًا مع بعضها. من أجل برمجة الروبوت لرسم الزهرة، عليك أن تبدأ بتطوير مقطع برمجي لرسم البتلة الواحدة، ثم إنشاء عنصر البرمجة الجديد الذي يحتوي على هذا المقطع البرمجي.
عليك برمجة روبوت الواقع الافتراضي ليرسم بتلة واحدة في ملعب الفن قماش (Art Canvas)، ثم اتبع الخطوات لإنشاء عنصر البرمجة الجديد Petal.
معلومة
لتحديد مجموعة اللبنات التي يتكوَّن منها عنصر البرمجة الجديد، عليك أولًا تحديد الأنماط التي يتم تكرارها في الخوارزمية التي تحل المشكلة.
بإمكانك مراجعة محتوى موضوع “البرمجة التركيبية” بدايةً من عنوان “عناصر البرمجة الجديدة” وحتى هذه النقطة، من خلال الرابط التالي:
أنشئ بتلةً باستخدام عنصر البرمجة الجديد.
لإنشاء وتعريف عنصر البرمجة الجديد:
- اضغط على فئة عناصر برمجة جديدة (My Blocks).
- ثم اضغط على إنشاء عنصر (Make a Block).
- اكتب اسمًا لعنصر البرمجة الجديد.
- ثم اضغط على موافق (OK).
- ضع تحت لبنة تعريف Petal (define Petal) اللبنات البرمجية التي تنشئ البتلة.
الآن، يمكِنك رؤية لبنة تعريف Petal في منطقة البرمجة، ويتم أيضًا تخزين عنصر البرمجة الجديد Petal (My Block Petal) في فئة عناصر برمجة جديدة (My blocks).
استخدام عنصر البرمجة الجديد لإنشاء المقاطع البرمجية
الآن، ستقوم بإنشاء مقطعًا برمجيًا يتحرَّك فيه روبوت الواقع الافتراضي ويرسم البتلة، باستخدام عنصر البرمجة الجديد Petal.
لإنشاء بتلةٍ باستخدام عنصر البرمجة الجديد:
- من فئة عناصر برمجة جديدة (My Blocks).
- اضغط على المقطع البرمجي عنصر البرمجة الجديد Petal (My Block Petal).
- أفلتها بعد لبنة عندما بدأت (when started).
تحتوي البتلة التي أنشأتها على 6 جوانب متساوية، ويتم ترتيب كلٍ منها في مكان معيَّن ويبلغ طولها 180 مليمتر. لذلك، فإن البتلة لها حجم قياسي.
إذا كنت تستخدِم المقطع البرمجي Petal عدة مرات لإنشاء زهرة، فسيكون لهذه الزهرة أيضًا حجم معيَّن. حجم الزهرة التي يمكِنك إنشاؤها ثابت حاليًا؛ لأن حجم البتلة ثابت أيضًا.
لتكون قادرًا على إنشاء العديد من البتلات والزهور ذات الحجم الكبير، باستخدام المقطع البرمجي لعنصر البرمجة الجديد Petal، يجب عليك تزويده بالقدرة على قبول معاملات الإدخال (Input Parameters) المختلفة كطول جانبي (side length).
للقيام بذلك، يجب عليك إنشاء معامل إدخال رقمي في المقطع البرمجي لعنصر البرمجة الجديد Petal في مكان القيمة الرقمية القياسية لطول جوانبها.
المعاملات (Parameters)
للاستفادة من ميزة البرمجة التركيبية، عليك إضافة معاملات الإدخال (Input Parameters) في وحدات البرامج (Module Programs).
تعمل المعاملات (Parameters) كمتغيرات داخل عنصر البرمجة الجديد باستخدام معامل إدخال واحد أو أكثر بدلًا من القيم الثابتة في وحدات البرامج، يمكِنك إنشاء وحدات قابلة للتأقلم على أكثر من مشكلة.
على سبيل المثال، إذا أنشأت عنصر برمجة جديدة الذي ينشئ مربعًا ويحتوي على معامل إدخال رقمي (numeric input parameter) طول جانب المربع، فستتمكَّن من إنشاء مربعات مختلفة الحجم، باستخدام نفس التعليمة البرمجية وإعطاء قيم إدخال مختلفة لهذا المعامل.
عناصر البرمجة الجديدة مع المعاملات
في بيئة “فيكس كود في آر”، يمكِنك إضافة معاملات الإدخال إلى عناصر البرمجة الجديدة وتخصيصها. عليك إنشاء معامل واحد أو أكثر في عناصر البرمجة الجديدة وفقًا لحالة المشكلة.
عند إنشاء معاملات الإدخال في عناصر البرمجة الجديدة لديك خيار تحديد الشكل أو حجم الرسم، والاتّجاه الذي يتحرَّك فيه روبوت الواقع الافتراضي، والمسافة التي يقطعها، وما إلى ذلك.
وأخيرًا، يمكِنك معالجة حالات المشكلات المختلفة بتضمين عنصر البرمجة الجديد نفسه في المقطع البرمجي الرئيس عدة مرات، ولكن مع تمييز قيم الإدخال التي تعطيها للمعاملات.
لاحظ أن
يمكِن استخدام عنصر البرمجة الجديد Petal، مع معامل إدخال هو طول جوانب شكل البتلة، وذلك لإنشاء أحجام مختلفة من الزهور أو الأوراق أو حتى الفراشات.
ستقوم بإنشاء مقطعًا برمجيًا يتحرك فيه روبوت الواقع الافتراضي ويرسم زهرة باستخدام المقطع البرمجي لعنصر البرمجة الجديد Petal، ثم ستضيف معامل إدخال رقمية (numeric input parameter) إلى عنصر البرمجة الجديد Petal، من أجل إنشاء زهور بأحجام مختلفة.
لإنشاء المقطع البرمجي للزهور:
- من فئة التحكم (Control).
- أضف لبنة تكرار ( ) مرة (repeat ( ) times)، وضعها بعد لبنة عندما بدأت (when started).
- اضبط المرات على 12.
- من فئة عناصر برمجة جديدة (My Blocks).
- اضغط على عنصر البرمجة الجديدة Petal (My Block Petal).
- أسقطها داخل لبنة التكرار 12 مرة.
- من فئة نظام الدفع (Drivetrain).
- أضف لبنة انعطف ( ) (turn ( ))، وضعها بعد عنصر البرمجة الجديد Petal (My Block Petal).
- اضبط الانعطاف إلى 120 درجة.
يكرِّر المقطع البرمجي الرئيس لعنصر البرمجة الجديد Petal 12 مرة بانعطاف 120 درجة إلى اليمين، وذلك بضبط الروبوت في كل مرة على الموضع المناسب لبدء رسم البتلة التالية.
في كل مرة يتعيَّن على الروبوت رسم بتلة، فإنه ينفذ المقطع البرمجي الموجود أسفل لبنة تعريف (define).
بإمكانك مراجعة محتوى موضوع “البرمجة التركيبية” بدايةً من عنوان “إنشاء وتعريف عنصر البرمجة الجديد” وحتى هذه النقطة، من خلال الرابط التالي:
https://www.youtube.com/watch?v=KMHuUpG–Kg
إضافة معامل إدخال رقمي (Numeric input parameter)
يمكِنك إضافة معاملات الإدخال في عنصر البرمجة الجديد أثناء إنشائه، ويمكِنك أيضًا تعديل عنصر البرمجة الجديد لإضافة معاملات الإدخال.
عليك تعديل عنصر البرمجة الجديد Petal من أجل إضافة مدخل رقم.
لتعديل عنصر البرمجة الجديد:
- اضغط على فئة عناصر برمجة جديدة (My Blocks).
- ثم اضغط زر الفأرة الأيمن على عنصر البرمجة الجديد (My Blocks).
- اضغط على تعديل (edit).
الآن، ستضيف مدخل رقم إلى عنصر البرمجة الجديد Petal من أجل تخصيص حجمها وإنشاء زهور بأحجام مختلفة.
لإضافة معامل إدخال رقمي:
- اضغط على إضافة مدخلا رقم (add a input number).
- اضغط على الاسم الافتراضي للمعامل number.
- ثم اكتب “Petal side length”.
- ثم اضغط على موافق (OK).
يظهر المعامل Petal side length كلبنة عرض متغيِّر في لبنة تعريف عنصر البرمجة الجديد Petal.
عليك وضع معامل الإدخال Petal side length في مكان الرقم الثابت 180 mm في المقطع البرمجي لعنصر البرمجة الجديد، ونظرًا لاستخدام طول الجانب مرتين في هذا المقطع البرمجي، ستضع لبنة معامل عرض المتغيِّر في كلا الموضعين.
لوضع معامل إدخال في عنصر البرمجة الجديد:
- اضغط على لبنة معامل عرض المعامل Petal side length في لبنة تعريف (define).
- أفلتها على الموضع الأول الذي يوجد فيه الرقم 180.
- اضغط على لبنة معامل عرض المعامل Petal side length في لبنة تعريف (define).
- أفلتها على الموضع الثاني الذي يوجد فيه الرقم 180.
معلومة
يمكِنك إنشاء أكثر من مُدخل رقمي إلى عنصر البرمجة الجديد باتّباع نفس العملية وحسب الحاجة.
يمكِنك أيضًا ملاحظة أن عنصر البرمجة الجديد Petal المخزَّن في فئة عناصر برمجة جديدة لديه معامل رقمي بقيمة افتراضية تساوي 1.
في كل مرة تستخدِم فيها عنصر البرمجة الجديد Petal في مقاطعك البرمجية يمكِنك إدخال الرقم المناسب في هذا المكان من أجل ضبط طول جوانب البتلة المكوَّنة لحجم الزهرة.
على سبيل المثال، عند ضبط هذا المُدخل على 100، فسيرسم روبوت الواقع الافتراضي زهرة صغيرة.
لإعطاء رقم إدخال إلى عنصر البرمجة الجديد:
- أنشئ المقطع البرمجي التالي.
- اضبط رقم الإدخال ليكون 100.
شغِّل المقطع البرمجي التالي في ملعب الفن قماش (Art Canvas).
كوِّن المقطع البرمجي الرئيس بشكل صحيح لتدمج بين زهرة صغيرة وزهرة كبيرة متداخلتين مع بعضهما. ستعطي رقم إدخال يساوي 100 لقيادة روبوت الواقع الافتراضي ليرسم الزهرة الصغيرة ورقم إدخال يساوي 270 ليرسم الزهرة الكبيرة.
وأخيرًا، كوِّن زهرتين مختلفتي الحجم في مكانين مختلفين من ملعب الفن قماش (Art Canvas) ليكون رقم إدخال المعامل Petal side length يساوي 200 و100، ثم برمج روبوت الواقع الافتراضي لينتقل إلى موضع بداية رسم كل زهرة.
بإمكانك مراجعة محتوى موضوع “البرمجة التركيبية” بدايةً من عنوان “إضافة معامل إدخال رقمي” وحتى نهاية الموضوع، من خلال الرابط التالي:
اختبر تحصيلك لمحتوى الموضوع من خلال الرابط التالي:
الواجب الإلكتروني
إلى هنا يكون قد انتهى موضوع “البرمجة التركيبية“، لا تنسوا مراجعة نواتج التعلُّم أعلى المقال، وانتظرونا في الموضوع القادم!