أنت هنا:برمجها»اللغة ج»الدرس 12: الملفات
الدرس 12: الملفات الدرس 12: الملفات
قيم الموضوع
(1 تصويت)

للتعامل مع الملفات تقدم لغة ج نوع بيانات اسمه ملف. فإذا عُرّف متغير بأنه ملف أصبح ممكناً القراءة من هذا الملف والكتابة فيه عن طريق هذا المتغير.

  


إنشاء ملف

قبل القراءة من ملف أو الكتابة فيه، يجب أولاً فتحه بواسطة الأمر أفتح. ولفتح ملف للقراءة تستخدم صيغة أفتح التالية:

 أفتح <متحول الملف> للقراءة من <اسم الملف>

حيث <متحول الملف> هو المتغير الذي يمثل الملف المراد فتحه في البرنامج، أما <اسم الملف> فهو ثابت أو متغير نصي يعبر عن اسم الملف المراد فتحه في نظام تشغيل الحاسوب. ولفتح ملف للقراءة يشترط أن يكون الملف موجوداً مسبقاً في نظام تخزين الملفات للحاسوب.

مثال

المتحول ف : ملف
أفتح ف للقراءة من "TXT.ملف_الطلاب"

يفتح هذا البرنامج الملف ف للقراءة من ملف اسمه "txt.ملف_الطلاب" موجود على القرص الصلب للحاسوب في نفس مجلد ملف لغة ج الذي يجري تنفيذه. ولفتح ملف للكتابة تستخدم الصيغة التالية لجملة أفتح:

أفتح <متحول (ملف)> للكتابة في <ثابت (أو متحول) نصي>


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

يمكن القراءة من ملف بواسطة الأمر أقرأ بطريقة مماثلة لطريقة القراءة من لوحة الكتابة. وصيغة جملة أقرأ في هذه الحالة هي:

أقرأ من <متحول (ملف)> : <متحول> [، <متحول> …]

حيث <متحول (ملف)> هو المتغير الذي يمثل الملف المراد القراءة منه.

مثال

المتحول ف : ملف
المتحول ح : حرف
أفتح ف للقراءة من "txt.تجربة"
أقرأ من ف : ح
أكتب ح
أغلق ف 


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

يمكن الكتابة في ملف بواسطة الأمر أكتب بطريقة مماثلة لطريقة الكتابة على شاشة الكتابة. وصيغة أكتب في هذه الحالة هي:

أكتب في <متحول (ملف)> : <متحول> [، <متحول> …]

حيث <متحول (ملف)> هو المتغير الذي يمثل الملف المراد الكتابة فيه.


تمارين تطبيقية

التمرين 12.1

أنجز على القرص الصلب ثم أظهر على الشاشة الملف  معلومات.txt  الذي يحتوي على التسجيل التالي :

1- الرقم التسلسلي للمنتوج (نوع صحيح).

2- الاسم

3- النسب

عدد التسجيلات محدد من طرف المستعمل من خلال لوحة المفاتيح.

 


التمرين 12.2

أنجز على القرص الصلب ثم أظهر على الشاشة الملف بيانات.txt الذي يحتوي على نسخة طبق الأصل للملف معلومات.txt.

 


التمرين 12.3

أضف تسجيلا جديدا على الملف معلومات.txt  وأحفظ الملف باسم  بيانات.txt.

 


التمرين 12.4 

أضف تسجيلا جديدا على الملف معلومات.txt لكن باعتبار أن الإضافة تتم حسب ترتيب الاسماء قاموسيا وأحفظ  الملف تحت الاسم  بيانات.txt.

 


التمرين 12.5 

أزل أو احذف من  معلومات.txt  جميع التسجيلات :

 1) التي تحتوي على الرقم التسلسلي المنتهي بـ 8.

 2) التي تحتوي على الأسماء المعكوسة. من الأفضل أن تنشأ دالة تكون نتيجتها 1 إذا كانت الكلمة أو الجملة معكوسة أو 0 إذا كان عكس ذلك.

احفظ النتائج  في ملف جديد بيانات.txt.

 


التمرين 12.6 

أنجز على القرص الصلبثم أظهر على الشاشة الملف  عائلة.txt  الذي يحتوي على التسجيل التالي :

  1. النسب العائلي

  2. اسم الأب

  3. اسم الأم

  4. عدد الأطفال

  5. أسماء الأطفال

عدد التسجيلات محدد من طرف المستعمل من خلال لوحة المفاتيح ومرتبط بعدد الأطفال.

 


التمرين 12.7 

أنجز شفرة لإنشاء الملف  كلمات.txt على القرص الصلب يحمل مجموعة متكونة من 50 كلمة على الأكثر (50 حرفا كأقصى حد لكل كلمة) باستعمال متغير واحد .أدخل الرمز '*' لإنهاء إدخال الكلمات، هذا الرمز لا يجب حفظه في الملف.

 


التمرين 12.8 

أنجز شفرة تُظهر عدد الكلمات وعدد الكلمات المعكوسة وكذلك الطول المتوسط للكلمات الموجودة في الملف كلمات.txt.

 


التمرين 12.9 

أنجز شفرة تقوم بتحميل الكلمات الموجودة في الملف كلمات.txt  في الذاكرة، رتبهم قاموسيا وأنشئ ملفا ثان كلمات_مرتبة.txt في القرص الصلب. استعمل جدول المؤشرات (نوع حرف) ، أما حجز المكان في الذاكرة فيتم حركيا.

 


التمرين 12.10 

بمساعدة محرر للنصوص، مثلا  'bloc-note' ، أنشئ ملفا  أعداد.txt يحتوي على مجموعة من الأعداد منفصل عن بعضها البعض بـ 'الرجوع إلى السطر'. أنجز شفرة تقوم باستعراض الأعداد على الشاشة من خلال هذا الملف وكذلك حاصل مجموعها ومتوسطها.

 


التمرين 12.11 

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

ملاحظة : هناك ملفين :الأول للقراءة، والثاني للكتابة.

 


التمرين 12.12 

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

استعمل دالة  نهاية_جملة للمساعدة ، هذه الدالة تكون نتيجتها 1 إذا كان الحرف أو الرمز يساوي  '.'  أو  '؟أو  '!' ، و 0 إن كان عكس ذلك.

 


التمرين 12.13 

أنجز شفرة تقوم من خلال ملف مطلوب إدخال اسمه من لوحة المفاتيح، بتحديد :

  1. عدد الحروف والرموز الإجمالي المحتوي في الملف.

  2. عدد المرات التي تكرر فيها كل حرف (بدون اعتبار الفرق بين الحروف الكبيرة والصغيرة).

  3. عدد الكلمات.

  4. عدد الفقرات (كل فقرة محددة بالرجوع إلى السطر).

إليك بعض الاعتبارات :

  • 'الرجوع إلى السطر' لا تعتبره كحرف أو رمز.

  • نقبل أن كل كلمتين منفصلتين بإحدى الرموز التالية (الفواصل):

  • نهاية السطر 'الرجوع إلى السطر'.

  • الفراغ.

  • القوسين ( ).

  • أدوات الاستفهام: يعني  . : , ; ؟ !

  • الرمز "

  • الرمز '

استعمل دالة سيبا للمساعدة ، هذه الدالة تكون نتيجتها 1 إذا كان الحرف أو الرمز من الفواصل المذكورة أعلاه ، و 0 إن كان عكس ذلك.

مثال:

إسم الملف : حروف.TXT
 
يحتوي ملفك على الآتي:
   12
فقرة
   571
كلمة 
   4186
حرف 
 
حيث أن
   279
مرة من الحرف أ 
   56
مرة من الحرف ب
   . . . 
   3
مرة من الحرف ي
   
و470 حرفا آخر

 


التمرين 12.14 

أنجز شفرة تُظهر محتوى ملف ضخم على الشاشة ذات 25 سطرا و 80 عمودا. إذا امتلأت الشاشة تقوم لشفرة بانتظار المستعمل أن يضغط على المفتاح 'ENTER' لمعاينة الصفحة التالية وهكذا..

 


التمرين 12.15: كلمة المرور 

أنجز شفرة تقوم بالتحقق من صحة رقم تسلسلي CCP موجود في ملف. الرقم التسلسلي CCP متكون من 3 أجزاء : رقم الحساب، فاصل '-' ورقم المراقبة.

صحة الرقم التسلسلي CCP تتم بإحدى الشروط التالية:

  1. إذا كان باقي القسمة الصحيحة لرقم الحساب على 97  يخالف الصفر ويساوي رقم المراقبة.

  2. إذا كان باقي القسمة على 97  يساوي الصفر و رقم المراقبة يساوي 97.

أمثلة :

صحيح  

15742 % 97 = 28  

CCP 15742-28 :

صحيح

72270 % 97 = 5  

CCP 72270-5 :

خاطئ

22610 % 97 = 9  

CCP 22610-10 :

صحيح

50537 % 97 = 0  

CCP 50537-97 :

 

 استعمل دالة تفحص لها متغيرين للدخول، أحدهما لأجل رقم الحساب والآخر لرقم المراقبة، تقوم هذه الدالة بإظهار رسالة أو جملة تعبر عن صحة الرقم التسلسلي.

ملاحظة : بمساعدة محرر للنصوص كـ 'bloc-note'  قم بإنشاء ملف CCP.TXT يحتوي على عدة أرقام تسلسلية لاستخدامها. 

 


التمرين 12.16 

ملفين ملف_أ و ملف_ب المطلوب إدخال اسميهما من لوحة المفاتيح يحتويان على أعداد صحيحة مرتبة تزايديا. أنجز شفرة تقوم بنسخ أو نقل محتوى  ملف_أ و ملف_ب على التوالي في الجدولين جدول_أ و جدول_ب. الجدول جدول_س يضم الجدولين جدول_أ و جدول_ب لكن ذلك حسب الترتيب التزايدي. بعد الانتهاء من ملء الجدول جدول_س يجب حفظه في الملف ملف_س  المطلوب إدخال اسمه من لوحة المفاتيح.

ملاحظةيمكنك أن تستعمل المؤشر عوض الجدول. 

 


التمرين 12.17: التشفير 

قم بإنجاز خوارزم لتشفير ملف معين.


تأليف


المؤلف الأصلي
: الدكتورمحمد عمار السَلكة (دمشق - سوريا)

الموقع الشخصي: http://www.drsalka.com

البريد الإلكتروني: عنوان البريد الإلكتروني هذا محمي من روبوتات السبام. يجب عليك تفعيل الجافاسكربت لرؤيته.

 

ضبط بتصرف: محمد عبد الرحمان (الدار البيضاء - المغرب) 


المراجع

http://www.jeemlang.com


 

أضف تعليقا


إصنعها يريد أن يتأكد أنك لست روبوتا، لذلك أحسب ما يلي:

كود امني
تحديث