الملفات - المهارات الرقمية - ثالث متوسط
الفصل الدراسي الأول
الوحدة الأولى: الأمن السيبراني
الوحدة الثانية: قواعد البيانات
الوحدة الثالثة: البرمجة المتقدمة في بايثون
الفصل الدراسي الثاني
الوحدة الأولى: التجارة الإلكترونية
الوحدة الثانية: مهارات متقدمة في برامج الأوفيس
الوحدة الثالثة: هياكل البيانات الخطية
الفصل الدراسي الثالث
الوحدة الأولى: المتاجر الإلكترونية
الوحدة الثانية: صيانة الحاسب والتخزين السحابي
الوحدة الثالثة: مستشعرات الروبوت
الدرس الثالث: الملفات لقد تعرفت سابقًا على مجموعة من البرامج التي تستخدم بيانات يتم إنشاؤها أثناء التشغيل فقط، وقمت بتخزين هذه البيانات على شكل متغيرات وهياكل بيانات داخل ذاكرة الوصول العشوائي (RAM). وتلك البيانات التي يتم تخزينها أثناء التشغيل في ذاكرة الوصول العشوائي يتم فقدانها فور إيقاف البرنامج ولتجنب هذه المشكلة، يجب التخزين في ملفات تُحفظ على القرص الصلب أو في وحدات التخزين الأخرى، مما يتيح استعادتها لتتم معالجتها لاحقًا تُعَدَّ الملفات النصية من أبسط أنواع حاويات تخزين البيانات. الملفات النصية الملف النصي Text File هو سلسلة من النصوص التي قد تحتوي على الأحرف والأرقام والرموز. يمكن إجراء عمليات مختلفة على الملفات النصية مثل الحذف والإضافة والتعديل، ويتم ذلك من خلال أوامر برمجية محددة. العمليات الأساسية على الملفات فتح الملف لفتح ملف يتعين عليك أن تُحدد موقع الملف، ثم تختار ما إذا كنت تريد القراءة من الملف أو الكتابة عليه. القراءة من ملف رابط الدرس الرقمي www.ien.edu.sa عندما تقرأ البيانات الموجودة داخل الملف، فأنت تخزنها في متغيرات وهياكل بيانات داخل البرنامج الموجود في الذاكرة؛ وذلك بهدف القيام بمعالجتها. الكتابة في ملف عندما تكتب بيانات في ملف، فإنك تنقل قيم المتغيرات وهياكل البيانات المستخدمة في البرنامج إلى ذلك الملف المحفوظ في مجلد. يمكن كتابة البيانات في ملفٍ جديد أو إضافتها إلى محتويات ملف موجود سابقًا. إغلاق الملف عند إغلاقك للملف فإن نظام التشغيل يقوم بعملية التأكد من انتهاء جميع عمليات القراءة والكتابة في ذلك الملف. وزارة التعد2 Ministry of Education 2024-1446
274 توفر لغة بايثون دوال جاهزة يمكنك استخدامها لإنشاء الملفات وقراءتها وتحديثها وحذفها. دالة فتح ملف يمكنك استخدام دالة فتح (open) لفتح ملف في بايثون. تأخذ هذه الدالة وسيطين: الأول هو مسار الملف الذي تريد فتحه، والثاني هو الحرف الذي يمثل العملية التي تريد تنفيذها على الملف. الصيغة العامة لدالة فتح الملف <object>=open(filename, mode) object : اسم المتغير الذي يمثل الملف الذي سيتم فتحه داخل البرنامج. filename مسار اسم الملف في وسائط التخزين. mode الحرف الذي يرمز للعملية المراد تنفيذها (كتابة أو قراءة.. إلخ). التعامل مع الملفات في بايثون العملية فتح الملف للقراءة (الوضع الافتراضي). فتح ملف جديد للكتابة إذا كان غير موجود، وإذا كان هناك ملف موجود بنفس الاسم فتقوم بحذف جميع عناصره. فتح الملف للكتابة إذا كان غير موجود أو إلحاق البيانات بنهاية الملف إذا كان موجودًا. دالة إغلاق الملف الوضع اختصار كلمة r read (قراءة) يفتح : الملف للقراءة والكتابة. يمكنك إضافة W 10 a اختصار كلمة write (كتابة) اختصار كلمة append (إلحاق) لم يكن الملف موجودًا، فلن تنشئ الدالة ملفًا جديدًا. البيانات إلى الملف وقراءتها دفعة واحدة، ولكن في حال عند الانتهاء من عمليتي القراءة والكتابة على الملف، يتعين عليك إغلاقه باستخدام دالة الإغلاق .(close). تحفظ هذه الدالة أي تغييرات أجريتها على الملف. الصيغة العامة لدالة إغلاق الملف object.close() وزارة التعليم Ministry of Education 2024-1446
افتح المفكرة وأنشئ ملفا نصيًا. | file.txt - Notepad File Edit Format View Help Welcome to Python! Programming is great! Let's start programming... تأكد من أن الملف النصي file.txt" محفوظ في نفس مجلد البرنامج ، ثم افتح هذا المجلد في PyCharm، حيث ستحفظ كافة برامجك هناك. File Edit View Navigate Code Refactor Run Tools VCS Window Help wor exampl Project workspace , example.py Project - example.py x file.txt I workspace C:\Python\workspace example.py > Illi External Libraries 1 f = open("file.txt", "r") 2 print(f.read()) 3 4 f.close() Scratches and Consoles 5 الصيغة العامة لقراءة الملف: يمكنك هنا مشاهدة المثال الآتي: <object> = open (<file_path>, "r") <object>.read() اسم الملف. الوضع. الدالة التي تقرأكافة المحتويات. f=open("file.txt", "r") print(f.read()) قبل استخدامك دالة open لقراءة الملف، تأكد من وجود الملف داخل المجلد لتجنب ظهور رسالة خطأ. اسم الكائن. ()f.closeم دالة إغلاق الملف. Welcome to Python! Programming is great! Let's start programming... وزارة التعر2 Ministry of Education 2024-1446
276 يمكنك أيضًا قراءة الملف سطرًا بسطر، تُرجع دالة ( ) readline سطرًا واحدًا من الملف. يجب أن تكون ملفات py و txt. موجودة في نفس المجلد. f=open("file.txt", "r") print(f.readline()) print(f.readline()) f.close() Welcome to Python! Programming is great! جرب المقطع البرمجي الآتي واكتب النتيجة التي تظهر على الشاشة. تحقق من إجابتك باستخدام PyCharm. f=open("file.txt", "r") line = f.readline() while line: print(line) line=f.readline() f.close() جرب بنفسك وزارة التعليم Ministry of Education 2024-1446
وزارة التعدد2 Ministry of Education 2024-1446 إلحاق نص جديد بالملف يمكن إضافة نص جديد إلى ملف، حيث يتم إضافة المحتوى الجديد إلى نهايته بعد فتحه باستخدام وضع الإلحاق بإضافة الحرف (a). <object> = open (<file_path>, "a") <object>.write (" <message>") النص المراد كتابته في الملف. الصيغة العامة للإلحاق: لإضافة نص إلى ملف file.txt الذي استخدمته سابقًا f=open( "file.txt", "a") f.write("\nThis is the new text.") افتح واقرأ الملف بعد الإلحاق # تُستخدم n\ للانتقال إلى سطر جديد. f=open("file.txt", "r") print(f.read()) f.close() Welcome to Python! Programming is great! Let's start programming... This is the new text. file.txt - Notepad File Edit Format View Help Welcome to Python ! Programming is great! Let's start programming... This is the new text. 1
الكتابة في ملف تفتح دالة الكتابة (write) الملف للكتابة فقط ، كما تستبدل الملف إذا كان موجودًا سابقًا، وفي حال عدم وجود الملف يتم إنشاء ملف جديد للكتابة. <object> = open (<file_path>,"w") <object>.write(" <message>") f=open("file.txt", "w") f.write("The previous text has been deleted...") افتح الملف واقرأه بعد الكتابة # f=open("file.txt", "r") print(f.read()) f.close() الصيغة العامة لدالة الكتابة: 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") f = open("cities.txt", "r") print(f.read()) f.close() وزارة التعليم Ministry of Education 2024-1446 Riyadh Jeddah Abha Dammam لتستخدم الآن بايثون لإنشاء ملف نصي txt. يُكتب به خمسة أسماء لمدن مختلفة. | cities - Notepad File Edit Format View Help Riyadh Jeddah Abha Dammam ☐ 278
citiesList=[ ] f=open("cities.txt", "r") for i in range(4): city= f.readline() citiesList.append(city) print(citiesList) f.close() وزارة التعو27 Ministry of Education 2024-1446 يُعرض هنا كيفية تخزين كل سطر من الملف في قائمة. 'Abha\n', 'Dammam\n'] ['Riyadh\n', 'Jeddah\n', 'Abha\n', جرب بنفسك يُستخدم الرمز n\ للانتقال إلى سطر جديد، ولاستخدام دوال القائمة يجب إزالة الحرف n\ حيث إنَّ دالة الاستبدال تستبدل حرفًا واحدًا فقط بحرف بآخر. جَرِّب المقطع البرمجي الآتي، وفسر غرض كل سطر تمت إضافته هنا. citiesList=[ ] f=open("cities.txt", "r") for i in range(5): city= f.readline() استبدل n\ بمساحة فارغة # c=city.replace("\n","") citiesList.append(c) print(citiesList) f.close()
دوال القراءة من ملف تقرأ دالة ( )readline سطرًا في المرة الواحدة من الملف بينما تقرأ دالة ( )readlines جميع أسطر الملف لتُرجع قائمة تحتوي على جميع أسطر الملف. f = open("cities.txt", "r") print(f.readlines()) f.close() وزارة التعليم Ministry of Education 2024-1446 ['Riyadh\n', 'Jeddah\n', 'Abha\n', 'Dammam\n'] هيا لتتعرف على بعض الأمثلة الأكثر تعقيدًا. أنشئ المستند النصي الآتي واحفظه باسم "Riyadh.txt". Riyadh.txt - Notepad File Edit Format View Help In the ever-growing and flourishing city of Riyadh, you will discover the birthplace of the Kingdom of Saudi Arabia, along with its historical treasures hidden in the old palaces that witnessed the founding of the kingdom. It is a destination for tourists from all over the globe who wish to discover a world of shopping, entertainment and business. Everyone is happy in the city of Riyadh where the biggest cultural events are always celebrated. Ln 1, Col 3 100% Windows (CRLF) UTF-8 X 280
ستستخدم دالة ( )readlines للبحث عن كلمة معينة، وإحصاء عدد مرات ظهورها في النص. تُرجع دالة ( ) readlines جميع الأسطر في الملف على شكل قائمة، حيث يصبح كل سطر عنصرًا في كائن القائمة. 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: f.close() Type a word: Riyadh Word count for Riyadh in file: 2 "I ,counter) مثال على القراءة والكتابة من الملف ملفا في هذا المثال، ستنشئ الدرجات، ثم حساب مجموع ومُعدل درجات الطالب وكتابتها في ملف. يحتوي على درجات طالب في خمس مواد ثم ستستخدم أوامر بايثون البرمجية لفتح الملف وقراءة وزارة التعر28 Ministry of Education 2024-1446 | grades.txt - Notepad File Edit Format View Help 85 90 93 87 98 أنشئ الملف النصي الآتي لدرجات طالب واحفظه كملف نصي باسم grades.txt -
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() وزارة التعليم Ministry of Education 2024-1446 85 90 93 87 98 The sum is: 453 The average is: 90.6 يتأكد هذا الشرط من قراءة كافة محتوى الملف إلى نهايته، وينتهي بانتهاء محتويات الملف. لحساب معدل الدرجات، يجب حساب مجموعها أولًا. 282
حوّل المجموع والمتوسط إلى نصوص# averageG=str(average) sumG=str(sumGrades) أضف المقطع البرمجي الآتي إلى برنامجك لإضافة المجموع والمتوسط إلى ملفك. أعد فتح الملف لإضافة المحتوى الجديد gr = open("grades.txt", "a") gr.write("\nThe sum of the grades is: " + sumG) gr.write("\nThe average of the grades is:"+ averageG) gr.close() print("printing from the file") print(". gr=open("grades.txt", "r") print(gr.read()) gr.close() -") وزارة التع283 Ministry of Education 2024-1446 ستصبح محتويات الملف النصي بهذا الشكل بعد تشغيل المقطع البرمجي. | grades.txt - Notepad X File Edit Format View Help 85 90 93 87 98 The sum of the grades is:453 The average of the grades is:90.6 Ln 4, Col 3 100% Windows (CRLF) UTF-8
وزارة التعليم Ministry of Education 2024-1446 صحيحة خطأ لنطبق معًا تدريب 1 حدد الجملة الصحيحة والجملة الخطأ .1 عندما تقرأ من ملف .txt . فإنك تضيف أسطرًا جديدة. 2. عند استخدام عملية الإلحاق تتم إضافة البيانات إلى بداية الملف. .3 عملية الكتابة (write) تستبدل النص الموجود داخل الملف. .4. يمكنك فتح الملف النصي فقط إذا كان بنفس المجلد الموجود به ملف بايثون البرمجي. .5 لإلحاق نص جديد في الملف فإننا نضيف الحرف "a" . تدريب 2 • اكتب ناتج تنفيذ المقطع البرمجي الآتي: f=open( "file.txt" "w") f.write("Riyadh") f.write("\n 2023") f=open( "file.txt", "r") print(f.read()) f.close() 284
تدريب 3 • أنشئ ملفًا نصيًا يحتوي على اسمك الثلاثي واحفظه باسم name.txt. > أنشئ مقطعًا برمجيًا بلغة بايثون لقراءة ملفك. > أنشئ مقطعًا برمجيًا بلغة بايثون لإضافة عنوانك. تدريب 4 • أنشئ مقطعًا برمجيًا بلغة بايثون وفق الآتي > أنشئ الملف النصي temperature.txt". > اكتب في الملف متوسط درجة الحرارة الأسبوعية لمدينة الرياض، خلال شهر يناير. > احسب درجة الحرارة المتوسطة في شهر يناير وأضفها في نهاية الملف. ملاحظة : افتح الملف النصي ولاحظ النتائج. تدريب 5 ساعد إدارة مدرستك في تحليل درجات الطلبة واكتب الخوارزمية والمخطط الانسيابي والمقطع البرمجي المناسب بلغة بايثون لحل المشكلة الآتية: يعتبر الطالب ناجحًا في اختبارات مادة المهارات الرقمية لنهاية الفصل الدراسي الأول إذا كانت درجته تعادل أو تفوق 50، إذا اعتبرنا أن صفك يتكون من عدد N من الطلبة، نفذ الآتي: > أنشيء ملف Names.txt وتعبئته بأسماء جميع الطلبة. > أنشيء ملف .Degrees txt وتعبئته بدرجات الطلبة في مادة المهارات الرقمية. > أنشيء ملف Success.txt يعرض أسماء الطلبة الناجحين ودرجاتهم. > أنشيء ملف Fails.txt يعرض أسماء الطلبة الراسبين ودرجاتهم. وزارة التع285 Ministry of Education 2024-1446