المهارات الرقمية فصل أول

الحادي عشر خطة جديدة

icon

الجمل الشرطية

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

 

أولًا: الجملة الشرطية ( if (if statement
تُكتَب الصيغة العامة للجملة الشرطية ( if ) على النحو الآتي:


if condition:
   statements1

 

حيث:
If : كلمة محجوزة في لغة البرمجة بايثون(Python)
condition : الشرط (تعبير منطقي).
statements : أوامر برمجية تُنفَّذ إذا كان الشرط صحيحًا (تحقُّق الشرط).
(:) : علامة يجب أنْ توضَع بعد الشرط ( condition ) حتّى يُنفَّذ البرنامج.
مثال:
يطبع البرنامج الآتي عبارة " y is greater than x " إذا كانت قيمة المُتغيِّر ( y) أكبر من قيمة المُتغيِّر (x)


x = 3
y = 20
if y > x: print("y is greater than x")


عند تشغيل البرنامج، ستظهر النتيجة الآتية على شاشة جهاز الحاسوب:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

الحل :

 

 

 

 

 

 

 

ثانيًا: الجملة الشرطية (if else)
تُكتَب الصيغة العامة للجملة الشرطية ( if else ) على النحو الآتي:


if condition:
   statements1
else:
    statements2

 


حيث:
if, else : كلمتان محجوزتان في لغة البرمجة بايثون (Python)
statements1 : أوامر برمجية تُنفَّذ إذا كان الشرط صحيحًا (تحقُّق الشرط).
statements2 : أوامر برمجية تُنفَّذ إذا لم يكن الشرط صحيحًا (عدم تحقُّق الشرط).
(:): علامة يجب أنْ توضع بعد الشرط ( condition ) و بعد جملة .else
مثال:
يطبع البرنامج الآتي عبارة " y is less than x " إذا كانت قيمة المُتغيِّر ( y) أقل من قيمة المُتغيِّر (x)
ويطبع البرنامج عبارة " x is less than y " إذا كانت قيمة المُتغيِّر ( x) أقل من قيمة المُتغيِّر (y)


x = 80
y = 100
if y < x:
   print("y is less than x")
else:
  print("x is less than y")


عند تشغيل البرنامج، ستظهر النتيجة الآتية:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ثالثًا: الجملة الشرطية (if elif)
تُكتَب الصيغة العامة للجملة الشرطية ( if elif ) على النحو الآتي:


if condition1:
   statements1
elif condition2:
   statements2


حيث:
if, elif : كلمتان محجوزتان في لغة البرمجة بايثون (Python)
statements1 : أوامر برمجية تُنفَّذ إذا تحقَّق الشرط(condition1)
statements2 : أوامر برمجية تُنفَّذ إذا تحقَّق الشرط (condition2)
مثال:
يطبع البرنامج الآتي عبارة " y is greater than x " إذا كانت قيمة المُتغيِّر ( y) أكبر من قيمة المُتغيِّر (x)
ويطبع البرنامج عبارة " x equals y " إذا كانت قيمة المُتغيِّرَ ) x( تساوي قيمة المُتغيِّر (y)


x = 20
y = 20
if y > x:
print('y is greater than x')
elif x == y:
print('x equals y')


عند تشغيل البرنامج، ستظهر النتيجة الآتية:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

رابعًا: الجملة الشرطية (if elif else)
تُكتَب الصيغة العامة للجملة الشرطية ( if elif else ) على النحو الآتي:


if condition1:
statements1
elif condition2:
statements2
else:
statements3


حيث:
if, else, elif : كلمات محجوزة في لغة البرمجة بايثون (Python)
statements1 : أوامر برمجية تُنفَّذ إذا تحقَّق الشرط(condition1)
statements2 : أوامر برمجية تُنفَّذ إذا تحقَّق الشرط (condition2)
statements3 : أوامر برمجية تُنفَّذ إذا لم يتحقَّق أيٌّ من الشرطين (condition2, condition1)
مثال:
يطبع البرنامج الآتي عبارة " y is greater than x " إذا كانت قيمة المُتغيِّر ( y) أكبر من قيمة المُتغيِّر (x)

ويطبع البرنامج عبارة " x equals y " إذا كانت قيمة المُتغيِّر ( x) تساوي قيمة المُتغيِّر ( y)،

ويطبع البرنامج عبارة " x is greater than y " إذا كانت قيمة المُتغيِّر ( y)أصغر من قيمة المُتغيِّر (x)


x = 50
y = 25
if y > x:
print("y is greater than x")
elif y == x:
print("x equals y")
else:
print("x is greater than y")


عند تشغيل البرنامج، ستظهر النتيجة الآتية:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

الحل : مقارنة  بين طريقة كتابة الجملة الشرطية في لغة Python ولغة ++C 

  • في Python كتابة الاوامر  تعتمد على المسافات
  • في ++C تستخدم الأقواس المتعرجة {}
  • الكلمة المفتاحية else    اختيارية  في Python و إلزامية في ++C  إذا أردت تنفيذ تعليمات بديلة

 

الجملة الشرطية في Python: تتميز Python ببساطتها وقابليتها للقراءة، وتستخدم الكلمة المفتاحية if لبدء الجملة الشرطية. 
مثال:

Python
x = 10
if x > 5:
    print("القيمة أكبر من 5")
else:
    print("القيمة أصغر من أو تساوي 5")


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


مثال:

C++
int x = 10;
if (x > 5) {
    cout << "القيمة أكبر من 5" << endl;
} else {
    cout << "القيمة أصغر من أو تساوي 5" << endl;
}

 

 

المُعامِلات المنطقية (Logical Operators)
يُستعمَل المُعامِل المنطقي(and) والمُعامِل المنطقي ( or ) لربط التعابير المنطقية البسيطة، وتكوين جمل منطقية مُركَّبة، في حين يُستعمَل المُعامِل المنطقي ( not ) لنفي التعابير المنطقية.
1. المُعامِل المنطقي(and):
قد يتوقَّف تنفيذ أمر برمجي مُعيَّن في البرنامج على تحقُّق مجموعة من الشروط مُجتمِعةً.
مثال:
يراد طباعة كلمة " Excellent " إذا كان مُعدَّل الطالب/ الطالبة أكبر من أو يساوي ( 90 ) وأقل من أو يساوي ( 100 ).
الحَلُّ:
يجب استعمال المُعامِل المنطقي ) and ( للدلالة على تحقُّق الشرطين معًا، وتُكتَب الأوامر البرمجية على النحو الآتي:

 

if Avg >= 90 and Avg <=100:
print("Excellent")


عند تشغيل البرنامج، ستظهر النتيجة الآتية:

 

 

 

 

 

 

 

2. المُعامِل المنطقي (or)
قد يتوقَّف تنفيذ أمر مُعيَّن في البرنامج على تحقُّق شرط من مجموعة شروط.
مثال:
يراد طباعة قيمة المُتغيِّر( x) إذا كانت قيمة هذا المُتغيِّر تساوي ( 1( أو ) 2).
الحَلُّ:
يجب استعمال المُعامِل المنطقي ( or ) للدلالة على تنفيذ جملة الطباعة في حال تحقَّق أحد الشرطين، وتُكتَب الأوامر البرمجية على النحو الآتي:


x = 1
if x == 1 or x == 2:
print('you selected a valid number')


عند تشغيل البرنامج، ستظهر النتيجة الآتية:

 

 

 

3. المُعامِل المنطقي (not):
قد يتوقَّف تنفيذ أمر في البرنامج على عدم تحقُّق شرط مُعيَّن.

مثال:
يراد طباعة كلمة " Fail " إذا لم يُحقِّق الطالب/ الطالبة شرط النجاح (Avg >= 50)
الحَلُّ:
يجب استعمال المُعامِل المنطقي ( not ) للدلالة على عدم تحقُّق الشرط، وتُكتَب الأوامر البرمجية على النحو الآتي:


Avg = 49
if not Avg >= 50:
print("Fail")


عند تشغيل البرنامج، ستظهر النتيجة الآتية:

 

 

 

 

 

 

 

 

 

الجملة الشرطية المُركَّبة (Nested Conditional Statements)
تُوفِّر لغة البرمجة بايثون ( Python ) إمكانية كتابة جمل شرطية مُركَّبة (مُتداخِلة)؛ أيْ وضع جملة شرطية( if ) داخل جملة شرطية (if ) أُخرى.
مثال:
يطبع البرنامج الآتي عبارة " Above ten " إذا كانت قيمة ( x) أكبر من(10 )، ثمَّ يتحقَّق إذا كانت قيمة (x) ( أكبر من ) (60 ). فيطبع البرنامج، إضافة إلى العبارة السابقة، عبارة " and also above 60 " إذا كانت قيمة (x)( أكبر من ) (60)، و يطبع

عبارة " but not above 60 " إذا كانت قيمة ( x) ( أقل من ) (60 ).

 

x = 68
if x > 10:
print("Above ten,")
if x > 60:
print("and also above 60.")
else:
print("but not above 60.")


عند تشغيل البرنامج، ستظهر النتيجة الآتية:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

مثال:
يُستخدَم البرنامج الآتي في التحقُّق إذا كانت قيمة المُتغيِّر( y) تقبل القسمة على ( 3)، وتقبل القسمة على (2)، أو تقبل القسمة على أحدهما ، أو لا تقبل القسمة على أي منهما. ثمَّ يطبع البرنامج العبارة الدالَّة على ذلك.


y = 9
if y %2==0:
if y %3==0:
print("divisible by 3 and 2")
else:
print("divisible by 2, but not divisible by 3")
else:
if y %3==0:
print("divisible by 3, but not divisible by 2")
else:
print("not divisible by 2 and not divisible by 3")

 

عند تشغيل البرنامج، ستظهر النتيجة الآتية:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • grade = int( input("Enter your grade: "))
    grade المتغير يجب تعريف 
    
    if grade >= 85
                      ^
    SyntaxError: expected ':'
    

 ':' نحتاج بعد جملة الشرط  if  في  جملة 

  •  print("A")
        ^
    IndentationError: expected an indented block after 'if' statement on line 2
    

نحتاج لفراغ قبل الجملة print 

  • elif grade >= 75 ^ SyntaxError: expected ':'  

     ':' نحتاج بعد جملة الشرط  if  في  جملة 

  • print("B") ^ IndentationError: expected an indented block after 'elif' statement on line 4
  • print("C")
        ^
    IndentationError: expected an indented block after 'elif' statement on line 6
    

 

نحتاج لفراغ قبل الجملة print 

else ^ SyntaxError: expected ':'

 ':' نحتاج بعد جملة الشرط else  في  جملة