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

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

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

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

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

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

نوع المحتوى: درس تعليمي

📝 ملخص الصفحة

📚 قراءة الملفات وحساب المتوسط

المفاهيم الأساسية

قراءة الملف سطراً بسطر باستخدام حلقة `while`: طريقة لقراءة جميع محتويات ملف نصي حتى نهايته، حيث تستمر الحلقة في التنفيذ طالما هناك سطر جديد لقراءته.

خريطة المفاهيم

```markmap

الملفات

العمليات الأساسية على الملفات

فتح الملف

#### دالة فتح (open)

##### أوضاع فتح الملف

  • r: فتح الملف للقراءة (الوضع الافتراضي)
  • a: فتح الملف للإلحاق (إضافة نص جديد للنهاية)
  • w: فتح الملف للكتابة (استبدال المحتوى أو إنشاء ملف جديد)

القراءة من ملف

#### خطوات عملية

  • التأكد من وجود الملف النصي (مثل `file.txt`) في نفس مجلد البرنامج
  • استخدام دالة `open()` مع وضع القراءة `"r"`
  • استخدام دالة `read()` لقراءة كافة محتويات الملف
  • استخدام دالة `close()` لإغلاق الملف
#### مثال عملي

  • `f = open("file.txt", "r")`
  • `print(f.read())`
  • `f.close()`

قراءة الملف سطراً بسطر

#### استخدام `readline()`

  • تُرجع سطراً واحداً في كل مرة
  • مثال: `print(f.readline())`
#### قراءة جميع الأسطر باستخدام حلقة

  • استخدام `while` مع `readline()`
  • مثال:
`line = f.readline()`

`while line:`

` print(line)`

` line = f.readline()`

#### استخدام `readlines()`

  • تقرأ جميع أسطر الملف مرة واحدة
  • تُرجع قائمة تحتوي على جميع الأسطر
  • مثال: `print(f.readlines())`
#### مثال توضيحي لـ `readlines()`

  • `f=open("cities.txt", "r")`
  • `print(f.readlines())`
  • `f.close()`
  • الناتج: `['Riyadh\n', 'Jeddah\n', 'Abha\n', 'Dammam\n']`
#### استخدام `readlines()` للبحث عن كلمة وعدها

  • فتح الملف للقراءة
  • استخدام `readlines()` للحصول على قائمة الأسطر
  • استخدام حلقة `for` للتكرار على كل سطر
  • استخدام دالة `count()` داخل الحلقة لحساب تكرارات الكلمة في كل سطر
  • جمع التكرارات في متغير عداد
  • إغلاق الملف
#### مثال عملي للبحث والعد

  • `f=open("Riyadh.txt", "r")`
  • `counter=0`
  • `word=input("Type a word: ")`
  • `datafile = f.readlines()`
  • `for line in datafile:`
  • ` nb=line.count(word)`
  • ` counter=counter+nb`
  • `print("Word count for", word, "in file: ", counter)`
  • `f.close()`

تخزين الأسطر في قائمة

#### خطوات العملية

  • إنشاء قائمة فارغة: `citiesList = []`
  • فتح الملف للقراءة: `f = open("cities.txt", "r")`
  • استخدام حلقة `for` مع `readline()` لقراءة عدد محدد من الأسطر
  • إضافة كل سطر إلى القائمة: `citiesList.append(city)`
  • إغلاق الملف: `f.close()`
#### مثال عملي

  • `citiesList = []`
  • `f = open("cities.txt", "r")`
  • `for i in range(4):`
  • ` city = f.readline()`
  • ` citiesList.append(city)`
  • `print(citiesList)`
  • `f.close()`
#### الناتج بدون تنظيف

  • `['Riyadh\n', 'Jeddah\n', 'Abha\n', 'Dammam\n']`
#### تنظيف البيانات (إزالة `\n`)

  • استخدام دالة `replace()` داخل الحلقة
  • `c = city.replace("\n", " ")`
  • ثم إضافة المتغير `c` إلى القائمة
#### مثال مع التنظيف

  • `citiesList = []`
  • `f = open("cities.txt", "r")`
  • `for i in range(5):`
  • ` city = f.readline()`
  • ` c = city.replace("\n", " ")`
  • ` citiesList.append(c)`
  • `print(citiesList)`
  • `f.close()`

إلحاق نص جديد بالملف

#### الصيغة العامة

  • ` = open (, "a" )`
  • `.write ("")`

    #### مثال عملي للإلحاق

    • `f=open("file.txt", "a")`
    • `f.write("\nThis is the new text.")`
    #### استخدام `\n`

    • للانتقال إلى سطر جديد عند كتابة النص
    #### قراءة الملف بعد الإلحاق

    • `f=open("file.txt", "r")`
    • `print(f.read())`
    • `f.close()`

    الكتابة في ملف

    #### الصيغة العامة

    • ` = open (, "w")`
    • `.write ("")`

      #### مثال عملي للكتابة

      • `f=open("file.txt", "w")`
      • `f.write("The previous text has been deleted...")`
      #### مثال عملي لكتابة قائمة مدن

      • `f=open("cities.txt", "w")`
      • `f.write("Riyadh\n")`
      • `f.write("Jeddah\n")`
      • `f.write("Abha\n")`
      • `f.write("Dammam\n")`
      #### قراءة ملف وحساب المجموع والمتوسط

      ##### خطوات الخوارزمية

      • فتح الملف للقراءة
      • تهيئة متغيرات المجموع (`sumGrades`) والعداد (`count`) بالقيمة صفر
      • قراءة أول سطر (`grade`) باستخدام `readline()`
      • استخدام حلقة `while` تستمر طالما يوجد سطر (`while grade:`)
      • داخل الحلقة:
      - تحويل السطر النصي إلى عدد صحيح (`int(grade)`)

      - زيادة العداد بمقدار 1

      - إضافة الدرجة إلى المجموع

      - قراءة السطر التالي

      • خارج الحلقة:
      - طباعة المجموع

      - حساب المتوسط (المجموع ÷ العدد)

      - طباعة المتوسط

      - إغلاق الملف

      ##### مثال عملي

      • `gr=open("grades.txt", "r")`
      • `sumGrades=0`
      • `grade=gr.readline()`
      • `count=0`
      • `while grade:`
      • ` gradeInt=int(grade)`
      • ` count=count+1`
      • ` sumGrades=sumGrades+gradeInt`
      • ` grade=gr.readline()`
      • `print("The sum is: ",sumGrades)`
      • `average=sumGrades/count`
      • `print("The average is: ",average)`
      • `gr.close()`
      ```

      نقاط مهمة

      • شرط الحلقة `while grade:` يضمن قراءة جميع محتويات الملف وينتهي بانتهائها.
      • لحساب معدل (متوسط) الدرجات، يجب أولاً حساب مجموعها.
      • مثال على مخرجات البرنامج لدرجات: 85، 90، 93، 87، 98 هو:
      - المجموع: 453

      - المتوسط: 90.6

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

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

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

      gr=open("grades.txt", "r") sumGrades=0 grade=gr.readline() count=0 while grade: # حول النص إلى عدد صحيح gradeInt=int(grade) print(gradeInt) # احسب الدرجات count=count+1 sumGrades=sumGrades+gradeInt grade=gr.readline() print("The sum is: ",sumGrades) average=sumGrades/count print("The average is: ",average) gr.close()

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

      يتأكد هذا الشرط من قراءة كافة محتوى الملف وينتهي بانتهاء محتويات الملف.

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

      لحساب معدل الدرجات، يجب حساب مجموعها أولاً.

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

      85 90 93 87 98 The sum is: 453 The average is: 90.6

      نوع: METADATA

      210

      نوع: NON_EDUCATIONAL

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

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

      gr=open("grades.txt", "r") sumGrades=0 grade=gr.readline() count=0 while grade: # حول النص إلى عدد صحيح gradeInt=int(grade) print(gradeInt) # احسب الدرجات count=count+1 sumGrades=sumGrades+gradeInt grade=gr.readline() print("The sum is: ",sumGrades) average=sumGrades/count print("The average is: ",average) gr.close() يتأكد هذا الشرط من قراءة كافة محتوى الملف وينتهي بانتهاء محتويات الملف. لحساب معدل الدرجات، يجب حساب مجموعها أولاً. 85 90 93 87 98 The sum is: 453 The average is: 90.6 210 وزارة التعليم Ministry of Education 2025 - 1447

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

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

      في برنامج لحساب متوسط درجات الطلاب من ملف، ما الغرض من استخدام حلقة while مع الشرط 'while grade:'؟

      • أ) لضمان قراءة أول سطر فقط من الملف.
      • ب) لإعادة قراءة الملف من البداية عدة مرات.
      • ج) لضمان قراءة جميع السطور في الملف حتى نهايته.
      • د) للتوقف عن القراءة إذا كانت الدرجة أقل من 50.

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

      الإجابة: لضمان قراءة جميع السطور في الملف حتى نهايته.

      الشرح: 1. الدالة readline() تقرأ سطراً واحداً من الملف. 2. عندما تصل إلى نهاية الملف، تُرجع قيمة فارغة (False). 3. الشرط 'while grade:' يعني استمرار الحلقة طالما أن المتغير grade يحتوي على قيمة (True). 4. هذا يضمن قراءة كل سطر في الملف ثم التوقف تلقائياً عند الانتهاء.

      تلميح: فكر في كيفية معرفة البرنامج بأنه وصل إلى نهاية الملف.

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

      ما الخطوة الأساسية التي يجب تنفيذها قبل حساب المعدل (المتوسط) لمجموعة من الأرقام في برنامج؟

      • أ) ترتيب الأرقام تصاعدياً.
      • ب) حساب مجموع هذه الأرقام.
      • ج) إيجاد أكبر رقم في المجموعة.
      • د) تحويل الأرقام إلى نصوص.

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

      الإجابة: حساب مجموع هذه الأرقام.

      الشرح: 1. لحساب المتوسط الحسابي لأي مجموعة أرقام، نستخدم القانون: المتوسط = مجموع الأرقام ÷ عددها. 2. لذلك، يجب أولاً جمع جميع الأرقام معاً للحصول على المجموع. 3. ثم نقسم هذا المجموع على عدد الأرقام. 4. في المثال: مجموع الدرجات 453 ÷ عددها 5 = 90.6.

      تلميح: تذكر صيغة حساب المتوسط: (المجموع) ÷ (العدد).

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

      في الكود البرمجي المعطى، ما الوظيفة الأساسية للسطر 'gradeInt=int(grade)'؟

      • أ) تخزين النص في متغير جديد.
      • ب) تحويل البيانات النصية المقروءة من الملف إلى أعداد صحيحة لإجراء العمليات الحسابية عليها.
      • ج) تقريب العدد إلى أقرب عدد صحيح.
      • د) طباعة قيمة الدرجة على الشاشة.

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

      الإجابة: تحويل البيانات النصية المقروءة من الملف إلى أعداد صحيحة لإجراء العمليات الحسابية عليها.

      الشرح: 1. الدالة gr.readline() تقرأ السطر من الملف كنص (string)، مثل '85\n'. 2. لا يمكن إجراء عمليات حسابية (الجمع) على النصوص مباشرة. 3. الدالة int() تحول النص إلى عدد صحيح (integer). 4. هذا التحويل ضروري لتنفيذ عملية الجمع في السطر sumGrades=sumGrades+gradeInt.

      تلميح: تذكر أن الدالة readline() تُرجع بيانات من نوع نصي (string).

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

      إدرس AI - مدرس ذكاء اصطناعي مجاني للمناهج السعودية | وزارة التعليم