📋 المحتوى المنظم
📖 محتوى تعليمي مفصّل
تدريب 4
نوع: محتوى تعليمي
تدريب 4
نوع: QUESTION_HOMEWORK
اكتب دالة في بايثون تقبل ثلاثة أرقام وتعيد الرقم الأكبر من بين هذه الأرقام.
تدريب 5
نوع: محتوى تعليمي
تدريب 5
نوع: QUESTION_HOMEWORK
اكتب مقطعًا برمجيًا ودالة من أجل طباعة رسالة، على سبيل المثال، "مرحبًا بك في المدرسة يا خالد". اسم المستخدم هو معامل البرنامج.
تدريب 6
نوع: محتوى تعليمي
تدريب 6
نوع: QUESTION_HOMEWORK
اكتب مقطعًا برمجيًا يسأل الطالب عن درجاته في أربع مواد، ثم أنشئ دالة تأخذ هذه الدرجات كوسائط ويحسب ما إذا كان الطالب قد اجتاز الفصل أم لا.
لاجتياز الفصل، يجب أن يكون لدى الطالب متوسط أعلى من 12.
يجب أن تكون الدرجات أعدادًا صحيحة أكبر من 0 وأقل من 21.
نوع: METADATA
وزارة التعليم
Ministry of Education
2025 - 1447
نوع: METADATA
171
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 3 بطاقة لهذه الصفحة
أي من الدوال التالية في لغة بايثون تقبل ثلاثة أرقام وتعيد الرقم الأكبر من بينها بشكل صحيح؟
- أ) def find_max(a, b, c):
if a > b and a > c:
return a
elif b > a and b > c:
return b
else:
return c
- ب) def find_max(a, b, c):
if a >= b and a >= c:
return a
elif b >= a and b >= c:
return b
else:
return c
- ج) def find_max(a, b, c):
max_num = a
if b > max_num:
max_num = b
if c > max_num:
max_num = c
return max_num
- د) def find_max(a, b, c):
return max(a, b, c)
الإجابة الصحيحة: b
الإجابة: def find_max(a, b, c):
if a >= b and a >= c:
return a
elif b >= a and b >= c:
return b
else:
return c
الشرح: ١. تعريف الدالة find_max بثلاثة معاملات (a, b, c).
٢. استخدام عبارة if للتحقق: إذا كان a أكبر من أو يساوي b وأكبر من أو يساوي c، تُعيد a.
٣. استخدام elif للتحقق: إذا كان b أكبر من أو يساوي a وأكبر من أو يساوي c، تُعيد b.
٤. في أي حالة أخرى، تُعيد c (لأنها تكون الأكبر).
٥. استخدام >= بدلاً من > يعالج حالات التساوي.
تلميح: تأكد من استخدام المقارنة المنطقية 'و' (and) للتحقق من أن الرقم هو الأكبر مقارنة بالاثنين الآخرين.
التصنيف: مسألة تدريبية | المستوى: متوسط
أي من المقاطع البرمجية التالية في بايثون يطبع رسالة ترحيب بالاسم 'خالد' باستخدام دالة، ثم يطلب من المستخدم إدخال اسم آخر ويرحب به؟
- أ) def greet():
print('مرحبًا بك في المدرسة')
greet()
name = input('أدخل اسمك: ')
print('مرحبًا', name)
- ب) def print_greeting(name):
print('مرحبًا بك في المدرسة يا', name)
print_greeting('خالد')
print_greeting(input('أدخل اسمك: '))
- ج) def print_greeting(name):
print(f'مرحبًا بك في المدرسة يا {name}')
# المقطع الرئيسي
user_name = 'خالد'
print_greeting(user_name)
# مقطع آخر
new_name = input('أدخل اسمك: ')
print_greeting(new_name)
- د) name = 'خالد'
print(f'مرحبًا بك في المدرسة يا {name}')
name2 = input('أدخل اسمك: ')
print(f'مرحبًا بك في المدرسة يا {name2}')
الإجابة الصحيحة: c
الإجابة: def print_greeting(name):
print(f'مرحبًا بك في المدرسة يا {name}')
# المقطع الرئيسي
user_name = 'خالد'
print_greeting(user_name)
# مقطع آخر
new_name = input('أدخل اسمك: ')
print_greeting(new_name)
الشرح: ١. تعريف دالة print_greeting تأخذ معامل name وتطبع رسالة ترحيب.
٢. في المقطع الرئيسي: تعيين اسم 'خالد' لمتغير واستدعاء الدالة.
٣. في المقطع الآخر: استخدام دالة input() لطلب اسم من المستخدم، ثم تمريره للدالة print_greeting.
٤. هذا يحقق كلا الجزأين المطلوبين.
تلميح: تذكر أن الدالة تأخذ معاملًا (parameter) هو الاسم، وتستخدم f-string لدمج الاسم في الرسالة.
التصنيف: مسألة تدريبية | المستوى: سهل
أي من المقاطع البرمجية التالية في بايثون يطلب 4 درجات (بين 0 و20) من المستخدم، ثم يستخدم دالة لحساب المتوسط وتحديد ما إذا اجتاز الطالب (متوسط > 12) أم لا؟
- أ) def check_pass(s1, s2, s3, s4):
avg = (s1+s2+s3+s4)/4
if avg >= 12:
return 'اجتاز'
else:
return 'لم يجتز'
scores = [int(input(f'درجة {i+1}: ')) for i in range(4)]
print(check_pass(*scores))
- ب) def check_pass(scores):
avg = sum(scores)/len(scores)
return avg > 12
scores = []
for i in range(4):
s = int(input(f'أدخل درجة المادة {i+1}: '))
if s<0 or s>20:
print('خطأ')
break
scores.append(s)
if check_pass(scores):
print('اجتاز')
else:
print('لم يجتز')
- ج) def check_pass(s1, s2, s3, s4):
avg = (s1 + s2 + s3 + s4) / 4
return 'اجتاز' if avg > 12 else 'لم يجتز'
scores = []
for i in range(4):
while True:
try:
s = int(input(f'أدخل درجة المادة {i+1}: '))
if 0 <= s <= 20:
scores.append(s)
break
else:
print('الدرجة يجب أن تكون بين 0 و 20')
except:
print('أدخل رقمًا صحيحًا')
result = check_pass(scores[0], scores[1], scores[2], scores[3])
print(f'النتيجة: {result}')
- د) scores = [int(input(f'الدرجة {i+1}: ')) for i in range(4)]
avg = sum(scores)/4
if avg > 12:
print('اجتاز')
else:
print('لم يجتز')
الإجابة الصحيحة: c
الإجابة: def check_pass(s1, s2, s3, s4):
avg = (s1 + s2 + s3 + s4) / 4
return 'اجتاز' if avg > 12 else 'لم يجتز'
scores = []
for i in range(4):
while True:
try:
s = int(input(f'أدخل درجة المادة {i+1}: '))
if 0 <= s <= 20:
scores.append(s)
break
else:
print('الدرجة يجب أن تكون بين 0 و 20')
except:
print('أدخل رقمًا صحيحًا')
result = check_pass(scores[0], scores[1], scores[2], scores[3])
print(f'النتيجة: {result}')
الشرح: ١. تعريف دالة check_pass تحسب المتوسط وتعيد 'اجتاز' إذا كان > 12، وإلا 'لم يجتز'.
٢. إنشاء قائمة scores فارغة.
٣. استخدام حلقة for مع while داخلي للتحقق من صحة الإدخال.
٤. استخدام try-except للتحقق من أن الإدخال رقم صحيح.
٥. إذا كانت الدرجة بين 0 و20، نضيفها للقائمة ونكسر الحلقة.
٦. بعد جمع الدرجات الأربع، نستدعي الدالة ونطبع النتيجة.
تلميح: تأكد من استخدام حلقة while داخل for للتحقق من صحة الإدخال (رقم صحيح بين 0 و20).
التصنيف: مسألة تدريبية | المستوى: صعب