1 of 47

الشرط المتداخل والشرط المركّب

مقدمات

© כל הזכויות שמורות למרכז לחינוך סייבר מיסודה של קרן רש"י ולקרן טראמפ

מבואות

2 of 47

ماذا تشمل المعروضة

تلخيص

أصابع على لوحة المفاتيح

الشرط المتداخل� والشرط المركّب

الشرط المتداخل

حملة يوم عيد الميلاد

لعبة

ماذا تعلّمنا؟

3 of 47

ماذا تعلّمنا؟

عندما تكون لدينا أكثر من حالتين ممكنتين، �يمكن استخدام elif.

اضغطوا للإجابة >

# استقبال العلامة

points = int(input(" علامة الامتحان هي"))

# تحديد العلامة في الشهادة

if points >= 90:

print("ممتاز")

elif points >= 80:

print("جيد جدًا")

elif points >= 70:

print("جيد")

elif points >= 60:

print("جيد بالتقريب")

else:

print("راسب")

للعلامة 95: ممتاز

للعلامة 67: جيد بالتقريب

للعلامة 54: راسب

اضغطوا للإجابة >

مراجعة

ماذا يفعل كود لينا؟

ماذا سيطبع البرنامج للعلامات:

95، 67، 54؟

4 of 47

ماذا تعلّمنا؟

# استقبال العلامة

points = int(input("علامة الامتحان هي "))

# تحديد العلامة في الشهادة

if points >= 90:

print("ممتاز")

if points >= 80:

print("جيد جدًا")

if points >= 70:

print("جيد")

if points >= 60:

print("جيد بالتقريب")

else:

print("راسب")

كود أشرف (بدون elif)

# استقبال العلامة

points = int(input(" علامة الامتحان هي"))

# تحديد العلامة في الشهادة

if points >= 90:

print("ممتاز")

elif points >= 80:

print("جيد جدًا")

elif points >= 70:

print("جيد")

elif points >= 60:

print("جيد بالتقريب")

else:

print("راسب")

كود لينا

كود أشرف: ممتاز

جيد جدًا

جيد

جيد بالتقريب

كود لينا:

ممتاز

مراجعة

ماذا سيطبع البرنامج في كود أشرف وكود لينا للعلامة 95؟

اضغطوا للإجابة >

اضغطوا للإجابة >

5 of 47

ماذا تشمل المعروضة

تلخيص

أصابع على لوحة المفاتيح

الشرط المتداخل� والشرط المركّب

الشرط المتداخل

حملة يوم عيد الميلاد

لعبة

ماذا تعلّمنا؟

6 of 47

افتتاحية

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

لقراءة المحادثة (باللهجة الإيطالية) هل من متطوّع؟ هل من متطوّعة؟

7 of 47

حملة في محل البيتزا!

مهمة

لحظة خليني أتذكر...

مش متأكدة إني متذكرة...

متذكرة مين عيد ميلاده كمان يومين؟

أنطونيا! شو نسيتي؟

بابا بيتزا

8 of 47

حملة في محل البيتزا!

مهمة

أكيد ما نسيت! عيد ميلادك!

راح أعزمك على محل البيتزا تبعنا وأعطيك تخفيض عشان عيد ميلادك :) 🥳

بدك تعزميني عالمطعم تبعي أنا وتعطيني تخفيض كمان؟ كتير بضحّك!

بابا بيتزا

9 of 47

حملة في محل البيتزا!

مهمة

بس فكرة التخفيض نفسها بيوم عيد الميلاد، مش عاطلة عفكرة... صح؟

صح! تعالي نعطي تخفيض %10 للي بطلب إرسالية خلال شهر عيد ميلاده.

بابا بيتزا

10 of 47

حملة في محل البيتزا!

مهمة

فكرة بتجنن أنطونيو! وممكن كمان إذا كان الطلب بيوم عيد الميلاد نفسه (مش خلال الشهر يعني)، منعطي تخفيض كمان %10 على الباقي.

فكرة ممتازة!

يعني إحنا بحاجة نحسب التخفيض:

إذا كان هادا شهر عيد الميلاد، منعطي %10 تخفيض.

وإذا كان هادا يوم عيد الميلاد نفسه، منعطي كمان %10 تخفيض.

بابا بيتزا

11 of 47

حملة في محل البيتزا!

مهمة

إذا طلب البيتزا خلال شهر يناير، راح يدفع 90 شيكل.

شو بصير يعني إذا متلًا واحد كان تاريخ ميلاده 1.1 وطلب بيتزا بـ 100 شيكل؟

بابا بيتزا

12 of 47

حملة في محل البيتزا!

مهمة

راح ياخد كمان %10 تخفيض على الـ 90 شيكل، يعني راح يدفع 81 شيكل.

وإذا طلب البيتزا بيوم عيد ميلاده نفسه، يعني بتاريخ 1.1؟

بابا بيتزا

13 of 47

حملة في محل البيتزا!

نقاش

لدينا هنا شرط داخل شرط. إذا، ثمّ إذا... كيف نفحص ذلك؟

سنتعلم شيئًا جديدًا!

اضغطوا للإجابة >

اضغطوا للإجابة >

14 of 47

تلخيص المحادثة

لكن كيف نفحص في برنامج الإرساليات أن هذا شهر ميلاد الشخص الذي يطلب البيتزا، ثم إذا كان هذا يوم ميلاده نفسه؟

لكي نساعد أنطونيا وأنطونيو، يجب أن نضيف إلى برنامج الإرساليات حملة عيد الميلاد:�

اضغطوا للإجابة >

اضغطوا للإجابة >

للقيام بذلك، علينا أن نتعلم الشرط المتداخل :)

بواسطة أمر بايثون الذي سنتعلّمه، سنعرف ما هو اليوم الحالي والشهر الحالي.

15 of 47

ماذا تشمل المعروضة

أصابع على لوحة المفاتيح

الشرط المتداخل� والشرط المركّب

الشرط المتداخل

ماذا تعلّمنا؟

حملة يوم عيد الميلاد

لعبة

تلخيص

16 of 47

لعبة: تحليل الشخصية بحسب البيتزا

هل تعرفون استبيانات تحليل الشخصية؟

هناك أنواع كثيرة من استبيانات تحليل الشخصية بحسب إجابات المستطلَعين.

اليوم، سنحلل شخصيتكم/ن بحسب أنواع البيتزا التي تفضلونها.

يبدو لكم غريبًا؟ الأمر غريب فعلًا! لكن هذه مجرد لعبة.

جاهزون؟ جاهزات؟

17 of 47

لعبة: تحليل الشخصية بحسب البيتزا

لعبة

لبدء اللعبة، قفوا جميعكم/ن!

18 of 47

لعبة: تحليل الشخصية بحسب البيتزا

لعبة

تخيلوا أن هناك محل بيتزا جديد افتُتح في الحيّ:

في كل جولة، يجب عليكم: 🧍أن تستمروا في الوقوف أو 🧘أن تجلسوا

بحسب ما تفضّلونه.

19 of 47

ماذا تفضّلون؟

لعبة

أ. بيتزا بسيطة بدون إضافات (بيتزا مارغريتا)

ب. بيتزا بسيطة بدون إضافات مع خلطة توابل مميزة

جـ. بيتزا مع زيتون

جولة 1 من 3

إذا اخترتم/ن إمكانية "ب"، قفوا🧍.

إذا اخترتم إحدى الإمكانيات الأخرى، اجلسوا.

20 of 47

ماذا تفضّلون؟

لعبة

أ. لا شكرًا، لست بحاجة لإضافة أخرى

ب. إضافة ذرة أو إضافة جبنة

(واحدة من بينهما)

جـ. إضافة مفاجأة

(الطبّاخة تختار لكم)

من بين الواقفين، وصلتم/ن إلى شباك الطلبيات، وعرضوا عليكم/ن إضافة أخرى مجانًا.

ماذا ستختارون؟

جولة 2 من 3

إذا اخترتم/ن إمكانية "جـ"، استمروا في الوقوف🧍.

إذا اخترتم إحدى الإمكانيات الأخرى، اجلسوا.

21 of 47

ماذا تفضّلون؟

لعبة

أ. إضافة خضار مميز من حديقة محل البيتزا

ب. لا شكرًا، لست بحاجة لإضافة أخرى

جـ. إضافة المزيد من الجبنة من فضلك

من بين الواقفين، عرض عليكم النادل إضافة أخرى على حساب المحل.

ماذا ستختارون؟

الجولة الأخيرة

إذا اخترتم/ن إمكانية "أ"، استمروا في الوقوف🧍.

إذا اخترتم إحدى الإمكانيات الأخرى، اجلسوا.

22 of 47

والآن، إلى النتائج....!

لعبة

اضغطوا لعرض النتائج >

من يقفون:

أنتم تحبون المغامرات، لديكم الجرأة ولا تحبون الأمور الاعتيادية. فضولكم يقودكم ولا تخافون من خوض المخاطر.

من جلسوا كل الجولات:

أنتم متواضعون، تكتفون بالقليل ولا تحبون المخاطرة.

من وقفوا في بعض الجولات:

أنتم فضوليون لكن لا تسمحون لفضولكم بتوجيهكم. تخوضون المخاطر بشكل مدروس.

23 of 47

شرط داخل شرط

تعالوا نحاول أن نفهم مبدأ اللعبة.

ماذا كانت اختيارات من وقف في كل الجولات؟

إذا كنتم تفضّلون البيتزا مع توابل مميزة:

استمروا في الوقوف

إذا كنتم تفضلون إضافة مفاجأة:

استمروا في الوقوف

إذا كنتم تفضلون إضافة خضار مميز من الحديقة:

استمروا في الوقوف

توجد هنا سلسلة مكوّنة من ثلاثة شروط،

شرط داخل شرط. في هذا الدرس سنتعلّم عن هذه الشروط.

كل هذا المقطع ملائم فقط إذا تحقق الشرط الأول

كل هذا المقطع ملائم فقط إذا تحقق الشرطان الأولان

كل هذا المقطع ملائم فقط إذا تحققت الشروط الثلاثة

24 of 47

ماذا تشمل المعروضة

تلخيص

أصابع على لوحة المفاتيح

الشرط المتداخل� والشرط المركّب

الشرط المتداخل

حملة يوم عيد الميلاد

لعبة

ماذا تعلّمنا؟

25 of 47

الشرط المتداخل - شرط داخل شرط

- - - -

إذا - - - - :

يمكننا أن نكتب أي أوامر نريد داخل الشرط، وحتى أن نكتب شرطًا داخل الشرط أيضًا!

- - - -

هل تعلم؟

"متداخل" = موجود في الداخل. الكلمة تعني أيضًا "التعشيش"، كما يعشّش الفرخ داخل عشّهِ.

الشرط المتداخل هو شرط موجود داخل شرط آخر.

- - - -

إذا - - - - :

- - - -

الشرط المتداخل

26 of 47

الشرط المتداخل - شرط داخل شرط

إذا سمحَ أهلي بذلك:

سنلتقي عندي

إذا كنّا جائعات:

سنحضّر البيتزا معًا

إذا لم يستعمل أخي كل الزيتون:

نضيف الزيتون أيضًا

إذا أردنا إضافة أخرى:

إذا وجدنا ذرة في البيت:

نضيف الذرة أيضًا

إذا رغبنا بمشاهدة فيلم مع البيتزا:

إذا لم يأكل الكلب نظاراتي:

سنشاهد فيلمًا آخر

ماذا سنفعل غدًا؟

آسفة على السؤال

27 of 47

مثال 1

في مدينة الملاهي، يُسمح بالصعود إلى القطار الهوائي "اللولبي" من جيل 12 فما فوق، بشرط أن يكون الطول أكبر من 130 سم.

نريد أن نكتب برنامجًا لكي نقرّر ما إذا كان يُسمح بالصعود إلى القطار الهوائي.

28 of 47

الشرط المتداخل في بايثون

# استقبال الجيل

age = int(input("ما هو الجيل؟ "))

# فحص الجيل والطول

if age >= 12:

# استقبال الطول

height = int(input("ما هو الطول بالسنتيمترات؟"))

if height >= 130:

print("يُسمح بالصعود إلى القطار الهوائي")

print("باي")

استقبل الجيل

إذا كان الجيل أكبر أو يساوي 12:

استقبل الطول

إذا كان الطول أكبر أو يساوي 130 سم:

اطبع: "يُسمح بالصعود إلى القطار الهوائي"

اطبع: "باي"

الشرط المتداخل

(شرط داخل شرط)

الشرط المتداخل مع مسافة بادئة

29 of 47

سؤال

مع أي مُدخَلات للجيل والطول من المفضل أن نفحص البرنامج؟

اضغطوا للأمثلة على تشغيل البرنامج >

# استقبال الجيل

age = int(input("ما هو الجيل؟ "))

# فحص الجيل والطول

if age >= 12:

# استقبال الطول

height = int(input("ما هو الطول بالسنتيمترات؟"))

if height >= 130:

print("يُسمح بالصعود إلى القطار الهوائي")

print("باي")

30 of 47

مثال على تشغيل البرنامج, الجيل 11

توضيح

# استقبال الجيل

age = int(input("ما هو الجيل؟ "))

# فحص الجيل والطول

if age >= 12:

# استقبال الطول

height = int(input("ما هو الطول بالسنتيمترات؟"))

if height >= 130:

print("يُسمح بالصعود إلى القطار الهوائي")

print("باي")

11

باي

ما هو الجيل؟

ماذا يحدث لو كان الجيل الذي يستقبله البرنامج 11؟

الشرط الخارجي لم يتحقق، لذلك الشرط المتداخل (الداخلي) لم يُفحَص بتاتًا

31 of 47

مثال على تشغيل البرنامج, الجيل 12 والطول 130

توضيح

# استقبال الجيل

age = int(input("ما هو الجيل؟ "))

# فحص الجيل والطول

if age >= 12:

# استقبال الطول

height = int(input("ما هو الطول بالسنتيمترات؟"))

if height >= 130:

print("يُسمح بالصعود إلى القطار الهوائي")

print("باي")

12

باي

130

يُسمح بالصعود إلى القطار الهوائي

ما هو الطول بالسنتيمترات؟

ما هو الجيل؟

ماذا يحدث مع هذه المُدخَلات:

الجيل 12، الطول 130؟

32 of 47

مثال على تشغيل البرنامج, الجيل 12 والطول 129

توضيح

# استقبال الجيل

age = int(input("ما هو الجيل؟ "))

# فحص الجيل والطول

if age >= 12:

# استقبال الطول

height = int(input("ما هو الطول بالسنتيمترات؟"))

if height >= 130:

print("يُسمح بالصعود إلى القطار الهوائي")

print("باي")

12

باي

129

ما هو الطول بالسنتيمترات؟

ما هو الجيل؟

ماذا يحدث مع هذه المُدخَلات:

الجيل 12، الطول 130؟

33 of 47

ماذا تشمل المعروضة

تلخيص

أصابع على لوحة المفاتيح

الشرط المتداخل� والشرط المركّب

الشرط المتداخل

حملة يوم عيد الميلاد

لعبة

ماذا تعلّمنا؟

34 of 47

الشرط المركّب والشرط المتداخل

نقاش

في البرنامج السابق، هل كان بإمكاننا أن نفحص ما إذا كان يُسمح بالصعود إلى القطار الهوائي بدون استخدام الشرط المتداخل؟

اضغطوا للإجابة >

اضغطوا للإجابة >

في البرنامج السابق، استقبلنا الطول فقط إذا كان الجيل ملائمًا.

لكن إذا استقبلنا الجيل والطول في بداية البرنامج، يمكننا أن نفحص من خلال شرط مركّب واحد ما إذا كان يُسمح بالصعود إلى القطار.

سنرى ذلك في الشريحة القادمة.

35 of 47

شرط متداخل شرط مركّب

استقبل الجيل

إذا كان الجيل أكبر أو يساوي 12:

استقبل الطول

إذا كان الطول أكبر أو يساوي 130:

اطبع: "يُسمح بالصعود إلى القطار الهوائي"

اطبع: "باي"

استقبل الجيل

استقبل الطول

إذا كان الجيل أكبر أو يساوي 12 وأيضًا الطول أكبر أو يساوي 130:

اطبع: "يُسمح بالصعود إلى القطار الهوائي"

اطبع: "باي"

الشرط المتداخل:

  • شرطان
  • نستقبل الطول فقط بشرط أن يكون الجيل ملائمًا

الشرط المركّب:

  • شرط واحد
  • نستقبل الطول والجيل في جميع الحالات

كيف يمكننا أن نكتب البرنامج مع الشرط المركّب؟

هل نستخدم and أم or؟

اضغطوا للإجابة >

36 of 47

الشرط المركّب في بايثون

استقبل الجيل

استقبل الطول

إذا كان الجيل أكبر أو يساوي 12 وأيضًا الطول أكبر أو يساوي 130:

اطبع: "يُسمح بالصعود إلى القطار الهوائي"

اطبع: "باي"

age = int(input("ما هو الجيل؟"))

height = int(input("ما هو الطول بالسنتيمترات؟"))

if (age >= 12) and (height >= 30)

print("يُسمح بالصعود إلى القطار الهوائي")

print("باي")

انتبهوا:

يمكن أيضًا بدون أقواس!

ما هي الطريقة الأنسب لكم/ن؟

هل يمكننا أن نضيف لهذا الكود رسالة للولد، بالسبب الذي يمنعه من الصعود إلى القطار الهوائي؟ هل بسبب الجيل أم بسبب الطول، أم كليهما معًا؟

اضغطوا للإجابة >

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

37 of 47

كتابة السبب بمساعدة الشرط المتداخل

استقبل الجيل

إذا كان الجيل أكبر أو يساوي 12:

استقبل الطول

إذا كان الطول أكبر أو يساوي 130 سم:

اطبع: "يُسمح بالصعود إلى القطار الهوائي"

وإلّا:

اطبع "الطول أقصر من المطلوب"

وإلّا:

اطبع "الجيل أصغر من المطلوب"

اطبع: "باي"

# استقبال الجيل

age = int(input("ما هو الجيل؟"))

# فحص الطول والجيل

if age >= 12:

# استقبال الطول

height = int(input("ما هو الطول بالسنتيمترات؟"))

if height >= 130:

print("يُسمح بالصعود إلى القطار الهوائي")

else:

print("الطول أقصر من المطلوب")

else:

print("الجيل أصغر من المطلوب")

print("باي")

انتبهوا إلى المسافات البادئة!

أيّ "وإلّا" ملائمة لأي "إذا"؟

38 of 47

نخطط دائمًا!

مهمة

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

الحلول في الشريحة التالية >

هل نستخدم الشرط المتداخل أم الشرط المركّب؟ ربّما يمكن استخدام الإمكانيتين؟

كيف يعرف الحاسوب ما هو تاريخ اليوم؟ لا تقلقوا! هناك طريقة في بايثون لمعرفة التاريخ.

اكتبوا برنامجًا يستقبل اليوم الذي وُلِدتم فيه (31-1)

والشهر الذي وُلِدتم فيه (12-1).

إذا كان اليوم هو يوم عيد ميلادكم، يطبع البرنامج معايدة "كل عام وأنت بخير".

البرنامج يطبع في جميع الأحوال "نهارك سعيد".

39 of 47

التخطيط بمساعدة شرط متداخل وشرط مركّب

مهمة

استقبل اليوم الذي وُلِدت فيه

إذا كان اليوم الذي وُلِدت فيه مساويًا لليوم:

استقبل الشهر الذي وُلِدت فيه

إذا كان الشهر الذي وُلِدت فيه مساويًا للشهر الحالي:

اطبع "كل عام وأنت بخير"

اطبع "نهارك سعيد"

استقبل اليوم الذي وُلِدت فيه

استقبل الشهر الذي وُلِدت فيه

إذا كان اليوم الذي وُلِدت فيه مساويًا لليوم الحالي وأيضًا

الشهر الذي وُلِدت فيه مساويًا للشهر الحالي:

اطبع "كل عام وأنت بخير"

اطبع "نهارك سعيد"

شرط مركّب

شرط متداخل

40 of 47

الشرط المركّب - أمثلة

مراجعة

يجب إجراء صيانة دورية للسيارة إذا مرّت سنة من موعد الصيانة الأخيرة أو إذا قطعت السيارة مسافة 10,000 كم من الصيانة الأخيرة.

يمكن الدخول إلى البركة مع بطاقة إذا بقيت فيها أذونات دخول ومرّ أقل من 365 يومًا (سنة) منذ شراء البطاقة

اضغطوا للإجابة >

اضغطوا للإجابة >

أي تعابير منطقية ملائمة للأمثلة التالية؟

if month >= 12 or km >= 10000:

print("حان الوقت لصيانة 10,000")

if entrances > 0 and days <= 365:

print("يمكن الدخول إلى البركة")

41 of 47

ماذا تشمل المعروضة

تلخيص

أصابع على لوحة المفاتيح

الشرط المتداخل� والشرط المركّب

الشرط المتداخل

حملة يوم عيد الميلاد

لعبة

ماذا تعلّمنا؟

42 of 47

لحظة قبل لوحة المفاتيح

هذا البرنامج يفحص ما إذا كسرتم الرقم القياسي العالمي في القفز الطويل للنساء أو للرجال*

*الأرقام القياسية هي لعام 2024

جِدوا الأخطاء.

سؤال

اضغطوا لمشاهدة الأخطاء >

اضغطوا لمشاهدة الأخطاء >

# استقبال مسافة القفز الطويل بالأمتار

gender = input("Enter your gender male / female: ")

jump = float(input("What distance did you jump (meters?) "))

# مقارنة مع الرقم القياسي العالمي

if gender == "male":

if jump > 8.95

print("You broke world record for men!!!!")

elif gender == "female":

if jump > 7.52:

print("You broke world record for women!!!!")

elif:

print("Didn't get gender")

print("Bye")

1

2

1. تنقص نقطتان

2. تنقص مسافة بادئة

3. الشرط الأخير هنا يجب أن يكون else

3

43 of 47

أصابع على لوحة المفاتيح

يجب تقديم البنود 7-1

44 of 47

ماذا تشمل المعروضة

إنهاء

أصابع على لوحة المفاتيح

الشرط المتداخل� والشرط المركّب

الشرط المتداخل

حملة يوم عيد الميلاد

لعبة

ماذا تعلّمنا؟

45 of 47

ماذا تعلمنا اليوم؟

تلخيص

نختتم بسؤال.

جاهزون؟ جاهزات؟

46 of 47

ما المشكلة؟

سؤال

بحسب القانون في إسرائيل، يمكن التقدم لامتحان السياقة فقط بعد اجتياز الامتحان النظري (تيؤوريا) وإجراء 28 درس سياقة على الأقل

اضغطوا للإجابة >

استقبال المتغير lessons يجب أن يكون مع مسافة بادئة

اضغطوا للإجابة >

# استقبال امتحان اجتياز الامتحان النظري

pass_theory = int(input("Did you pass theory test? yes/no "))

# فحص الجيل

if pass_theory == "yes":

lessons = int(input("How many lessons? "))

if lessons >= 28:

print("يمكن التقدم لامتحان السياقة")

ساعدوني على فهم الخطأ!

47 of 47

إلى اللقاء في الأسبوع القادم!

مقدمات

© כל הזכויות שמורות למרכז לחינוך סייבר מיסודה של קרן רש"י ולקרן טראמפ

מבואות