Dars jihozi: kompyuterlar, disketalar ;
Darsning borishi:
Biz avvalgi darslarda malumotlarni klaviatura orqali kiritish va ekranga chiqarishni ko’rdik. Ma'lumotlarni fayl shaklida tashqi xotirada saqlab qo’yish va undan ma'lumotlarni o’qish ham mumkin. Fayllar turli formatli (matnli, grafik va hokazo) bo’lishi Sizga ma'lum. Quyida biz faqat matnli fayllar bilan ishlashni ko’ramiz.
Paskalda fayllar bilan ishlash uchun maxsus fayl turdagi o’zgaruvchilar (faylli o’zgaruvchilar) qo’llaniladi. Ular Paskalning boshqa turdagi o’zgaruvchilari singari tavsiflanishi lozim. Faylli o’zgaruvchilar text xizmatchi so’zi orqali tavsiflanadi. Masalan,
var fmatn : Text; ( fmatn — matnli fayl }
Fayllar bilan ishlash uchun Paskalda quyidagi amallarni bajarish lozim:
1. Faylli o’zgaruvchini tashqi xotiradagi fayl bilan bog’lash.
2. Faylni «o'qish» yoki «yozish» uchun ochish.
3. Fayldagi ma'lumotlarni o’qish yoki faylga ma'lumotlarni yozish.
4. Faylni yopish.
Faylli o’zgaruvchi tashqi xotiradagi fayl bilan Assign operatori yordamida bog’lanadi. U quyidagi ko’rinishda yoziladi: Assign (f, ); bunda f — faylli o’zgaruvchi; — tashqi xotiradagi fayl nomi.
Masalan, Assign (f5, 'data.txt') operatori f5 faylli o’zgaruvchini «data.txt» fayli bilan bog’laydi. Endi «data.txt» fayliga f5 o’zgaruvchi orqali murojaat etish, ya'ni uni ochish, yopish, undagi ma'lumotlarni o’qish va unga ma'lumotlar yozish mumkin.
Faylni ochish uchun Paskalning Rewrite va Reset operatorlari qo’llaniladi. Rewrite operatori tashqi xotirada yangi fayl hosil qilib, uni «yozish» uchun ochadi. Reset operatori tashqi xotirada mavjud bo’lgan faylni «o'qish» uchun ochadi. Masalan, Assign(f5, 'data.txt') operatori bajarilgan bo’lsa, Rewrite(f5) operatori joriy katalogda «data.txt» faylini hosil qilib, uni yozish uchun ochadi. Reset(f5) operatori esa «data.txt» faylini o’qish uchun ochadi.
Matnli faylni bir vaqtning o’zida ham o’qish, ham yozish uchun ochib bo’lmaydi. O’qish uchun ochilgan fayldan faqat ma'lumotlarni o’qish, yozish uchun ochilgan faylga esa faqat ma'lumotlarni yozish mumkin. Ochilgan fayl albatta yopilishi kerak. Bu vazifani Close operatori bajaradi. Yuqoridagi misolni davom ettirsak, Close(fS) operatori «data.txt» faylini yopadi.
Faylga ma'lumotlar yozish va undagi ma'lumotlarni o’qish kiritish (ReadLn) va chiqarish (WriteLn) operatorlari yordamida bajariladi. Faqat bunda fayl bilan ishlanayotganini bildirish uchun faylli o’zgaruvchi ko’rsatiladi. Masalan, f5 faylli o’zgaruvchi «data.txt» fayli bilan bog’langan va yozish uchun ochilgan bo’lsa, WtiteLn(f5, 'Informatika') operatori «data.txt» fayliga «Informatika» so’zini yozib qo’yadi. «data.txt» fayli o’qish uchun ochilgan bo’lib, lin — satrli o’zgaruvchi bo’lsa, ReadLn(f5, lin) operatori «data.txt» faylidan navbatdagi satrni o’qib, lin o’zgaruvchiga o’zlashtiradi.
Shuni aytish lozimki, bitta dasturda bir nechta faylni ochish mumkin. Agar ular navbat bilan, ya'ni bittasi yopilgandan keyin ikkinchisi ochiladigan bo’lsa, bitta faylli o’zgaruvchidan foydalanish mumkin. Aks holda ularning har biriga alohida faylli o’zgaruvchi tavsiflanishi kerak.
Faylda o’qish uchun ma'lumot qolmaganda undan yana o’qishga harakat qilinsa xatolik yuz beradi. Buning oldini olish uchun eof funksiyasidan foydalaniladi. Eof — mantiqiy funksiya bo’lib, faylda o’qish uchun ma’lumotlar qolmagan bo’lsa «Rost», aks holda «Yolg'on» qiymatini qabul qiladi. Bu funksiya Eof(f) ko’rinishda yoziladi. Bunda f – faylli o’zgaruvchi.
1. Fayl turdagi o’zgaruvchi deganda nimani tushunasiz?
2. Matnlifaylni ifodalovchi o 'zgaruvchi Paskalning qaysi xizmatchi so'zi orqali tavsiflanadi?
3. Faylli o 'zgaruvchi tashqi xotiradagi fayl bilan qaysi operator yordamida bog’lanadi?
4. Rewrite operatorining vazifasini aytib bering.
5. Ochilgan faylni yopish uchun qaysi operator qo’llaniladi?
6. Matnli faylga ma lumotlarni yozish uchun qaysi operatorlardan foydalaniladi?
7. Fayldagi ma 'lumotlami o 'qish uchun qaysi operator yordamida ochiladi?
8. Matnli fayldan ma'lumotlarni o’qish uchun qaysi operatorlardan foydalaniladi?
9. Eof funksiyasining vazifasini aytib bering.
«TASDIQLAYMAN»
o’quv ishlari bo’yicha direktor
o’rinbosari______
– D A R S R E J A S I.
Dars o’tish vaqti _______ Fan – Informatika 9 – sinf
Do'stlaringiz bilan baham: |