عدد عشوائيّ،
عمليّات حسابيّة، تسلسل
سوف نتعلّم اليوم مواضيع شيّقة ستساعدنا لاحقًا – ليس في البرمجة فقط، وإنمّا في الرياضيّات أيضًا!
تعلّمنا في الدّرس السّابق عن الشروط والمشغّلين:
في النهاية، رأينا كيف يمكن دمج عدّة شروط في نفس الوقت والردّ عندما يكون كلاهما صحيحين "وأيضًا" أو عندما يكون شرط واحد صحيحًا فقط "أو".
شروط:
جزء نستعمله في كلّ مرّة نريد فيها أن نفحص "إذا" تحقّق شرط ما، على سبيل المثال، إذا لمست الشخصيّة مؤشّر الفأرة أو إذا ضُغِطَ مفتاح المسافة.
مشغّلون:
يمكننا فحص الشروط المتعلّقة يالأعداد. على سبيل المثال، في الدّرس السابق فحصنا إذا كان المجموع الظاهر على المكعّبات أكبر من 7. يمكننا أيضًا فحص شروط أخرى مثل: إذا كانت القيمة أصغر أو تساوي عددًا معيّنًا.
بعد أن تمرّنّا قليلاً، الموضوع الأولّ لهذا اليوم:
عمليّات حسابيّة!
حتّى لو لم ننتبه، حياتنا مليئة بالعمليّات الحسابيّة.
نحن ننفّذ عمليّات حسابيّة عندما نلعب كرّة السلّة في السّاحة، عندما نشتري شيئًا من الدّكّان أو عندما نحاول الكشف بعد كم من الوقت سنذهب إلى البيت.
العمليّات الحسابيّة يمكنها أن تندمج بعدّة طرق في البرمجة الخاصّة بنا. سنتعرّف عن قرب على هذه الأوامر.
سكراتش يمكّننا من تنفيذ حسابات بواسطة العمليّات الحسابيّة التي نعرفها مثل الجمع والطرح والضرب والقسمة وعمليّات أخرى معروفة قليلاً، على سبيل المثال:
تقريب أعداد
أن نجد العدد الصحيح الأقرب للعدد الغير صحيح.
على سبيل المثال: تقريب 4.76 يعطي 5، تقريب 4.16 يعطي 4.
مودولو (باقي القسمة)
أن نجد كم عددًا بقي بعد القسمة. على سبيل المثال، باقي قسمة 4.76 يعطي 0.76; باقي قسمة 3\20 = الجواب 2.
القيمة المطلقة
أن نجد بُعد عدد معيّن عن الصفر، بغضّ النظر عن كونه موجبًا أو سالبًا. على سبيل المثال، القيمة المطلقة لـ 4- هي 4.
القوى
أن نضرب عدد بنفسه عدّة مرّات.
على سبيل المثال، 4 للقوّة 3 تساوي 4x4x4.
العمليّات الحسابيّة التي يمكن تنفيذها بسكراتش تجدونها في
قائمة .
"مشغّلون"
هذه الأوامر تعطينا قيمة عدديّة هي نتيجة الحساب الذي قمنا به. على سبيل المثال، القيمة التي سنحصل عليها من الأمر الذي في الصورة هي 6.
اكتشفتم شيئًا؟
واضح، هذا شيء تعلّمتموه في الصفّ الأولّ!
انتبهوا:
انتبهوا لشكل الأمر:
القطع النّاقص يرمز إلى قيمة عدديّة.
بإمكانه أن يتّصل بأوامر أخرى يجب أن نملأ فيها عددًا.
مرّوا على القوائم المختلفة وجدوا أوامر
مختلفة يمكن أن ندخل بها قيمة عدديّة (شكل القطع النّاقص).
الشيء التّالي الذي سنتعلّم عنه اليوم هو العدد العشوائيّ .
ماذا نعني بعدد عشوائي؟
العدد العشوائيّ هو عدد "يخرج بالقرعة".
عندما نرمي مكعّب لعب، لا نعرف مسبقًا أيّ عدد سوف نحصل عليه – هكذا يعمل الأمر "عدد عشوائيّ"، لا يمكننا المعرفة مسبقًا ماذا ستكون النتيجة.
العدد العشوائيّ
أين يمكن إيجاد الأمر ؟
هو موجود في قائمة "مشغّلون"، تمامًا تحت العمليّات الحسابيّة
التي رأيناها سابقًا.
الأمر يمثّل قيمة عدد معيّن. بإمكاننا معرفة هذا لأنّ شكله هو
قطع ناقص.
"عدد عشوائيّ"
بإمكاننا تحديد مجال الأعداد الذي يقع فيه عددنا العشوائيّ. على سبيل المثال:
هكذا العدد الذي سنحصل عليه يمكن أن يكون 11 أو 12 أو 13 أو 14.
لاعب كرة القدم الخاصّ بكم مجرِّب، لكن مثل لاعبي كرة قدم كثر، لا ينجح في كلّ مرة بأن يسجّل هدفًا.
بإمكانكم تحديد مدى نجاح لاعبكم.
في التّمرين التّالي – حدّدوا بأن يسدّد اللّاعب مرّة كل 5 مرّات. نجحتم? الآن حسّنوا أداء اللّاعب.
ما الذي يتوجّب عليكم إكماله في سطر الشرط لكي يسدّد اللّاعب في كلّ مرّة؟
أحد التّلاميذ أكمل بهذه الطّريقة:
إذا اختار عددًا عشوائيًّا بين 1 إلى 5 = 1
تلميذ آخر أكمل بهذه الطريقة:
إذا اختار عددًا عشوائيًّا بين 1 إلى 5 = 4
سؤال تحدٍّ:
هل سيعطي البرنامجان نفس النّتيجة؟
سنرجع للعبة كرة القدم الخاصّة بنا.
في المرّة السابقة تحرّكتِ الكرة لعدّة اتّجاهات، عدد منها غير منطقيّ (إلى الخلف مثلاً)
الآن بإمكاننا الاهتمام بأن تتحرّك الكرة دائمًا للاتّجاه المنطقيّ (نحو المرمى، حتّى لو لم تدخل إليه)...
بالإضافة لذلك، يجب عليكم تغيير شدّة "الركلة" في كلّ مرّة.
ما هو الشيء باستثناء الموقع الذي بإمكانكم التحكّم به في الأمر "انزلق إلى"؟
رمز:
تذكّروا: موقع الكرة معرّف بواسطة X وَ Y. نحن نعرف لأيّ اتّجاه نريد أن تتحرّك الكرة. سنختار أن يكون موقع المحورX عددًا ثابتًا، بحيث تتجّه الكرة دائمًا باتّجاه المرمى. موقع المحورY سيكون عددًا عشوائيًّا في مجال معيّن.
في التّمرين اقترحنا لبِنات بإمكانكم أن تستعينوا بها.
التّجديد الأخير الذي سنراه في هذا الدّرس هو تسلسل حلقات.
ماذا؟! بأيّ لغة تحدّثت الآن؟؟؟
كلمة تسلسل من الكلمة سلسلة. القصد هو توصيل الأجزاء المختلفة وتشكيل تسلسل كامل. مثل السلسلة المكوّنة من حلقات مختلفة.
في مجال البرمجة، كلمة حلقة معناها تسلسل أحرف وإشارات (وأعداد أيضًا) يكوّن كلمة أو جملة. الحلقة مكوّنة من إشارات فقط، حتّى لو كتبنا هناك عددًا لن نستطيع تنفيذ حساب بها.
أوامر موجودة أيضًا في قوائم "المشغّلون".
صحيح، سهل جدًّا تأليف كلمات. لكن موجودة هنا عدّة قوانين من المهمّ معرفتها.
"تسلسل حلقات"
من الأمر : سنحصل على كلمة واحدة توصل بين الأجزاء.
على سبيل المثال، من الصّورة سنحصل على "تفاحموز".
العمل مع تسلسل حلقات - القوانين
1
"وصّل"
لكي تكون هناك مسافة بين الكلمات علينا إضافة المسافة في نهاية الكلمة الأولى أو في بداية الكلمة الأخيرة.
2
الأمر : سنحصل على حرف واحد من الكلمة أو الجملة حسب المكان الذي نختار، على سبيل المثال، من الأمر الذي في الصّورة سنحصل على الحرف "و".
العمل مع تسلسل حلقات - القوانين
3
"حرف"
ألأمر : سنحصل على عدد الأحرف التي في الحلقة. على سبيل المثال، من الأمر الذي في الصّورة سنحصل على 4.
4
"طول الـ"
العمل مع تسلسل حلقات - القوانين
الأمر : يفحص إذا كانت الحلقة تحتوي على الحرف أم لا. الأمر موجود داخل سداسيّ الأضلاع، هذا يعني، القيمة التي سنحصل عليه منها ستكون "صدق" أو "كذب"، ويناسب استعمالها كشرط بسيط أو كشرط حلقة. على سبيل المثال، من الأمر الذي في الصّورة سنحصل على "صدق" .
5
الأمر : يفحص إذا كان هناك أكثر من حرف في الحلقة. وهنا أيضًا سيكون الجواب "صدق".
6
"يحتوي"
"يحتوي"
إذًا ما نفع كلّ هذا؟
تعرّفوا على نيل، كائننا الفضائيّ!
نيل يتجوّل في الفضاء. لكي لا يملّ، في كلّ مرّة يريد أن يكون في مكان آخر. عليكم أن تجعلوه يتجوّل بعشوائيّة في الفضاء.
أحيانًا يصل نيل إلى الثقب الأسود التي خرج منها. في كل مرّة
يصل فيها إلى الثقب الأسود، أخبروه أين هو على المحور X.
عليكم تكملة الرّمز في الشّخصيّتين، في الشخصيّة الأولى أن تجرّوا من علامة التبويب وفي الأخرى أن توصلوا الأوامر إلى الأماكن الصّحيحة.
نيل الكائن الفضائيّ
تمرين بدرجة صعوبة سهلة:
إذًا ما نفع كلّ هذا؟
ارجعوا لتمرين كرة القدم. بعد "إضاعة فرصة" الهدف
(ماذا يعني هذا بالنسبة لموقع الكرة على المحور Y؟)، أضيفوا حلقة
تبيّن كم كنّا بعيدين عن المرمى على المحور Y.
من أجل العمليّة الحسابيّة استعملوا اللّبِنة
الموجودة في "حركة" وتمكّن استعمال القيمة العدديّة للموقع على المحور Y.
تمرين بدرجة صعوبة متوسّطة:
انتبهوا:
يتوجّب عليكم إضافة شرط
آخر، لأنّ العمليّة الحسابيّة التي ستقومون بإجرائها تتغيّر إذا مرّت الكرة فوق المرمى أو تحته.
"موقع على المحور Y"
تريدون زيادة درجة الصّعوبة أكثر؟
عرّفوا شرطًا آخر، يحدّد بأن تتحرّك الكرة فقط إذا لمستها رِجل اللّاعب.
فكّروا – أيّ شرط يتحقّق عندما تلمس رِجل اللّاعب الكرة؟
أيّ لَبِنة استعملتم؟
"مجسّ"
هذه اللّبِنة تسمّى
عن المجسّات واستعمالها سنتعلّم في الدرس القادم!
إذًا، ماذا تعلّمنا؟
اليوم تعلّمنا عن ثلاثة أشياء مهمّة وقويّة ببرنامج سكراتش وفي عالم البرمجة بشكل عامّ:
رأينا أنّه بإمكاننا استعمال عمليّات حسابيّة أساسيّة في برامجنا.
بواسطة هذه الحسابات بإمكاننا عدّ الأرانب، قياس المسافات وحتّى تحديد زمن رقص الشخصيّة.
عمليّات حسابيّة
عدد عشوائيّ
تسلسل حلقات
عدد مختلف بكلّ تشغيل للبرنامج، عندما يكون باستطاعتنا اختيار مجال الأعداد التي من بينها سيكون العدد المختلف.
عن طريق أوامر الحلقات بإمكاننا التوصيل بين كلمات وأعداد نفّذنا عليها عمليّات حسابيّة، إيجاد أحرف داخل الحلقات، إيجاد طول الحلقة أو التّأكّد من أنّ حرفًا معيّنًا موجود في الحلقة أم لا.