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

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

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

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

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

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

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

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

📝 ملخص الصفحة

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

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

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

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

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

تدريب 4

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

أنشئ مقطعًا برمجيًا بلغة بايثون وفق الآتي: < أنشئ الملف النصي "temperature.txt" . < اكتب في الملف متوسط درجة الحرارة الأسبوعية لمدينة الرياض، خلال شهر يناير. < احسب درجة الحرارة المتوسطة في شهر يناير وأضفها في نهاية الملف. ملاحظة: افتح الملف النصي ولاحظ النتائج.

تدريب 5

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

ساعد إدارة مدرستك في تحليل درجات الطلبة واكتب الخوارزمية، والمخطط الانسيابي والمقطع البرمجي المناسب بلغة بايثون لحل المشكلة الآتية: يعتبر الطالب ناجحًا في اختبارات مادة المهارات الرقمية لنهاية الجزء الأول من المقرر إذا كانت درجته تعادل أو تفوق 50؛ إذا اعتبرنا أن صفك يتكون من عدد N من الطلبة، نفذ الآتي: < أنشئ ملف Names.txt وتعبئته بأسماء جميع الطلبة. < أنشئ ملف Degrees.txt وتعبئته بدرجات الطلبة في مادة المهارات الرقمية. < أنشئ ملف Success.txt يعرض أسماء الطلبة الناجحين ودرجاتهم. < أنشئ ملف Fails.txt يعرض أسماء الطلبة الراسبين ودرجاتهم.

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

--- SECTION: تدريب 4 --- أنشئ مقطعًا برمجيًا بلغة بايثون وفق الآتي: < أنشئ الملف النصي "temperature.txt" . < اكتب في الملف متوسط درجة الحرارة الأسبوعية لمدينة الرياض، خلال شهر يناير. < احسب درجة الحرارة المتوسطة في شهر يناير وأضفها في نهاية الملف. ملاحظة: افتح الملف النصي ولاحظ النتائج. --- SECTION: تدريب 5 --- ساعد إدارة مدرستك في تحليل درجات الطلبة واكتب الخوارزمية، والمخطط الانسيابي والمقطع البرمجي المناسب بلغة بايثون لحل المشكلة الآتية: يعتبر الطالب ناجحًا في اختبارات مادة المهارات الرقمية لنهاية الجزء الأول من المقرر إذا كانت درجته تعادل أو تفوق 50؛ إذا اعتبرنا أن صفك يتكون من عدد N من الطلبة، نفذ الآتي: < أنشئ ملف Names.txt وتعبئته بأسماء جميع الطلبة. < أنشئ ملف Degrees.txt وتعبئته بدرجات الطلبة في مادة المهارات الرقمية. < أنشئ ملف Success.txt يعرض أسماء الطلبة الناجحين ودرجاتهم. < أنشئ ملف Fails.txt يعرض أسماء الطلبة الراسبين ودرجاتهم.

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

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

سؤال 4: أنشئ مقطعًا برمجيًا بلغة بايثون وفق الآتي: > أنشئ الملف النصي "temperature.txt". > اكتب في الملف متوسط درجة الحرارة الأسبوعية لمدينة الرياض، خلال شهر يناير. > احسب درجة الحرارة المتوسطة في شهر يناير وأضفها في نهاية الملف. ملاحظة: افتح الملف النصي ولاحظ النتائج.

الإجابة: س4: خطوات الحل: 1. إنشاء ملف نصي temperature.txt بوضع الكتابة (w). 2. كتابة درجات الحرارة لأربعة أسابيع (كل أسبوع في سطر). 3. حساب المتوسط = (مجموع الدرجات) / 4. 4. فتح الملف بوضع الإلحاق (a) وإضافة سطر: متوسط شهر يناير = القيمة المحسوبة.

خطوات الحل:

  1. | المعطيات | المطلوب | |----------|----------| | - اسم الملف: "temperature.txt" | 1. إنشاء الملف النصي "temperature.txt" وكتابة متوسط درجات الحرارة الأسبوعية لمدينة الرياض خلال شهر يناير فيه. | | - البيانات: متوسط درجات الحرارة لأربعة أسابيع (شهر يناير) | 2. حساب درجة الحرارة المتوسطة لشهر يناير. | | | 3. إضافة المتوسط المحسوب إلى نهاية الملف. | | | 4. فتح الملف وملاحظة النتائج. |
  2. **المبدأ المستخدم:** التعامل مع الملفات النصية في لغة بايثون باستخدام دوال `open()`، `write()`، `read()`، و `close()`.
  3. **خطوات الحل التفصيلية:** 1. **إنشاء الملف وكتابة البيانات الأسبوعية:** - نفتح الملف بوضع الكتابة (`'w'`) لإنشائه أو استبدال محتواه. - نكتب متوسط درجة الحرارة لكل أسبوع من الأسابيع الأربعة لشهر يناير، كل أسبوع في سطر منفصل. - مثال للبيانات (يمكن تغيير القيم حسب البيانات الفعلية): python # القيم الافتراضية لمتوسط درجة الحرارة الأسبوعية بالدرجة المئوية weekly_temps = [15, 14, 16, 13] 2. **حساب المتوسط الشهري:** - نستخدم القانون: $\text{المتوسط} = \frac{\text{مجموع درجات الحرارة الأسبوعية}}{\text{عدد الأسابيع}}$ - عدد الأسابيع = 4 (لشهر يناير). - مثال: $\text{المتوسط} = \frac{15 + 14 + 16 + 13}{4} = \frac{58}{4} = 14.5$ 3. **إضافة المتوسط إلى الملف:** - نفتح الملف نفسه بوضع الإلحاق (`'a'`) لإضافة محتوى جديد دون حذف القديم. - نكتب سطرًا جديدًا يحتوي على المتوسط المحسوب. 4. **قراءة الملف وملاحظة النتائج:** - نفتح الملف بوضع القراءة (`'r'`) وعرض محتوياته للتأكد. > **ملاحظة:** تأكد من إغلاق الملف بعد كل عملية كتابة أو قراءة باستخدام `close()`، أو استخدام `with` للإدارة التلقائية.
  4. **المقطع البرمجي النهائي:** python # الخطوة 1: إنشاء الملف وكتابة البيانات الأسبوعية weekly_temps = [15, 14, 16, 13] # بيانات مثال with open('temperature.txt', 'w', encoding='utf-8') as file: for temp in weekly_temps: file.write(f'{temp}\n') # الخطوة 2: حساب المتوسط الشهري average_temp = sum(weekly_temps) / len(weekly_temps) # الخطوة 3: إضافة المتوسط إلى الملف with open('temperature.txt', 'a', encoding='utf-8') as file: file.write(f'\nمتوسط شهر يناير = {average_temp}') # الخطوة 4: فتح الملف وملاحظة النتائج with open('temperature.txt', 'r', encoding='utf-8') as file: content = file.read() print(content) **الإخراج المتوقع في الملف `temperature.txt`:** 15 14 16 13 متوسط شهر يناير = 14.5
  5. **النتيجة:** تم إنشاء الملف النصي `temperature.txt` بنجاح، حيث يحتوي على متوسط درجات الحرارة الأسبوعية لمدينة الرياض خلال شهر يناير، مع إضافة سطر في النهاية يوضح **متوسط درجة الحرارة الشهري المحسوب**.

سؤال 5: ساعد إدارة مدرستك في تحليل درجات الطلبة واكتب الخوارزمية، والمخطط الانسيابي والمقطع البرمجي المناسب بلغة بايثون لحل المشكلة الآتية: يعتبر الطالب ناجحًا في اختبارات مادة المهارات الرقمية لنهاية الجزء الأول من المقرر إذا كانت درجته تعادل أو تفوق 50، إذا اعتبرنا أن صفك يتكون من عدد N من الطلبة، نفذ الآتي: > أنشئ ملف Names.txt وتعبئته بأسماء جميع الطلبة. > أنشئ ملف Degrees.txt وتعبئته بدرجات الطلبة في مادة المهارات الرقمية. > أنشئ ملف Success.txt يعرض أسماء الطلبة الناجحين ودرجاتهم. > أنشئ ملف Fails.txt يعرض أسماء الطلبة الراسبين ودرجاتهم.

الإجابة: س5: 1. الخوارزمية: - إدخال عدد الطلبة N وإنشاء ملفات الأسماء والدرجات. - إنشاء ملفي Success.txt و Fails.txt. - تكرار N مرة: قراءة الاسم والدرجة. - إذا الدرجة >= 50: تخزين في Success.txt. - وإلا: تخزين في Fails.txt. 2. المخطط الانسيابي: بداية -> إدخال البيانات -> شرط (>=50) -> توجيه للملف المناسب -> تكرار -> نهاية.

خطوات الحل:

  1. | المعطيات | المطلوب | |----------|----------| | - عدد الطلبة: N | 1. إنشاء ملف `Names.txt` يحتوي على أسماء جميع الطلبة. | | - درجة النجاح: 50 أو أكثر | 2. إنشاء ملف `Degrees.txt` يحتوي على درجات الطلبة في مادة المهارات الرقمية. | | - أسماء ودرجات الطلبة | 3. إنشاء ملف `Success.txt` يعرض أسماء ودرجات الطلبة الناجحين (الدرجة ≥ 50). | | | 4. إنشاء ملف `Fails.txt` يعرض أسماء ودرجات الطلبة الراسبين (الدرجة < 50). |
  2. **المبدأ المستخدم:** معالجة البيانات الشرطية والتعامل مع ملفات متعددة في لغة بايثون، باستخدام هياكل التحكم مثل `if` و `for`.
  3. **الخوارزمية:** 1. **بداية** البرنامج. 2. **إدخال** عدد الطلبة `N`. 3. **إنشاء** الملفات `Names.txt` و `Degrees.txt` وكتابة البيانات فيها. 4. **قراءة** البيانات من الملفات السابقة. 5. **تكرار** لكل طالب من 1 إلى N: - **قراءة** الاسم والدرجة. - **إذا** الدرجة ≥ 50: - **كتابة** الاسم والدرجة في ملف `Success.txt`. - **وإلا** (الدرجة < 50): - **كتابة** الاسم والدرجة في ملف `Fails.txt`. 6. **نهاية** البرنامج.
  4. **المخطط الانسيابي:** mermaid graph TD A[بداية] --> B[إدخال عدد الطلبة N] B --> C[إنشاء ملفات Names.txt و Degrees.txt] C --> D[كتابة أسماء ودرجات الطلبة] D --> E[قراءة البيانات من الملفات] E --> F{i = 1} F --> G{i <= N?} G -- نعم --> H[قراءة الاسم والدرجة للطالب i] H --> I{الدرجة >= 50?} I -- نعم --> J[كتابة في Success.txt] I -- لا --> K[كتابة في Fails.txt] J --> L[i = i + 1] K --> L L --> G G -- لا --> M[نهاية] > **ملاحظة:** يوضح المخطط تدفق البرنامج من بداية إدخال البيانات إلى تصنيف الطلبة بناءً على درجاتهم.
  5. **المقطع البرمجي النهائي:** python # الخطوة 1: إدخال عدد الطلبة وإنشاء الملفات الأولية N = int(input('أدخل عدد الطلبة: ')) # إنشاء ملف الأسماء with open('Names.txt', 'w', encoding='utf-8') as names_file: for i in range(1, N + 1): name = input(f'أدخل اسم الطالب {i}: ') names_file.write(f'{name}\n') # إنشاء ملف الدرجات with open('Degrees.txt', 'w', encoding='utf-8') as degrees_file: for i in range(1, N + 1): degree = float(input(f'أدخل درجة الطالب {i}: ')) degrees_file.write(f'{degree}\n') # الخطوة 2: قراءة البيانات وتصنيف الطلبة with open('Names.txt', 'r', encoding='utf-8') as names_file, \ open('Degrees.txt', 'r', encoding='utf-8') as degrees_file: names = names_file.read().splitlines() degrees = degrees_file.read().splitlines() # إنشاء ملفات الناجحين والراسبين with open('Success.txt', 'w', encoding='utf-8') as success_file, \ open('Fails.txt', 'w', encoding='utf-8') as fails_file: success_file.write('الطلبة الناجحين:\n') fails_file.write('الطلبة الراسبين:\n') for name, degree_str in zip(names, degrees): degree = float(degree_str) if degree >= 50: success_file.write(f'{name}: {degree}\n') else: fails_file.write(f'{name}: {degree}\n') print('تم إنشاء الملفات بنجاح. راجع Success.txt و Fails.txt للنتائج.') **مثال على الإخراج:** - في `Success.txt`: الطلبة الناجحين: أحمد: 75.0 سارة: 60.0 - في `Fails.txt`: الطلبة الراسبين: خالد: 45.0
  6. **النتيجة:** تم تنفيذ البرنامج بنجاح لتحليل درجات طلبة الصف في مادة المهارات الرقمية، حيث تم **تصنيف الطلبة إلى ناجحين وراسبين** بناءً على شرط الدرجة (50 أو أكثر)، مع حفظ النتائج في ملفات منفصلة لتسهيل مراجعتها من قبل إدارة المدرسة.

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

عدد البطاقات: 4 بطاقة لهذه الصفحة

ما هي الخطوات الأساسية لإنشاء ملف نصي في بايثون يحتوي على بيانات ثم إضافة نتيجة حسابية إليه، كما في حالة ملف درجات الحرارة؟

  • أ) 1. فتح الملف بوضع القراءة (r) وكتابة البيانات. 2. إجراء الحساب. 3. فتح ملف جديد للإلحاق. 4. عرض النتائج.
  • ب) 1. فتح الملف بوضع الكتابة (w) وكتابة البيانات. 2. إجراء الحساب المطلوب (مثل المتوسط). 3. فتح الملف نفسه بوضع الإلحاق (a) وإضافة نتيجة الحساب. 4. فتح الملف بوضع القراءة (r) لعرض المحتويات.
  • ج) 1. فتح الملف بوضع الإلحاق (a) وكتابة البيانات. 2. إجراء الحساب. 3. فتح الملف بوضع الكتابة (w) لإضافة النتيجة. 4. عرض النتائج.
  • د) 1. فتح الملف بوضع الكتابة (w) وكتابة البيانات. 2. إجراء الحساب. 3. تعديل البيانات مباشرة داخل المتغيرات دون فتح الملف مجدداً. 4. حفظ التغييرات تلقائياً.

الإجابة الصحيحة: b

الإجابة: 1. فتح الملف بوضع الكتابة (w) وكتابة البيانات. 2. إجراء الحساب المطلوب (مثل المتوسط). 3. فتح الملف نفسه بوضع الإلحاق (a) وإضافة نتيجة الحساب. 4. فتح الملف بوضع القراءة (r) لعرض المحتويات.

الشرح: ١. إنشاء الملف وكتابة البيانات الأولية: استخدام `open('temperature.txt', 'w')`. ٢. إجراء الحساب: حساب المتوسط = مجموع القيم / عددها. ٣. إضافة النتيجة: استخدام `open('temperature.txt', 'a')` لكتابة المتوسط. ٤. التحقق: استخدام `open('temperature.txt', 'r')` لعرض المحتويات النهائية.

تلميح: تذكر أن وضع الكتابة (w) يستبدل المحتوى، بينما وضع الإلحاق (a) يضيف إليه.

التصنيف: صيغة/خطوات | المستوى: متوسط

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

  • أ) استخدام عبارة `while` فقط دون أي شروط.
  • ب) استخدام عبارات `if` متعددة مستقلة عن بعضها لكل طالب.
  • ج) استخدام عبارة شرطية `if-else` داخل حلقة `for` لتكرار جميع الطلبة.
  • د) استخدام الأمر `print` مباشرة لعرض جميع الدرجات دون تصنيف.

الإجابة الصحيحة: c

الإجابة: استخدام عبارة شرطية `if-else` داخل حلقة `for` لتكرار جميع الطلبة.

الشرح: ١. قراءة بيانات الطلبة (الأسماء والدرجات) من الملفات أو إدخالها. ٢. استخدام حلقة `for` للتكرار عبر جميع الطلبة. ٣. داخل الحلقة، استخدام `if degree >= 50:` لتحديد الناجحين. ٤. استخدام `else:` للتعامل مع حالات الرسوب. ٥. كتابة نتيجة كل حالة في الملف المناسب.

تلميح: تتطلب معالجة قائمة من العناصر (الطلبة) وتطبيق شرط على كل عنصر.

التصنيف: مفهوم جوهري | المستوى: سهل

ما هو الوضع (Mode) الصحيح لفتح ملف نصي في بايثون إذا أردت إضافة محتوى جديد إلى نهايته دون حذف المحتوى القديم؟

  • أ) وضع القراءة ('r').
  • ب) وضع الكتابة ('w').
  • ج) وضع الإلحاق ('a').
  • د) وضع التحديث ('u').

الإجابة الصحيحة: c

الإجابة: وضع الإلحاق ('a').

الشرح: يوجد عدة أوضاع لفتح الملفات في بايثون: - 'r': للقراءة فقط. - 'w': للكتابة (ينشئ ملفاً جديداً أو يمحو محتوى الملف الموجود). - 'a': للإلحاق (يضيف المحتوى إلى نهاية الملف الموجود دون حذف محتواه). لإضافة محتوى إلى نهاية ملف موجود، نستخدم الوضع 'a'.

تلميح: هذا الوضع يسمح لك بإضافة نص، بينما وضع الكتابة ('w') يحذف كل شيء ويبدأ من جديد.

التصنيف: تعريف | المستوى: سهل

في سياق برنامج تحليل الدرجات، إذا كان المطلوب قراءة أسماء الطلبة من ملف `Names.txt` ودرجاتهم من ملف `Degrees.txt`، فما هي الطريقة المناسبة لمطابقة كل اسم مع درجته أثناء المعالجة؟

  • أ) قراءة الملفين كسلسلة نصية واحدة طويلة واستخدام الأمر `split()` عشوائياً.
  • ب) قراءة محتويات كل ملف إلى قائمة (list)، ثم استخدام دالة `zip()` للتكرار عبر الاسم والدرجة معاً.
  • ج) فتح ملف واحد فقط لأن البيانات ستكون مختلطة.
  • د) استخدام حلقتين `for` منفصلتين، واحدة للأسماء وأخرى للدرجات.

الإجابة الصحيحة: b

الإجابة: قراءة محتويات كل ملف إلى قائمة (list)، ثم استخدام دالة `zip()` للتكرار عبر الاسم والدرجة معاً.

الشرح: ١. فتح `Names.txt` للقراءة وتخزين الأسطر في قائمة تسمى `names`. ٢. فتح `Degrees.txt` للقراءة وتخزين الأسطر في قائمة تسمى `degrees`. ٣. استخدام `for name, degree_str in zip(names, degrees):` للتكرار عبر الأسماء والدرجات المقابلة لها في نفس الوقت. ٤. داخل الحلقة، تحويل `degree_str` إلى رقم وتطبيق شرط التصنيف.

تلميح: تخيل أن لديك صفين متوازيين من البيانات تحتاج لمطابقة العناصر المتقابلة.

التصنيف: صيغة/خطوات | المستوى: متوسط