1 of 23

حلقات بأنواع مختلفة

2 of 23

ما هي الحلقة؟ ما هي حاجتنا للحلقة؟

  • حلقات تتكرّر عدّة مرّات
  • حلقة أبديّة
  • ابتداء: قبل الحلقة، داخل الحلقة
  • كتابة برامج مقطعيّة تندمج فيها حلقات
  • إنتاج لعبة تندمج فيها حلقات

3 of 23

رأينا وجود أوامر مطلقة (مثل اقفز إلى Y:200 X:100) وأوامر نسبيّة (تحرّك 10 خطوات)

حتّى الآن فهمنا كيفيّة عمل الحاسوب

تعرّفنا على بيئة تطوير سكراتش

جرّبنا إضافة كائنات للمنصّة

جرّبنا كتابة مجموعة أوامر للكائن بواسطة أوامر "المظهر" و "الحركة

وأيضًا فهمنا كيفيّة بناء الخريطة (هيئة المحاور) التي على المنصّة

بالإضافة، تعرّفنا على المصطلح "ابتداء"، الذي يمكّننا من تحديد قيَم ابتدائيّة لبرنامجنا المقطعيّ. وماذا بعد؟

4 of 23

قبل أن تقوموا بتشغيله، حاولوا أن تخمّنوا ما الذي ينفّذه هذا البرنامج المقطعيّ؟

في هذا الدّرس سوف نتعلّم المصطلح المهمّ

لكي نفهم ما هي الحلقة ولماذا نحتاجها أصلاً، سنقوم بتجربة صغيرة، ستساعدنا أيضًا بأن نتذكّر ما تعلّمناه حتّى الآن.

افتحوا المشروع التّالي بواسطة سكراتش:

https://scratch.mit.edu/projects/362731195/

" حلقة "

5 of 23

في هذا البرنامج المقطعيّ سوف نقوم باستعمال لَبِنَة من النوع الذي لم نتعرّف عليه بعد –

انتبهوا

لكي تتمكّنوا من استعماله في مشاريعكم، عليكم إضافته بواسطة الضغط على مفتاح إدراج إضافة.

اختاروا إدراج إضافة تسمّى "قلم".

الآن ستضاف لَبِنَات القلم إلى مخزن اللّبِنَات خاصّتكم.

"قلم"

6 of 23

يا لها من متعة أن تقوموا بالرّسم بواسطة القلم في برنامجنا – يمكن أن تغيّروا لأيّ لون تريدونه، أن تغيّروا السمك، وحتّى أن تمحوا كلّ شيء بأمر واحد.

وكلّ ذلك من دون أن تبذّروا نقطة حبر واحدة أو قطعة ورق!

سنمعن النّظر بما يمكن عمله بـ "قلم":

7 of 23

"توسيع عن إدراج إضافات"

في سكراتش يوجد الكثير من إدراج الإضافات المتوافرة.

هذه هي الطريقة لإضافة إمكانيّات أخرى إلى بيئة التطوير خاصّتنا، التي هي ليست جزءًا من الإمكانيّات الأساسيّة التي تظهر دائِمًا.

مثلاً، يمكن استعمال كاميرا الحاسوب أو أيّ منتجات أخرى بإمكانها أن تتّصل بالحاسوب وبذلك تصبح جزءًا من تطويرنا!

8 of 23

أنتم مدعوّونَ الآن لتشغيل السيناريو (المقطع البرمجيّ) (بواسطة الضغط على العلم الأخضر).

هل أصبتم؟�هل خمّنتم أنّ بإمكان السيناريو رسم مربّع بواسطة القلم؟

 

سننظر إلى طول السيناريو. كم لبنة تظهر فيه؟

هل تنجحون بكشف شيء يتكرّر؟ كم مرّة؟

9 of 23

رأينا أنّ السيناريو الذي له هدف بسيط نسبيًّا (رسم مربّع) يمكن أن يكون طويلاً جدًّا. انتبهنا أنّه يتكرّر أيضًا ("تحرّك"، "استدر"، "تحرّك"، "استدر")

ربّما انتبهتم أنّ عدد التكرارات يشبه عدد أضلاع المرّبع؟ إذا كان الأمر كذلك، كم تكرارًا كهذا يظهر في المخمّس؟ أو في المسدّس؟ أو في عشاريّ الأضلاع؟

(نعم نعم، هذه كلمة حقيقيّة – مضلّع له عشرة أضلاع!)

كيف إذًا يمكن كتابة خوارزميّة (تذكرون؟)

تنفّذ مرارًا وتكرارًا عمليّات متشابهة، بطريقة أقصر؟

10 of 23

لقد خمنتم ذلك! بواسطة الحلقة! هيّا!

سوف نرى كيفيّة عمل ذلك في سكراتش.

ارجعوا إلى المشروع السابق واعملوا بالنسبة له "تحرير من جديد". الآن ابحثوا عن مجموعة اللبنات التي تدعى

"تحكّم"

حاولوا لوحدكم أن تختاروا اللبنة المناسبة حتّى تبنوا من جديد السيناريو الذي يقوم برسم مربّع – لكن هذه المرّة، بطريقة أقصر وهادفة:)

في كلّ لغات البرمجة وفي كلّ بيئة تطوير هنالك إمكانيّة لاستعمال الحلقة.

حلقة هي في الواقع طريقة في البرمجة تكرّر تسلسل عمليّات عدّة مرّات (أربع، خمس أو حتّى مليون).

11 of 23

بما أنّنا نعرف كم عدد المرّات الذي نريد أن تشتغل به هذه الحلقة (4، كعدد أضلاع المربّع)، يفضّل اختيار الحلقة التالية: طبعًا العدد 10 سنغيّره للعدد الذي نحتاجه. سنقوم بجرّ العمليّات التي نريدها أن تكرّر إلى داخل هذه اللبنة. هيّا – من هنا نحن واثقون بأنّكم ستتدبّرون أموركم بأنفسكم!

12 of 23

نتمنّى أن تكونوا قد نجحتم، وإذا لم تنجحوا، فمؤكّد أنّكم تعلّمتم شيئًا ممتعًا. إليكم ما فكرنا به:

لطيف ومقروء أكثر، صحيح؟

لحظة، نفكّر: بالإضافة إلى أنّ طريقة الكتابة هذه (مع الحلقة) تقصّر السيناريو، هل بإمكانكم التفكير بأفضليّة أخرى لها؟

13 of 23

في الوقت الذي فتّشتم فيه عن الحلقة الملائمة للسيناريو، من المؤكّد أنّكم قد رأيتم أيضًا هذه الحلقة:

تريدون أن تخمّنوا ماذا تعمل؟ أو ربّما ببساطة أن تجرّبوا!

ارجعوا إلى مشروعكم (هذا الذي مع المربّع والحلقة التي تشتغل 4 مرّات). أضيفوا اللبنة الضابطة

وادخلوا إليها واحدة من اللبنات التي تعرفونها (من داخل "المظهر" أو "الحركة"). شغّلوا السيناريو. هل تريدون أن تخبروا الصفّ بما يحدث لكم على الشاشة؟

" إلى الأبد "

أصبتم بالدّوار؟

اضغطوا على المفتاح

" قف "

14 of 23

تعرّفنا عل نوعين من الحلقات الموجودة في سكراتش

حلقة نهائيّة

نعرّف فيها عدد المرّات الذي نريد أن تشتغل به

حلقة لا نهائيّة

تشتغل إلى الأبد

أحد الاستعمالات المنتشرة لحلقة "إلى الأبد" هو إنتاج عرض حركيّ (أنيماتسيا). تذكرون المظاهر لعدد من الكائنات؟ بواسطة ثلاث لبنات فقط بإمكانكم إنتاج عرض حركيّ ساحر لهذا الكائن. تنجحون بالتخمين لوحدكم أيّ لبنات أنتم بحاجتها؟

15 of 23

سنرى معًا كيفيّة عمله. ادخلوا إلى المشروع التالي

لكلّ كائن السيناريو الخاصّ به، لذلك من أجل تحرير السيناريو الخاصّ بالكرة عليكم الضغط على صورتها في بنك الكائنات الخاصّ بكم.

تذكير

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

16 of 23

نجحتم؟ الآن تعالوا نساعد هذا اللاعب كي لا يتعب أكثر من اللازم. استبدلوا حلقة "إلى الأبد" بحلقة "كرّر X مرّات". اهتمّوا بأنّه بعد الهدف الثالث، لاعبنا سيستلقي على ظهره لكي يرتاح.

" إلى الأبد "

" كرّر X مرّات "

17 of 23

جميل جدًا!

فهمنا وقمنا بالتمرّن على نوعين من الحلقات.

رأينا كيف تندمج كجزء من سيناريو الكائنات.

تعرّفنا أيضًا على "القلم"، الذي يمكّننا من الرّسم على المنصة.

فكّرتم ماذا يمكن أن يحدث إذا أدخلنا حلقة واحدة في حلقة ثانية؟

شغّلوا المشروع وحاولوا وصف الذي ترونه هناك.

الآن سنخطو خطوة إضافيّة إلى الأمام!

18 of 23

فكّرتم أنّكم حللتم هذا اللغز?

هيّا نفحص: حرّروا المشروع من جديد حيث تظهر على المنصّة خمسة مربّعات الواحد داخل الآخر.

أنهيتم؟�كلّ الاحترام، الآن اهتمّوا بأن تظهر على المنصّة خمسة مثلّثات الواحد داخل الآخر.

19 of 23

الحلقة الخارجيّة

كانت مسؤولة عن عدّة أشكال (مربّعات\مثلّثات)

والحلقة الداخليّة

كانت مسؤولة عن الشكل نفسه - بالضبط كما تمرّنا في بداية الوحدة.

لحظة، نفكّر:

هل ستنجحون في تحديد

أوامر الابتداء

التي في المشروع الأخير؟

رائع. إذًا ماذا رأينا؟

كلّ حلقة نفّذت وظيفةً مغايرة:

20 of 23

كما تعلّمنا في الوحدة السابقة، ننفّذ مرّات كثيرة في بداية السيناريو أوامر ابتداء حتّى نعرّف القيَم الابتدائيّة للخوارزميّة (مثال، موقع الكائن).

عندما نستعمل الحلقات، نحتاج أحيانًا لتنفيذ أوامر ابتداء قبل كلّ تشغيل للحلقة، وأحيانًا قبل بداية "الدخول" إلى داخل الحلقة.

انظروا مرّة ثانية إلى المشروع الأخير وفكّروا، أيّة مراحل ابتداء تظهر فيه، ولماذا وُضِعت على هذا النحو؟ ماذا كان سيحدث لو نُفِّذ الابتداء داخل الحلقة الخارجيّة؟ والداخليّة؟

21 of 23

الآن، ونحن على عِلْم بكيفيّة تكوين حلقات، باستطاعتنا حقًا بناء ألعاب! حقًا هكذا!

حتّى نساعدكم في البدء، بنيْنا من أجلكم لعبة سهلة مركّبة (في الأساس) من حلقتين. العبوا اللعبة، وحاولوا أن تفكّروا بمسؤوليّة كلّ حلقة.

https://scratch.mit.edu/projects/363045789/

22 of 23

الآن حرّروا من جديد مشروع اللعبة، وحاولوا أن تجعلوا اللعبة ذات تحدٍّ أكبر!

أضيفوا إلى السيناريو اللّبنات المطلوبة بحيث أنّه عندما تصيب المكنسة القطّ، قطقوطنا سيستلقي وظهره على الأرض.

انتبهتم للمشكلة التي نجمت؟

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

حاولوا جعل اللعبة أصعب وأسرع. ما هي السرعة القصوى التي بإمكانكم تحديدها للمكنسة بدون أن تُستَبعد من اللعبة؟ هل بإمكانكم تغيير شيء آخر في البرنامج المقطعيّ حتّى تنجحوا في اللعب بسرعة أعلى؟

أ.

ب.

ج.

23 of 23

ماذا تعلّمنا في هذه الوحدة؟

حلقة تمكّننا من تكوين تكرار للأوامر؛

تعرّفنا على حلقة نهائيّة ولا نهائيّة؛

تعرّفنا على القلم اللّطيف لسكراتش؛

رأينا أنّه من المهمّ أحيانًا تنفيذ ابتداء في الحلقات أيضًا – من خارج الحلقة أو داخلها؛

فهمنا أنّنا الآن باستطاعتنا تكوين لعبة!