تدريب 4 - كتاب المهارات الرقمية - الصف 8 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب المهارات الرقمية - الصف 8 - الفصل 1 | المادة: المهارات الرقمية | المرحلة: الصف 8 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: تدريب 4

📚 معلومات الصفحة

الكتاب: كتاب المهارات الرقمية - الصف 8 - الفصل 1 | المادة: المهارات الرقمية | المرحلة: الصف 8 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: تمارين وأسئلة

📝 ملخص الصفحة

📝 صفحة تمارين وأسئلة

هذه الصفحة تحتوي على أسئلة مرقمة للواجبات والتقييم.

راجع تبويب الواجبات للإجابات الكاملة على أسئلة الصفحة.

📋 المحتوى المنظم

📖 محتوى تعليمي مفصّل

تدريب 4

نوع: محتوى تعليمي

تدريب 4

نوع: QUESTION_HOMEWORK

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

تدريب 5

نوع: محتوى تعليمي

تدريب 5

نوع: QUESTION_HOMEWORK

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

تدريب 6

نوع: محتوى تعليمي

تدريب 6

نوع: QUESTION_HOMEWORK

اكتب مقطعًا برمجيًا يسأل الطالب عن درجاته في أربع مواد، ثم أنشئ دالة تأخذ هذه الدرجات كوسائط ويحسب ما إذا كان الطالب قد اجتاز الفصل أم لا. لاجتياز الفصل، يجب أن يكون لدى الطالب متوسط أعلى من 12. يجب أن تكون الدرجات أعدادًا صحيحة أكبر من 0 وأقل من 21.

نوع: METADATA

وزارة التعليم Ministry of Education 2025 - 1447

نوع: METADATA

171

📄 النص الكامل للصفحة

--- SECTION: تدريب 4 --- تدريب 4 اكتب دالة في بايثون تقبل ثلاثة أرقام وتعيد الرقم الأكبر من بين هذه الأرقام. --- SECTION: تدريب 5 --- تدريب 5 اكتب مقطعًا برمجيًا ودالة من أجل طباعة رسالة، على سبيل المثال، "مرحبًا بك في المدرسة يا خالد". اسم المستخدم هو معامل البرنامج. 1. أنشئ المقطع البرمجي الرئيس الذي يحدد قيمة الوسائط والدالة التي تطبع الرسالة. 2. أنشئ مقطعًا برمجيًا آخر يُدخل فيه المستخدم قيمة المعاملات في الدالة، ويطبع المقطع البرمجي الرئيس الرسالة. --- SECTION: تدريب 6 --- تدريب 6 اكتب مقطعًا برمجيًا يسأل الطالب عن درجاته في أربع مواد، ثم أنشئ دالة تأخذ هذه الدرجات كوسائط ويحسب ما إذا كان الطالب قد اجتاز الفصل أم لا. لاجتياز الفصل، يجب أن يكون لدى الطالب متوسط أعلى من 12. يجب أن تكون الدرجات أعدادًا صحيحة أكبر من 0 وأقل من 21. وزارة التعليم Ministry of Education 2025 - 1447 171

✅ حلول أسئلة الكتاب الرسمية

عدد الأسئلة: 3

سؤال 4: اكتب دالة في بايثون تقبل ثلاثة أرقام وتعيد الرقم الأكبر من بين هذه الأرقام.

الإجابة: س4: دالة تستقبل 3 أعداد (a,b,c) وتعيد الأكبر. تقارن القيم: إذا a الأكبر تعيده، وإلا b، وإلا c.

خطوات الحل:

  1. **الخطوة 1: جدول المعطيات والمطلوب** | العنصر | الوصف | |--------|--------| | **المعطيات** | ثلاثة أرقام (a, b, c) | | **المطلوب** | كتابة دالة في بايثون تقبل هذه الأرقام وتعيد الرقم الأكبر بينها |
  2. **الخطوة 2: المبدأ المستخدم** استخدام **هيكل اتخاذ القرار (if-elif-else)** للمقارنة بين القيم وتحديد القيمة الأكبر.
  3. **الخطوة 3: تصميم الدالة** 1. نعرف دالة باسم `find_max` تأخذ ثلاثة معاملات: `a`, `b`, `c`. 2. داخل الدالة، نستخدم **المقارنات المنطقية**: - **إذا** كان `a` أكبر من `b` **وأيضًا** أكبر من `c`، فإن `a` هو الأكبر. - **وإلا إذا** كان `b` أكبر من `a` **وأيضًا** أكبر من `c`، فإن `b` هو الأكبر. - **وإلا**، فإن `c` هو الأكبر تلقائيًا. 3. تُعيد الدالة الرقم الأكبر.
  4. **الخطوة 4: كتابة كود الدالة** python 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 > **ملاحظة:** استخدمنا `>=` بدلاً من `>` لمعالجة الحالة التي تكون فيها القيم متساوية؛ في هذه الحالة، تُعيد الدالة أيًا من القيم المتساوية (الأولى التي تتحقق شروطها).
  5. **الخطوة 5: الإجابة النهائية** الدالة `find_max(a, b, c)` تُحلّ المشكلة بوضوح: تقارن القيم الثلاث باستخدام **عبارات if-elif-else** وتُعيد القيمة العظمى منها، مما يحقق المطلوب بدقة وكفاءة.

سؤال 5: اكتب مقطعًا برمجيًا ودالة من أجل طباعة رسالة، على سبيل المثال، "مرحبًا بك في المدرسة يا خالد". اسم المستخدم هو معامل البرنامج. أنشئ المقطع البرمجي الرئيس الذي يحدد قيمة الوسائط والدالة التي تطبع الرسالة. أنشئ مقطعًا برمجيًا آخر يُدخل فيه المستخدم قيمة المعاملات في الدالة، ويطبع المقطع البرمجي الرئيس الرسالة.

الإجابة: س 5: دالة تطبع رسالة ترحيب بالاسم. المقطع الرئيس: يحدد الاسم ويستدعي الدالة. مقطع آخر: يطلب الاسم ويمرره للدالة.

خطوات الحل:

  1. **الخطوة 1: جدول المعطيات والمطلوب** | العنصر | الوصف | |--------|--------| | **المعطيات** | اسم المستخدم (كمعامل للدالة) | | **المطلوب** | كتابة: 1. **دالة** تطبع رسالة ترحيب باستخدام الاسم. 2. **مقطع برمجي رئيسي** يحدد قيمة الوسيط ويستدعي الدالة. 3. **مقطع برمجي آخر** يسمح للمستخدم بإدخال الاسم ويمرره للدالة للطباعة. |
  2. **الخطوة 2: المبدأ المستخدم** 1. **تعريف الدوال** في بايثون باستخدام `def`. 2. **المعاملات (Parameters)** للدالة لتمرير البيانات. 3. **وظيفة الإدخال** `input()` للحصول على بيانات من المستخدم. 4. **استدعاء الدالة** من البرنامج الرئيسي.
  3. **الخطوة 3: كتابة الدالة** نعرف دالة `print_greeting` تأخذ معامل `name` وتطبع رسالة ترحيب: python def print_greeting(name): print(f"مرحبًا بك في المدرسة يا {name}")
  4. **الخطوة 4: كتابة المقطع البرمجي الرئيسي (يحدد قيمة الوسيط)** هنا نحدد الاسم مباشرة في الكود ونستدعي الدالة: python # المقطع البرمجي الرئيسي user_name = "خالد" # تحديد قيمة الوسيط print_greeting(user_name) # استدعاء الدالة
  5. **الخطوة 5: كتابة المقطع البرمجي الآخر (يدخل فيه المستخدم القيمة)** هذا المقطع يطلب من المستخدم إدخال الاسم ثم يمرره للدالة: python # مقطع برمجي آخر user_name = input("أدخل اسمك: ") # إدخال قيمة الوسيط من المستخدم print_greeting(user_name) # استدعاء الدالة بالقيمة المدخلة
  6. **الخطوة 6: الإجابة النهائية** تم كتابة **دالة `print_greeting(name)`** تطبع رسالة ترحيب مخصصة، مع **مقطعين برمجيين**: أحدهما يحدد الاسم ثابتًا، والآخر يسمح بالإدخال الديناميكي من المستخدم، مما يغطي جميع متطلبات السؤال بشكل تعليمي واضح.

سؤال 6: اكتب مقطعًا برمجيًا يسأل الطالب عن درجاته في أربع مواد، ثم أنشئ دالة تأخذ هذه الدرجات كوسائط ويحسب ما إذا كان الطالب قد اجتاز الفصل أم لا. لاجتياز الفصل، يجب أن يكون لدى الطالب متوسط أعلى من 12. يجب أن تكون الدرجات أعدادًا صحيحة أكبر من 0 وأقل من 21.

الإجابة: س6: اطلب 4 درجات (1-20) واحسب المتوسط. إذا > 12: اجتاز، وإلا: لم يجتز. تأكد من صحة الدرجات.

خطوات الحل:

  1. **الخطوة 1: جدول المعطيات والمطلوب** | العنصر | الوصف | |--------|--------| | **المعطيات** | درجات الطالب في أربع مواد (أعداد صحيحة بين 0 و20) | | **المطلوب** | كتابة: 1. **مقطع برمجي** يطلب إدخال الدرجات الأربع. 2. **دالة** تأخذ الدرجات كوسائط، وتحسب المتوسط، وتحدد إذا كان الطالب **اجتاز** (متوسط > 12) أم **لم يجتز**. 3. **التأكد من صحة الدرجات** (أنها ضمن المدى 0-20). |
  2. **الخطوة 2: المبدأ المستخدم** 1. **حساب المتوسط** باستخدام القانون: $\text{المتوسط} = \frac{\text{مجموع الدرجات}}{\text{عدد المواد}}$. 2. **اتخاذ القرار** باستخدام `if-else` بناءً على شرط المتوسط > 12. 3. **التحقق من صحة الإدخال** باستخدام **الشروط المنطقية** للتأكد من أن الدرجات بين 0 و20.
  3. **الخطوة 3: كتابة المقطع البرمجي لطلب الدرجات** يطلب المقطع الدرجات من المستخدم ويتحقق من صحتها: python # طلب الدرجات مع التحقق scores = [] for i in range(4): while True: try: score = int(input(f"أدخل الدرجة للمادة {i+1} (0-20): ")) if 0 <= score <= 20: scores.append(score) break else: print("خطأ: الدرجة يجب أن تكون بين 0 و20. حاول مرة أخرى.") except ValueError: print("خطأ: أدخل رقمًا صحيحًا فقط.")
  4. **الخطوة 4: كتابة الدالة `check_pass`** تأخذ الدالة الدرجات كوسائط، وتحسب المتوسط، وتحدد النتيجة: python def check_pass(score1, score2, score3, score4): # حساب المتوسط average = (score1 + score2 + score3 + score4) / 4 # تحديد إذا اجتاز أم لا if average > 12: return "اجتاز" else: return "لم يجتز" > **ملاحظة:** استخدمنا `>` (أكبر من) وليس `>=` (أكبر من أو يساوي) لأن الشرط هو **أعلى من 12** فقط.
  5. **الخطوة 5: استدعاء الدالة وعرض النتيجة** بعد جمع الدرجات، نستدعي الدالة ونعرض النتيجة: python # استدعاء الدالة وعرض النتيجة result = check_pass(scores[0], scores[1], scores[2], scores[3]) print(f"متوسط الدرجات: {sum(scores)/4:.2f}") print(f"النتيجة: الطالب {result} الفصل.")
  6. **الخطوة 6: الإجابة النهائية** تم تطوير **مقطع برمجي متكامل** يطلب درجات الطالب مع **التحقق من صحتها** (بين 0 و20)، ثم يستخدم **دالة `check_pass`** لحساب المتوسط وتقرير **اجتياز** أو **عدم اجتياز** الفصل بناءً على كون المتوسط أكبر من 12، مما يحقق جميع أجزاء السؤال بدقة.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 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).

التصنيف: مسألة تدريبية | المستوى: صعب