مقدمة إلى Scratch

قبل التطبيق نتعرف على البرنامج وطريقة استخدامه في تنفيذ الخوارزميات.

714 ساعة
هدف الوحدة: استخدام Scratch كبيئة برمجة مرئية لتنفيذ الخوارزميات التي تعلّمها المتدرب، والانتقال من خطوات الحل إلى المخطط الانسيابي ثم إلى برنامج يعمل.

ما هو Scratch؟

Scratch بيئة برمجة مرئية تعتمد على سحب الكتل البرمجية (Blocks) وتركيبها بالترتيب المناسب. في هذه الوحدة سنستخدمه لتنفيذ الخوارزميات عمليًا دون الحاجة إلى كتابة أوامر برمجية نصية.

🧩 برمجة مرئية

نبني البرنامج من كتل برمجية ملونة، وكل كتلة تؤدي وظيفة محددة.

🎯 هدفنا

تطبيق المدخلات والمعالجة والمخرجات والشروط والتكرار والمتغيرات.

🧭 قبل أن تبدأ

تعرّف أولًا على الواجهة والكتل البرمجية الأساسية، ثم انتقل إلى التطبيقات العملية.

طريقة العمل في هذه الوحدة

المشكلة←خطوات الخوارزمية←المخطط الانسيابي←Scratch←النتيجة

خيارات تشغيل Scratch

🌐 نسخة الويب

يمكن تنفيذ المشاريع من محرر Scratch عبر المتصفح.

فتح Scratch على الويب ↗

⬇️ التحميل الرسمي

لمن يريد تثبيت Scratch على جهازه الشخصي.

صفحة التحميل الرسمية ↗

التعرف على واجهة Scratch

شرح الأجزاء الأساسية في واجهة Scratch وطريقة استخدامها.

714 ساعة

الأجزاء الأساسية في واجهة البرنامج

تعرّف على أماكن العمل الأساسية في الواجهة قبل تنفيذ أول مشروع.

واجهة برنامج Scratch 1 2 3 4 5 6 7 8
الأرقام على الصورة تقابل الشرح الموجود أسفلها.
1️⃣ مجموعات الكتل البرمجية

في أقصى اليسار، ومنها نختار نوع الأوامر: الحركة، المظاهر، الصوت، الأحداث، التحكم، الاستشعار، العمليات، المتغيرات وكتلي.

2️⃣ قائمة الكتل

تظهر بجوار المجموعات، وتتغير الكتل المعروضة حسب المجموعة التي نختارها.

3️⃣ منطقة البرمجة

المساحة البيضاء الكبيرة في الوسط. نسحب إليها الكتل ونركبها لتكوين البرنامج.

4️⃣ المنصة Stage

في أعلى اليمين، وتظهر فيها نتيجة التنفيذ وحركة الكائن.

5️⃣ العلم الأخضر والإيقاف

العلم الأخضر يبدأ تنفيذ المشروع، والزر الأحمر يوقفه.

6️⃣ خصائص الكائن

أسفل المنصة: اسم الكائن، الموقع X وY، الحجم، الاتجاه والإظهار.

7️⃣ قائمة الكائنات Sprites

تظهر أسفل المنصة، ومنها نختار الكائن الذي نريد برمجته أو نضيف كائنًا جديدًا.

8️⃣ التبويبات

Code للبرمجة، Costumes للمظاهر، وSounds للأصوات.

قاعدة مهمة: الكتل التي تسحبها إلى منطقة البرمجة ترتبط بالكائن المحدد حاليًا في قائمة الكائنات.

الكتل البرمجية الأساسية (Blocks)

تعرف على معنى كل لون، وظيفة كل مجموعة، ومثال على كتلة منها.

714 ساعة

لماذا تختلف الألوان؟

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

🔵

الحركة Motion

اللون: أزرق

تحريك الكائن وتغيير موقعه واتجاهه.

تحرك 10 خطوات
🟣

المظاهر Looks

اللون: بنفسجي

تغيير مظهر الكائن وإظهار رسائل على المنصة.

قل [مرحبًا] لمدة 2 ثانية
🩷

الصوت Sound

اللون: وردي

تشغيل الأصوات والتحكم في مستوى الصوت.

شغّل الصوت [Meow] حتى انتهائه
🟨

الأحداث Events

اللون: أصفر

تحديد الحدث الذي يبدأ عنده تنفيذ الأوامر.

عند نقر العلم الأخضر
🟧

التحكم Control

اللون: برتقالي

تنفيذ الشروط والتكرار والتحكم في سير الخطوات.

إذا <شرط> إذن / كرر 10 مرات
🩵

الاستشعار Sensing

اللون: سماوي

استقبال بيانات من المستخدم أو استشعار حالة.

اسأل [أدخل عددًا] وانتظر
🟢

العمليات Operators

اللون: أخضر

الحساب والمقارنة والعمليات المنطقية وباقي القسمة.

(5) + (3) ، (العدد) > (10)
🟠

المتغيرات Variables

اللون: برتقالي داكن

تخزين القيم وتغييرها أثناء تنفيذ البرنامج.

اجعل [المجموع] مساويًا (0)
🔴

كتلي My Blocks

اللون: وردي محمر

إنشاء كتلة برمجية خاصة تجمع خطوات نحتاج إلى إعادة استخدامها.

عرّف [اسم الكتلة]
في تطبيق الخوارزميات سنركز أكثر على: الأحداث، الاستشعار، المتغيرات، العمليات، التحكم، والمظاهر لعرض النتائج. أما الحركة والصوت فسنستخدمهما عند الحاجة فقط.

المتغيرات في Scratch

714 ساعة

ما المتغير؟

مكان نحفظ فيه قيمة يمكن أن تتغير أثناء تنفيذ الخوارزمية.

إنشاء متغير

من مجموعة المتغيرات اختر «إنشاء متغير» وسمّه باسم واضح مثل: العدد.

إسناد قيمة

استخدم: اجعل [العدد] مساويًا (5).

تغيير القيمة

استخدم: غيّر [العدد] بمقدار (1).

عند النقر على 🚩
اجعل [العدد] مساويًا (5)
غيّر [العدد] بمقدار (1)
قل [العدد]
الناتج: 6

المدخلات والمخرجات

714 ساعة

إدخال قيمة من المستخدم

عند النقر على 🚩
اسأل [أدخل عمرك] وانتظر
اجعل [العمر] مساويًا (الإجابة)
قل (العمر)
«اسأل وانتظر» = إدخال، و«قل» = إخراج. وهذا يقابل متوازي الأضلاع في المخطط الانسيابي.

العمليات الحسابية والمنطقية

714 ساعة

أهم العمليات

الحساب

+ ، − ، × ، ÷

المقارنة

> ، < ، =

باقي القسمة

باقي قسمة ( ) على ( )

المنطق

و AND · أو OR · ليس NOT

هذه الكتل البرمجية لا تعمل منفردة غالبًا؛ نضعها داخل كتل برمجية المتغيرات أو الشروط أو المخرجات.

تنفيذ التسلسل

714 ساعة

مثال: مساحة مستطيل

الطول = 6، العرض = 4، ثم نحسب المساحة.

عند النقر على 🚩
اجعل [الطول] مساويًا (6)
اجعل [العرض] مساويًا (4)
اجعل [المساحة] مساويًا ((الطول) × (العرض))
قل (المساحة)
الناتج: 24

تنفيذ الشروط

714 ساعة

من قرار في المخطط إلى كتلة برمجية إذا

الخوارزمية

إذا كانت الدرجة ≥ 60 اطبع «ناجح»، وإلا اطبع «راسب».

عند النقر على 🚩
اجعل [الدرجة] مساويًا (75)
إذا <(الدرجة) ≥ (60)> إذن
 قل [ناجح]
وإلا
 قل [راسب]

تنفيذ التكرار

714 ساعة

كتل التكرار الأساسية

يوفر Scratch أكثر من طريقة للتكرار. نختار الكتلة حسب ما إذا كان عدد مرات التكرار معروفًا، أو مرتبطًا بشرط، أو مطلوبًا أن يستمر دون توقف.

🔁

كرر ( ) مرات

Repeat

تستخدم عندما نعرف مسبقًا عدد مرات تنفيذ الأوامر.

كرر (5) مرات

مثال: عرض الأعداد من 1 إلى 5.

🎯

كرر حتى <شرط>

Repeat Until

تستمر في تنفيذ الأوامر إلى أن يصبح الشرط صحيحًا، ثم تخرج من التكرار.

كرر حتى <(العدد) > (5)>

مثال: الاستمرار في زيادة العدد حتى يتجاوز 5.

♾️

كرر باستمرار

Forever

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

كرر باستمرار

مثال: عرض الأعداد من 1 إلى 5

الفكرة: نبدأ بالعدد 1، ثم نكرر العرض والزيادة خمس مرات. لذلك كتلة كرر (5) مرات هي الأنسب هنا.
عند نقر ⚑
اجعل [العدد] مساويًا (1)
كرر (5) مرات
قل (العدد)
غيّر [العدد] بمقدار (1)
تتبع القيم: 1 ← 2 ← 3 ← 4 ← 5، ثم ينتهي التكرار بعد المرة الخامسة.

تطبيقات محلولة خطوة بخطوة

الخوارزمية ← المخطط الانسيابي ← التنفيذ المطابق في Scratch.

714 ساعة
قاعدة التطبيق: لا نبدأ بتركيب كتل Scratch مباشرة. نحل المشكلة أولًا، ثم نكتب الخوارزمية، ثم نرسم المخطط الانسيابي، وبعد ذلك ننفذ نفس الخطوات في Scratch.

التطبيق 1: حساب مجموع عددين

المدخلات: العدد الأول، العدد الثاني   |   المعالجة: جمع العددين   |   المخرجات: المجموع
1

خطوات الخوارزمية

  1. ابدأ.
  2. أدخل العدد الأول.
  3. أدخل العدد الثاني.
  4. احسب: المجموع = العدد الأول + العدد الثاني.
  5. اطبع المجموع.
  6. انتهِ.
2

المخطط الانسيابي

بدايةأدخل العدد الأولأدخل العدد الثانيالمجموع = الأول + الثانياطبع المجموعنهاية
3

التطبيق في Scratch

عند نقر ⚑
اسأل [أدخل العدد الأول] وانتظر
اجعل [العدد الأول] مساويًا (الإجابة)
اسأل [أدخل العدد الثاني] وانتظر
اجعل [العدد الثاني] مساويًا (الإجابة)
اجعل [المجموع] مساويًا ((العدد الأول) + (العدد الثاني))
قل (المجموع)
مثال: 7 + 5 ← الناتج 12

التطبيق 2: حساب مساحة مستطيل

المدخلات: الطول، العرض   |   المعالجة: المساحة = الطول × العرض   |   المخرجات: المساحة
1

خطوات الخوارزمية

  1. ابدأ.
  2. أدخل الطول.
  3. أدخل العرض.
  4. احسب المساحة = الطول × العرض.
  5. اطبع المساحة.
  6. انتهِ.
2

المخطط الانسيابي

بداية
↓
أدخل الطول
↓
أدخل العرض
↓
المساحة = الطول × العرض
↓
اطبع المساحة
↓
نهاية
3

التطبيق في Scratch

عند نقر ⚑
اسأل [أدخل الطول] وانتظر
اجعل [الطول] مساويًا (الإجابة)
اسأل [أدخل العرض] وانتظر
اجعل [العرض] مساويًا (الإجابة)
اجعل [المساحة] مساويًا ((الطول) × (العرض))
قل (المساحة)
مثال: الطول 8 والعرض 5 ← المساحة 40

التطبيق 3: تحديد النجاح من الدرجة

المدخلات: الدرجة   |   المعالجة: مقارنة الدرجة بـ 60   |   المخرجات: ناجح أو غير ناجح
1

خطوات الخوارزمية

  1. ابدأ.
  2. أدخل الدرجة.
  3. هل الدرجة أكبر من أو تساوي 60؟
  4. إذا نعم: اطبع «ناجح».
  5. إذا لا: اطبع «غير ناجح».
  6. انتهِ.
2

المخطط الانسيابي

بداية
↓
أدخل الدرجة
↓
الدرجة ≥ 60؟
نعم ↓
اطبع ناجح
لا ↓
اطبع غير ناجح
↓
نهاية
3

التطبيق في Scratch

عند نقر ⚑
اسأل [أدخل الدرجة] وانتظر
اجعل [الدرجة] مساويًا (الإجابة)
إذا <(الدرجة) ≥ (60)> إذن
قل [ناجح]
وإلا
قل [غير ناجح]
مثال: الدرجة 72 ← النتيجة «ناجح»

التطبيق 4: تحديد العدد زوجيًا أو فرديًا

المدخلات: عدد   |   المعالجة: حساب باقي قسمة العدد على 2   |   المخرجات: زوجي أو فردي
1

خطوات الخوارزمية

  1. ابدأ.
  2. أدخل العدد.
  3. تحقق: هل باقي قسمة العدد على 2 يساوي صفرًا؟
  4. إذا نعم: اطبع «عدد زوجي».
  5. إذا لا: اطبع «عدد فردي».
  6. انتهِ.
2

المخطط الانسيابي

بداية
↓
أدخل العدد
↓
MOD 2 = 0 ؟
نعم ↓
اطبع عدد زوجي
لا ↓
اطبع عدد فردي
↓
نهاية
3

التطبيق في Scratch

عند نقر ⚑
اسأل [أدخل عددًا] وانتظر
اجعل [العدد] مساويًا (الإجابة)
إذا <((العدد) mod (2)) = (0)> إذن
قل [عدد زوجي]
وإلا
قل [عدد فردي]
مثال: العدد 8 ← النتيجة «عدد زوجي».

التطبيق 5: عرض الأعداد من 1 إلى 5

المدخلات: العدد الابتدائي = 1   |   المعالجة: عرض العدد ثم زيادته بمقدار 1   |   المخرجات: 1، 2، 3، 4، 5
1

خطوات الخوارزمية

  1. ابدأ.
  2. اجعل العدد = 1.
  3. كرر الخطوتين التاليتين 5 مرات.
  4. اطبع العدد.
  5. زد العدد بمقدار 1.
  6. بعد اكتمال التكرار انتهِ.
2

المخطط الانسيابي

بدايةالعدد = 1هل العدد ≤ 5 ؟نعماطبع العددالعدد = العدد + 1لانهاية
3

التطبيق في Scratch

عند نقر ⚑
اجعل [العدد] مساويًا (1)
كرر (5) مرات
قل (العدد)
غيّر [العدد] بمقدار (1)
الناتج: 1، 2، 3، 4، 5.

تمارين عملية

كل تمرين يمر بالمراحل نفسها حتى يصبح تنفيذ Scratch نتيجةً للخوارزمية وليس بديلًا عنها.

714 ساعة

تمارين المتدرب

في كل تمرين: ① حلّل المدخلات والمعالجة والمخرجات. ② اكتب خطوات الخوارزمية. ③ ارسم المخطط الانسيابي بالأشكال الصحيحة. ④ نفّذ الخوارزمية نفسها في Scratch. ⑤ اختبر الناتج.

1. متوسط ثلاث درجات

أدخل ثلاث درجات، احسب المتوسط، ثم اعرضه.

المطلوب: الخوارزمية + المخطط + Scratch

2. موجب أم سالب أم صفر؟

أدخل عددًا وحدد حالته باستخدام الشروط.

المطلوب: الخوارزمية + المخطط + Scratch

3. زوجي أم فردي؟

أدخل عددًا واستخدم باقي القسمة لتحديد نوعه.

المطلوب: الخوارزمية + المخطط + Scratch

4. الأعداد من 1 إلى 10

استخدم متغيرًا وتكرارًا لعرض الأعداد بالترتيب.

المطلوب: الخوارزمية + المخطط + Scratch

5. الأعداد الزوجية من 2 إلى 20

ابدأ من 2، اعرض العدد، ثم زد القيمة بمقدار 2 حتى 20.

المطلوب: الخوارزمية + المخطط + Scratch

6. مجموع الأعداد من 1 إلى 5

استخدم متغيرًا للمجموع ومتغيرًا للعداد، ثم اعرض المجموع النهائي.

المطلوب: الخوارزمية + المخطط + Scratch

7. حساب السعر بعد الخصم

أدخل السعر ونسبة الخصم، احسب قيمة الخصم ثم اعرض السعر النهائي.

المطلوب: الخوارزمية + المخطط + Scratch

8. الأكبر بين ثلاثة أعداد

أدخل ثلاثة أعداد، واستخدم الشروط لتحديد العدد الأكبر ثم اعرضه.

المطلوب: الخوارزمية + المخطط + Scratch

فكّر وناقش

714 ساعة

أسئلة ختامية

🎯 تحليل

لماذا نستخدم «اسأل وانتظر» بدل وضع قيمة ثابتة عندما نريد برنامجًا يتعامل مع مستخدم؟

⚖️ مقارنة

ما الفرق بين «كرر عددًا من المرات» و«كرر حتى»؟

💡 تفسير

ما الكتلة برمجية التي تقابل شكل القرار (المعين) في المخطط الانسيابي؟

🔍 استنتاج

ماذا يحدث إذا نسينا تغيير قيمة العداد داخل تكرار يعتمد على شرط؟

🧩 تصميم

صمم فكرة خوارزمية بسيطة ثم حدد الكتل البرمجية التي تحتاجها لتنفيذها.