إعلان
مساحة إعلانية أعلى الصفحة (Leaderboard 728x90 / متجاوبة للجوال)

الدرس 02 للسنة الرابعة متوسط: إنشاء متغير

الميدان: بناء المشاريع
المقطع التعلمي: المتغيرات
الوضعية التعلمية: إنشاء متغير

الوضعية الانطلاقية

في جميع الألعاب والبرامج التفاعلية التي نستخدمها يومياً، نلاحظ وجود عناصر تتغير قيمتها باستمرار أثناء تشغيل اللعبة؛ مثل: عداد النقاط والسكور، عدد المحاولات أو الأرواح المتبقية، مؤقت الزمن التنازلي، أو سرعة تحرك الشخصية.
تعرفنا سابقاً على مفهوم المتغير (Variable) وذكرنا أنه موقع محجوز في ذاكرة الحاسوب (RAM) يحمل اسماً ثابتاً وتُخزن فيه قيمة قابلة للتغيير في أي لحظة أثناء سير البرنامج.
التساؤل: كيف نُنشئ متغيراً جديداً في برنامج سكراتش (Scratch)؟ ما الفرق بين إنشاء متغير متاح لجميع الكائنات أو لكائن واحد فقط؟ وما هي اللبنات التي تتحكم في زيادة قيمته أو تصفيرها أو إظهاره وإخفائه؟ وما الفرق بين المتغير المفرد واللائحة (Liste)؟

1. مفهوم المتغير في برنامج سكراتش ونطاقه

المتغير (Variable): هو حاوية برمجية أو خانة تخزين في الذاكرة تحمل اسماً مميزاً، تُستخدم لحفظ معلومة معينة (كرقم، نص، أو قيمة منطقية) واسترجاعها أو تعديلها كلما دعت الحاجة أثناء تنفيذ المشروع.

نوع نطاق المتغير المفهوم والاستخدام مثال نموذجي
لجميع الكائنات
(Pour tous les lutins / Global)
متغير عام مشترك؛ تستطيع كافة كائنات المشروع وكذلك المنصة قراءة قيمته وتعديلها في أي وقت. رصيد النقاط الإجمالي للعبة، الوقت المتبقي، المرحلة الحالية.
لهذا الكائن فقط
(Pour ce lutin uniquement / Local)
متغير محلي خاص؛ لا يمكن لأي كائن آخر الوصول إليه أو تعديله سوى الكائن الذي تم إنشاؤه بداخله. طاقة الوحش المحدد، سرعة كائن معين، حالة خاصة بكائن محدد.

2. مراحل إنشاء متغير جديد في سكراتش

لإنشاء متغير جديد في واجهة برنامج سكراتش، نتبع الخطوات الموضحة بالأرقام في الصورة:

  1. الخطوة 1: ننقر على مجموعة لبنات المتغيرات (Variables) البرتقالية في منطقة لوحات التحكم.
  2. الخطوة 2: ننقر على الزر المستطيل إنشاء متغير (Make a Variable).
  3. الخطوة 3: تظهر نافذة حوار بعنوان "ما هو اسم المتغير؟"، ونقوم بالآتي:
    • نكتب اسماً معبراً وواضحاً للمتغير في حقل الكتابة (مثل: مرات الإرتداد أو النقاط).
    • نحدد نطاق المتغير بالنقر على أحد الخيارين: لجميع الكائنات أو لهذا الكائن فقط.
    • نضغط على زر موافق لتثبيت وإنشاء المتغير.

3. اللبنات والعمليات البرمجية على المتغيرات

بعد إنشاء المتغير، يُولد برنامج سكراتش تلقائياً مجموعة من اللبنات البرمجية المخصصة للتحكم فيه:

اللبنة البرمجية الوظيفة والدور البرمجي حالة الاستخدام
(اسم المتغير) لبنة إرجاع قيمة المتغير؛ توضع داخل لبنات العمليات أو الشروط لمعرفة القيمة المخزنة حالياً في الذاكرة. في شروط المقارنة، مثل: هل النقاط أكبر من 10؟
اجعل [المتغير] مساوياً [0] لبنة إسناد وتعيين قيمة ثابتة مباشرة للمتغير، وتُستخدم خاصة لتهيئة وتصفير المتغير في بداية البرنامج. تصفير عداد النقاط أو الارتدادات عند النقر على الراية الخضراء.
غيّر [المتغير] بمقدار [1] لبنة الزيادة أو النقصان التراكمي؛ تزيد القيمة الحالية بمقدار محدد (أو تنقصها إذا وضعنا عدداً سالباً مثل -1). إضافة نقطة عند جمع مكافأة، أو خصم روح عند الاصطدام.
أظهر المتغير [المتغير] إظهار شاشة عداد المتغير فوق منصة العرض أمام اللاعب ليتابع رصيده. إظهار النتيجة أثناء سير اللعبة.
أخفِ المتغير [المتغير] إخفاء عداد المتغير عن شاشة المنصة مع بقاء قيمته محفوظة في الذاكرة دون حذف. إخفاء المتغيرات الوسيطة أو المتغيرات في شاشات البداية والنهاية.

حذف متغير أو إعادة تسميته:

إذا أردنا تعديل اسم متغير أو حذفه نهائياً من المشروع، ننقر عليه بـ الزر الأيمن للفأرة في قائمة المتغيرات، ثم نختار من القائمة المنبثقة:

  • إعادة تسمية المتغير (Rename variable): لتغيير اسمه دون فقدان اللبنات المرتبطة به.
  • حذف المتغير (Delete variable): لحذف المتغير وكافة لبناته نهائياً من المشروع.

4. مفهوم اللائحة في سكراتش (La Liste / Tableau)

اللائحة (List): هي نوع متطور من المتغيرات يُعرف برمجياً بـ المصفوفة (Tableau)؛ فبدلاً من تخزين قيمة واحدة فقط، تستطيع اللائحة تخزين سلسلة مرتبة ومترابطة من القيم أو النصوص تحت اسم واحد موحد.
يمتلك كل عنصر في اللائحة رقماً ترتيبياً (مؤشراً / Index) يبدأ من 1 ويُحدد موقعه بدقة داخل القائمة، مما يُمكننا من استدعاء أي عنصر بمفرده بواسطة رقمه الترتيبي.

مثال نموذجي (لائحة تلاميذ القسم): إذا أردنا تسجيل أسماء تلاميذ القسم داخل البرنامج، فبدلاً من إنشاء متغير منفصل لكل تلميذ، نُنشئ لائحة واحدة باسم "تلاميذ القسم"، وتظهر على المنصة كقائمة مرتبة كما في الشكل التالي:

تلاميذ القسم
1 أحمد
2 سندس
3 يوسف
4 مريم
5 بلال
6 سلسبيل
7 عبد الله
+ الطول: 7

يوضح النموذج أعلاه لائحة باسم "تلاميذ القسم" تحتوي على 7 عناصر، مع بيان أن طول اللائحة (عدد عناصرها) هو 7:

الرقم الترتيبي (Index) اسم التلميذ (العنصر المخزن)
1أحمد
2سندس
3يوسف
4مريم
5بلال
6سلسبيل
7عبد الله

كيف نصل إلى عناصر اللائحة برمجياً؟

  • عند طلب العنصر (1) من [تلاميذ القسم]، يُرجع لنا البرنامج: أحمد.
  • عند طلب العنصر (4) من [تلاميذ القسم]، يُرجع لنا البرنامج: مريم.
  • اللبنة طول [تلاميذ القسم] تُرجع القيمة: 7 (العدد الكلي للتلاميذ في اللائحة).

📖 أكتب في كراسي (ملخص الحصة)

1. مفهوم المتغير:
المتغير هو مساحة محجوزة في ذاكرة الحاسوب تحمل اسماً محدداً وتُستخدم لتخزين قيمة عددية أو نصية قابلة للتعديل أثناء تشغيل البرنامج.

2. نطاق المتغير:

  • لجميع الكائنات (عام): يمكن لجميع كائنات المشروع والمنصة قراءة المتغير وتعديله.
  • لهذا الكائن فقط (خاص): محصور فقط داخل الكائن المحدد ولا يمكن للكائنات الأخرى الوصول إليه.

3. مراحل إنشاء متغير في سكراتش:

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

4. العمليات واللبنات الأساسية على المتغيرات:

  • إسناد قيمة: اجعل [المتغير] مساوياً [قيمة] (لضبط القيمة الابتدائية وتصفير العداد).
  • تعديل القيمة: غيّر [المتغير] بمقدار [قيمة] (للزيادة بقيمة موجبة أو الإنقاص بقيمة سالبة).
  • الإظهار والإخفاء: أظهر المتغير [المتغير] لإظهار العداد على المنصة، وأخفِ المتغير [المتغير] لإخفائه.
  • الحذف وإعادة التسمية: بالضغط بالزر الأيمن للفأرة على المتغير واختيار إعادة تسمية المتغير أو حذف المتغير.

5. مفهوم اللائحة (List):
اللائحة هي متغير مركب يتكون من سلسلة مرتبة من العناصر/المتغيرات تحت اسم موحد، حيث يُحدد موضع كل عنصر برقم ترتيبي (مؤشر) يبدأ من 1 (مثل لائحة: تلاميذ القسم التي تمكننا من استرجاع اسم أي تلميذ برقم ترتيبه في القائمة).

تطبيق صفي

نريد برمجة مشروع في سكراتش يقوم فيه كائن القط بالحركة المستمرة ذهاباً وإياباً على المنصة دون توقف، مع حساب عدد المرات التي يرتد فيها عند ملامسة الحواف باستخدام متغير مخصص:

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

المقطع البرمجي النموذجي للحل:

عند نقر ⚑ (الراية الخضراء)
اجعل [مرات الإرتداد] مساوياً (0)
اجعل نمط الدوران [يمين - يسار]
كرر باستمرار
تحرك (10) خطوة
المظهر التالي
انتظر (0.05) ثانية
إذا كان <ملامس لـ [الحافة]؟>
ارتد إذا كنت عند الحافة
غيّر [مرات الإرتداد] بمقدار (1)
Ammar BAGHDADI كاتب المقال

مرحباً بك في مدونتنا! نحرص على تقديم شروحات تعليمية دقيقة وموثوقة، وبرامج وتطبيقات منتقاة بعناية لخدمة جميع المتعلمين والمستخدمين.

التعليقات والمناقشات

  1. Unknown
    Unknown 19 أكتوبر 2021 في 6:24 م
    اهلا

أضف تعليقك:

إعلان
مساحة إعلانية أسفل المقال (Rectangle 336x280 / متجاوبة)