Informatika va at” fani o`qituvchisi Dadamirzayeva Odinaning “informatika va axborot texnologiyalari”


§-4. Ob’ektga yo‘naltirilgan dasturlash texnologiyalarini o‘qitishda turli tipdagi ma’lumotlar bilan ishlash uslubiyoti


Download 0.63 Mb.
bet3/3
Sana27.04.2020
Hajmi0.63 Mb.
#101766
1   2   3
Bog'liq
mustaqil ish

§-4. Ob’ektga yo‘naltirilgan dasturlash texnologiyalarini o‘qitishda turli tipdagi ma’lumotlar bilan ishlash uslubiyoti.

Biz ushbu mavzuni muhokama qilishdan avval DELPHI dasturlash tilida ishlash mumkin bo‘lgan ma’lumotlarning tiplarini eslaylik.



Butun tip. DELPHI tili yettita tipdagi butun sonli ma’lumotlarni qabul qila oladi: Shortint, Smailint, Longint, Int64, Byte, Word hamda Longword.

Butun tipdagi sonlar 1-jadval

tipi

Diapazoni

o‘lchami

Shortint

-128 ... 127

8 bit

Smallint

-32 768 ... 32 767

16 bit

Longint

-2 147 483 648... 2 147 483 647

32 bit

Int64

-263 ... 263 - 1

64 bit

Byte

0...255

8 bit, ishorasiz

Word

0...65 535

16 bit, ishorasiz

Longword

0 ... 4 294 967 295

32 bit, ishorasiz

DELPHI tili eng universal butun tipli ma’lumot hisoblanadaigan va longint tipiga ekvivalent bo‘lgan Integer tipidagi ma’lumotlarni ham qabul qiladi.

Haqiqiy tip. DELPHI tilida oltita haqiqiy tipdagi ma’lumotlar mavjud: real48, single, double, extended, comp, currency. Bu tiplar bir-biridan qabul qiladigan qiymatlarining diapazoni, ishonchli raqamlarining soni va kompyuter xotirasidan egallaydigan xajmlari bilan farqlanadi. 1-jadvalda bu tiplar ular oraidagi farq keltirilgan.

DELPHI tili Double tipiga ekvivalent bo‘lgan universal haqiqiy tip - Real tipidagi ma’lumotlarni ham qabul qiladi.



Haqiqiy tipdagi ma’lumotlar Jadval-2




Diapazon

Ishonchli raqamlari

bayt

Real48

2.9 x 10-39 ... 1.7 x 1038

11-12

06

Single

1.5 x 10-45 ... 3.4 x 1038

7-8

04

Double

5.0 x 10-324 ... 1.7 x 10308

15-16

08

Extended

3.6 x 10-4951 ... 1.1 x 104932

19-20

10

Comp

2-631 ... 263-1

19-20

08

Currency

-922 337 203 685 477.5808

... 922 337 203 685 477.5807



19-20

08

Turli tipdagi ma’lumotlar bilan ishlaganda talabalar yo‘l qo‘yishi mumkin bo‘lgan va eng keng tarqalgan hatolik Edit oynasiga kiritilayotgan ma’lumot bilan bog‘liq. Yosh dasturchilar odatda kompyuter bilan faqat «aqlli» odamlar ishlaydi, ular masala shartida ko‘rsatilgan tipdagi ma’lumotni kiritishadi deb o‘ylashadi. (1 va 2-jadvallarga e’tibor bering) Ho‘sh, buning aksi bo‘lsa-chi? degan savol odatda ularning hayollariga ham kelmaydi. Shuning uchun, odatda ular yozgan dastlabki dasturlarning tarkibida bunday anglashilmovchiliklar va kutilmagan holatlar umuman hisobga olinmaydi. Vaholangki, yosh dasturchilar bunday vaziyatlarning yuzaga kelib qolishi mumkinligi va uning oldini olishga ilk qadamlaridanoq ko‘nikkanlari ma’qul.

Talab qilingan tipdagi ma’lumotni kiritish masalasi ham DELPHI tilida himoyalangan blok mexanizmi try-except yordamida hal qilinishi mumkin. Shuning uchun, talabalarni, eng sodda, chiziqli dastur yozishni o‘rganganlaridan keyinoq, bu mexanizm bilan tanishtirilganligi ma’qul. Ammo, bu mexanizm ham dasturda vujudga kelishi mumkin bo‘lgan barcha hatoliklarni olishda yetarli vosita bo‘la olmaydi. Demak, dasturchilar kiritilayotgan ma’lumotlarni nazorat qilishni dasturda hisobga olganlari maqsadga muvofiq bo‘ladi. Namuna tariqasida N! ni hisoblash dasturini ko‘ramiz. Matnda natural sonlarni kiritilishga e’tibor bering.

procedure TForm1.Button1Click(Sender: TObject);

var n, i, fak : integer;

begin

try

n : strtoint(edit1.text);

except

on econverterror do

showmessage(' Butun son kirirting'');

end;

if n<1 then begin

showmessage('Natural son kirirting'');

exit end

else

begin

fak : 1;

for i : 1 to n do fak : fak*i;

label1.caption : inttostr(fak);

end;

end;

Ushbu matnda econverterror metodi edit1.text oynasiga kiritilgan satrni butun songa aylantirish qay darajada amalga oshirilganligini aniqlaydi.

Sonli ma’lumotlarni qayta ishlashda eng ko‘p uchraydigan navbatdagi muammo - bu olinayotgan natijalarning shu natija mansub bo‘lgan tip diapazonidan chetga chiqishidir (1 va 2-jadvallarga qarang). Yuqoridagi dastur Edit1 oynasiga kiritilgan 12 soni uchun 479 001 600 natija bergani holda, 13 soni uchun 5447020800 o‘rniga 1 932 053 504 natijani ekranga chiqaradi. Bunday katta sonlar bilan ishlash, ayniqsa olingan natijalarning to‘g‘ri yoki noto‘g‘riligini aniqlash mushkul vazifa hisoblanadi. Boshlovchi dasturchilar ko‘pincha bu ko‘rinishdagi natijalarni to‘g‘ri deb qabul qilishadi. Chunki, agar ular yozgan dastur noto‘g‘ri bo‘lganda edi, kompyuter hatolik haqida axborot bergan bo‘lur edi. Kompyuter dasturni bajarib, qandaydir natija berdimi, demak «dastur to‘g‘ri yozilgan» qabilidagi qarashlar yosh dasturchilarni ko‘pincha hushyorlikdan bir oz chalg‘itadi.

Butun sonlar bilan ishlashda bu kabi hatolikning yuzaga kelishining asosiy sababi – bu ma’lumotlarning belgilangan diapazondan chetga chiqishidir. Bunday hatolikning oldini Erangeerror klassi ham ola olmaydi. Olingan ma’lumot diapazondan chetga chiqsa, u holda kompyuter hatolik haqida axborot berish o‘rniga, olingan natijani to‘g‘ridan to‘g‘ri [yuqori diapazon1] ga bo‘lib, qolgan qoldiqni natija sifatida qabul qiladi.

Dasturda fak o‘zgaruvchisini longword tipida deb belgilash ham vaziyatni qutqara olmaydi. Chunki, n soni yetarlicha katta bo‘lishi mumkin. Yana yuqoridagi fikrimizga qaytib, dasturchilarga nafa=at kiritilayotgan ma’lumotlarni, balki olinayotgan natijalarni ham dasturda nazorat qilishni ta’kidlab o‘tamiz. Faktorialning hisoblash dasturini quyidagicha yozishga tavsiya etamiz.

procedure TForm1.Button1Click(Sender: TObject);

var n,i, fak: integer;

begin

try

n : strtoint(edit1.text);

except

on econverterror do

showmessage('Butun son kirirting');

end;

if n<1 then begin

showmessage('Natural son kirirting');

exit

end

else

begin

fak : 1;

for i : 1 to n do begin

if fak>(2147483647 div i) then

begin

showmessage ('Bunday katta sonni yoza olmayman');

exit

end

else begin

fak : fak*i;

label1.caption : inttostr(fak);

end;

end;

end;

end;

Bu matnda 2147483647 soni longword tipidagi eng katta son.

Qiymati butun sonlar diapazonidan chetga chiqadigan ma’lumotlar bilan ishlashga ehtiyoj paydo bo‘lgan, berilgan masalani hal uchun (masalan katta sonning faktorialini hisoblash uchun) satrli ma’lumotlar bilan ishlash usullaridan foydalanishni tavsiya etish mumkin.

Haqiqiy tipdagi ma’lumotlar bilan ishlash butun sonlarga qaraganda ancha sodda. Buning sababi shuki, birinchidan, kiritilgan ixtiyoriy sonni haqiqiy son sifatida qarash mumkin; ikkinchidan, 2-jadvalda ko‘rsatilgan haqiqiy tipdagi ixtiyoriy ma’lumot o‘zi mansub bo‘lgan tipning yuqori diapazonidan chetga chiqsa, bu haqda



Floating point overflow

ko‘rinishidagi axborot chiqariladi. Quyi diapazondan chetga chiqadigan ma’lumotlar o‘rniga esa nol qo‘yiladi.

Bu holda ham, zarur bo‘lsa, dasturni haqiqiy o‘rniga haqiqiy bo‘lmagan ma’lumotlarni kiritishdan himoyalash uchun econverterror klassidan foydalanish mumkin.

Eksponensial ko‘rinishdagi sonlarni kiritishda esa sonning mantissasi uchun bitta maydon, tartibi uchun ikkinchi maydon tashkil qilingani ma’qul. Shundan keyin bu maydonlardagi ma’lumotlarni



c : edit1.text'e-'edit2.Text; a : strtofloat(c);

tarzida eksponensial ko‘rinishdagi songa aylantirish mumkin.

Belgili va satrli ma’lumotlar bilan ishlaganda odatda, muammolar ko‘p bo‘lmaydi. Paskal tilida satrli kattaliklarning uzunligi 256 tagacha bo‘lishi mumkin edi. DELPHI tilida esa satrli kattaliklarning uzunligi yetarlicha katta bo‘lishi mumkin. Chunki, DELPHI dagi shortstring, longstring va widestring kabi satrli tiplar uchun xotiradan statik va dinamik tarzda joy ajratilishi mumkin. Bu tiplar bir-biridan o‘zgaruvchilar uchun xotiradan joy ajratish, belgilarning kodlashtirish usullari щamda satrlarning uzunligi bilan farqlanadi. Satrli o‘zgaruvchilarga statik joy ajratish faqat dastur ishga tushirilmasdan avval sodir bo‘ladi. Dastur ishga tushirilganidan o‘zgaruvchilarga xotiradan joy dinamik tarzda ajratiladi. Demak, starli ma’lumotlar uchun ajratiladigan joy amaliy jihatdan kompyuterning bo‘sh xotirasi bilan chegaralanadi. Satrli ma’lumotlar bilan ishlaganda universal String satrli tipi bilan ishlashni tavsiya etamiz.

Juda ham uzun bo‘lgan satrli kattaliklarni dastur yordamida qayta ishlashga faqat nazariy jihatdan to‘g‘ri kelishi mumkin, ammo amaliyotda bunday masalalar juda kam uchraydi. Shuning uchun satrli kattaliklarning uzunligi bilan bog‘liq muammoni chetga surib qo‘yish mumkin. DELPHI tilida konsolli ilovalar yaratgish imkoniyati mavjud. Ammo, shuni yodda tutish kerakki, konsolli ilovalarni Windows muhitida yaratiladi va bu ilovalar odatda DOS dasturi kabi ishlatiladi. Bilamizki, DOS sistemasida ASCII kodlash usuli, Windows da esa ANSI usuli qo‘llanadi. Bu kodlash usullarida kirill alifbesining xarflari turli kodlarga ega. Shuning sababli, konsolli ilovalar dasturi matnidagi kirill alifbesida yozilgan izohlar o‘rniga boshqa matn ekran chiqariladi. Demak, konsolli ilovalarda turli matnlarni chiqarishga zarurat bo‘lsa, bu matnlarni lotin alifbesida chiqarish tavsiya qilinadi.

Agar konsolli ilovalarda rus alibesidagi axborotlarni ekranga chiqarish zarur bo‘lsa, dastur matnida ANSI-satrni ASCII-satriga o‘tkazuvchi qayta kodlash amalini qo‘shimcha tashkil qilishga to‘g‘ri keladi. ANSI kodlash usulida kirillcha harflar 192 dan 255 gacha kodlanishi hamda ASCII da - 128 dan 175 gacha (A..Yaa..p) va 224 dan 239 gacha (r..ya) kodlanishini hisobga olsak, dastur matniga quyidagi buyruqlarni qo‘shib qo‘yish tavsiya qilinadi.

for i : 1 to length(matn) do

case matn[i] of

'A'..'p' : matn[i] : Chr(Ord(matn[i]) - 64);

'r'..'ya' : matn[i] : Chr (Ord(matn[i] ) -16);

end;

Biz yuqorida faqat eng ko‘p qo‘llanadigan butun, haqiqiy va satrli tiplarga oid tipik ma’lumotlarni keltirdik halos. Qolgan tiplar bilan DELPHI tilida nazariy yoki amaliy mashg‘ulotlar vaqtida ehtiyojga qarab talabalarni tanishtirish mumkin.


§-5. DELPHI dasturlash tilida fayllar bilan ishlash uslubiyoti

Ma’lumki, kompyuterlarni operatsion tizimlarsiz, operatsion tizimlarni fayllarsiz tasavvur etish mumkin emas. Fayl, katalog, disk tushunchalari ixtiyoriy tizimning yadrosini tashkil qiladi. Har bir operatsion sistema o‘ziga hos bo‘lgan fayllar tizimiga ega.

Odatda fayllar bajaradigan funksiyalariga ko‘ra bajariladigan va bajarilmaydigan turlarga bo‘linadi. Kengaytmasi .exe, .com, .bat kabi fayllar bajariladigan fayllar hisoblanadi. Bajarilmaydigan fayllarning kengaytmasi esa boshqacha bo‘ladi. Ular bajariladigan fayllarning ishini to‘liq bo‘lishini ta’minlaydi yoki ular yordamida yaratiladi. Biz ushbu mavzu yordamida bajarilmaydigan fayllar guruhiga kiruvchi alohida fayllarni o‘qitish uslubiyotini bayon qilamiz

Bu fayllar ma’lumotlar omboridan iborat bo‘lib, ularni massiv tushunchasining mantiqiy davomi deb qarash mumkin. Chunki bu fayllar o‘zida elementlarining soni oldindan noma’lum yoki cheksiz bo‘lgan massivlarni saqlaydi. Bunday fayllar bilan ishlashni bilish dasturchilar uchun alohida ahamiyat kasb etadi va keyingi faoliyatlarida juda kuchli vositaga bo‘lib xizmat qiladi.

Ma’ruza mashg‘ulotlarida fayl haqidagi umumiy ma’lumotlar hamda fayllar bilan ishlashning nazariy tomonlarini o‘rgatiladi, amaliy mashg‘ulotlarda esa bu bilimlarni mustahkamlashga intilgan holda asosiy e’tiborni yangi fayllarni tashkil qilish, mavjud fayllarning davomiga yangi ma’lumotlarni qo‘shish, ilgari tashkil qilingan fayllar ustida turli masalalarni hal qilishga qaratiladi. Mavzu bo‘yicha mustaqil mashg‘ulotlarni individual topshiriqlar asosida tashkil qilish tavsiya qilinadi.

Ushbu mavzuni yoritishdan avval mavzu bo‘yicha boshlang‘ich ma’lumot sifatida Fayl nima? Fayllar bilan ishlashning afzalliklari nimada? Fayllar bilan ishlashga insonning, ayniqsa kompyuter foydalanuvchilarining xayotidagi qanday holatlarda extiyoj paydo bo‘lishi mumkin? degan savollarga javob berilishi hech bir shubhasiz nazariy mashg‘ulot samarasini oshiradi. Bu o‘rinda namuna tariqasida, quyidagi holatlarni eslatib qo‘yish mumkin.



1-holat: Ayrim hollarda bitta dasturdan foydalanish jarayonida katta hajmdagi boshlang‘ich ma’lumotlarni kiritishga to‘g‘ri kelib qoladi. Odatda, bu ma’lumotlarni kiritish jarayoni biror sabab bilan to‘xtatib qo‘yilsa yoki uzilib qolsa, dastur o‘z ishini to‘xtatadi. Dastur qayta ishga tushirilganda esa boshlang‘ich ma’lumotlarni kompyuter xotirasiga takroran kiritish lozim bo‘ladi. Yuzaga kelishi mumkin bo‘lgan bunday vaziyat foydalanuvchilarga dasturdan foydalanishda qiyinchiliklar tug‘dirish mumkin.

2-holat: Faraz qilaylik, kompyuter o‘z xotirasiga kiritilgan dasturni to‘la bajarishi uchun 1 oy davomida uzluksiz ishlashi kerak bo‘lsin. Va bu kompyuterni qandaydir sabab bilan, aytaylik, 20 kundan keyin o‘chirishga to‘g‘ri kelsin (yoki elektr ta’minoti ma’lum bir muddatda uzilib qolsin). Vujudga kelishi mumkin bo‘lgan bunday holatda dasturni yana ishga tushirib, kompyuterning dastlabki 20 kunlik mehnatini qaytadan tiklagandan keyingina dastur o‘z ishini davom ettirish mumkin.

Ana shu kabi holatlarni oldini olish uchun yangi ilovalarni yaratish jarayonida ma’lum bir muddat ishlagandan so‘ng, dastur yordamida olingan natijalarini saqlab qolish va yuqoridagi kabi kutilmagan uzilishlardan keyin dastur o‘z ishini kelgan joyidan davom ettirish imkoniyatlarini nazarda tutish talab qilinadi. Bu ishni tashkil qilish uchun zarur bo‘lgan vosita sifatida fayldan foydalanish tavsiya qilinadi.

Fayllar ma’lumot saqlashning eng qulay usuli ekanligining sababi quyidagilardan iborat:


  1. Odatda dasturni bajarib, olingan natijalar dastur o‘z ishiii tugatgandan so‘ng, EHM xotirasidan o‘chib ketadi. Bu ma’lumotlarga
    keyinchalik ehtiyoj paydo bo‘lsa, ularni qayta tiklash uchun dasturni yangidan ishga tushirishga to‘g‘ri keladi. Buni oldini olish uchun olingan natijalarni fayllarga yozib qo‘yilishi mumkin;

  2. Bitta faylda saqlanayotgan ma’lumotlar ko‘plab masalalar (ilovalar) uchun asos bo‘lish mumkin, boshqacha aytganda saqlab qo‘yilgan ma’lumotlar doirasidagi boshqa masalalar uchun boshlang‘ich ma’lumot bo‘lib xizmat qilishi mumkin;

  3. Ma’lumotlar soni EHM ning operativ xotirasiga sig‘maydigan darajada ko‘p bo‘lishi mumkin. Bunday vaqtda ma’lumotlarning bir qismini qandaydir faylda vaqtincha saqlab qo‘yish tavsiya qilinadi.

Bu ma’lumotlar tinglovchilarning qiziqishlarini orttirib, fayl tushunchasi bilan tanishishga jismonan va ruhan tayyorlaydi. Shundan keyin fayl haqidagi umumiy ma’lumotlarni keltirishga o‘tish mashg‘ulot samarasini oshiradi..

Fayl deb, xotira qurilmalaridan birida saqlanayotgan (ma’lum bir hajmni egallagan) va o‘zining nomiga ega bo‘lgan ma’lumotlar to‘plamiga aytiladi.

Fayl bo‘sh bo‘lishi ham mumkin.

Ushbu ma’lumotlar keltirilgandan keyin faylning manzili va nomi haqidagi umumiy tushunchalarni izohlashga o‘tiladi.

Fayllar o‘zining manzili hamda nomiga ega bo‘ladi. Faylning nomi odatda ikkita qismdan iborat bo‘ladi: atamasi va kengaytmasi. Masalan:

D: \ DELPHI \ alomat.pas

yozuvi alomat.pas faylini anglatadi. bu yerda alomat- faylning nomi, .pas-esa uning kengaytmasi. Bu faylning manzili bo‘lib D diskdagi DELPHI papkasi hizmat qiladi.

Mashg‘ulotning navbatdagi bosqichi fayllarni tashkil qilish hamda ulardan foydalanishga qaratiladi.

Dastlab, fayllar bilan ishlash jarayoni ikki bosqichdan, ya’ni faylni tashkil qilish hamda fayldan foydalanish bosqichlaridan iborat bo‘lishi uqtiriladi.

Odatda, fayllar bilan bog‘liq masalalarning shartlarida shunchaki biror fayl berilganligi ta’kidlanadi va bu fayl ustida qandaydir amalni bajarish talab qilinadi. Masalan: f faylida 1000 gacha bo‘lgan tub sonlar saqlanadi. Shu fayldan foydalanib, 500 dan katta bo‘lgan tub sonlar miqdorini aniqlang. Bu kabi masalalar tinglovchilarni to ular fayllar bilan ishlash mavzusini to‘liq egallab olmagunlaricha bir oz chalg‘itadi. Oqibatda ular birdaniga shunday fayl bor ekan degan nuqtai nazar bilan, to‘g‘ridan-to‘g‘ri masalada qo‘yilgan talabni bajarishga kirishib ketadilar va bir ozdan so‘ng «noto‘g‘ri ko‘cha» ga kirib qolganlarini anglashlashadi. Buning oldini olish uchun dastlab masalaning shartida keltirilgan faylning biror papkada mavjudligini tekshirish, mavjud bo‘lmaganda esa bu faylni yaratish lozimligini, shundan keyingina bu fayl ustida talab qilingan shartni amalga oshirish lozimligini alohida ta’kidlab o‘tish maqsadga muvofiq.

Yuqori keltirilgan ma’lumotlarning hammasi fayllar mavzusini chuqur o‘zlashtirish uchun boshlang‘ich ma’lumotlar hisoblanadi. Mashg‘ulot mobaynida bu ma’lumotlar yetarlicha izohlanganidan so‘ng, bevosita fayllar ustida bajarish mumkin bo‘lgan amallar haqidagi ma’lumotlarga o‘tishdan avval faylli o‘zgaruvchilar tushunchasini tinglovchilar ongiga yetkazish tavsiya etiladi.

Odatda fayllarda bir hil tipdagi ma’lumotlar saqlanadi va ular bilan ishlash uchun faylning manzili va nomini aniq ko‘rsatish talab qilinadi Fayllarning manzili va nomini bir dastur matnida bir necha marta kelishi dasturchiga bir oz noqulaylik tug‘diradi va ushbu holatning oldini olish uchun DELPHI tilida shu fayl va uning manzilini biror o‘zgaruvchi bilan belgilab qo‘yish qabul qilingan. Bunday o‘zgaruvchilarni faylli o‘zgaruvchilar deb ataladi. Faylli o‘zgaruvchilarni ham dasturda qatnashadigan boshqa o‘zgaruvchilar kabi e’lon qilinishi lozim. E’lon umumiy ko‘rinishda quyidagicha yoziladi:



Var faylli o‘zgaruvchi: file of tip;

Masalan:


Var f : file of integer;

g : file of string[20];

Bu yerda faqat butun sonlar uchun mo‘ljallangan f hamda har bir elementi 20 tagacha belgidan iborat bo‘lgan matnli ma’lumotlarning g – faylli o‘zgaruvchilari e’lon qilinmoqda.

Tinglovchilarda faylli o‘zgaruvchilar to‘g‘risidagi tasavvur paydo bo‘lganidan keyin, bu o‘zgaruvchilar yordamida fayllarning nom iva manzilini ko‘rsatish uchun mo‘ljallangan Assignfile protsedurasi haqidagi ma’lumotlar keltiriladi. Bu protsedura umumiy ko‘rinishda

Assignfile(faylli o‘zgaruvchi, ‘faylning manzili va nomi’);

tarzida yoziladi. Masalan:



assignfile(f, ‘D:\ DELPHI \ alomat.pas’);

Bunday e’londan keyin, kompyuter f fayli deganda D diskda joylashgan DELPHI papkasidagi alomat.pas faylini tushunadi, ya’ni har gal f fayli ustida bajarilishi lozim bo‘lgan amallarni D:\DELPHI\alomat.pas fayli uchun bajaradi.

Fayllarni e’lon qilish tushuntirilganidan so‘ng, uning ustida bajarish mumkin bo‘lgan amallarga o‘tish mumkin.

Fayllar ustida biror amalni bajarish uchun avval uni ochish talab qilinadi. Fayllarni ochish esa uch hil maqsaddan faqat bittasi uchun amalga oshiriladi. Fayllarni ochish masalasi maqsadga ko‘ra quyidagi metodlar yordamida hal qilinadi:



Rewrite(f).- f faylidagi ma’lumotlarni o‘qish;

Reset(f) - f faylidagi ma’lumotlarni o‘qish uchun ochish;

Append(f) - f faylining oxiriga yangi ma’lumotlar qo‘shish uchun ochish.

Dastur matnining oxirida yoki zarurat paydo bo‘lganda ochilgan fayllarni albatta yopish talab qilinadi. Buning uchun Close(f) - f faylini yopish metodidan foydalaniladi. .

Shundan keyin fayllardagi ma’lumotlarni o‘qish va faylga ma’lumotlarni yozish uchun mo‘ljallangan metodlar haqidagi ma’lumotlarga o‘tish mumkin. Bu o‘rinda Write(f, ma’lumot)- f fayliga navbatdagi ma’lumotni yozib qo‘yish hamda Read(f, o‘zgaruvchilar)- f faylidan navbatdagi ma’lumotni o‘qish va o‘zgaruvchilarga qiymat qilib berish metodlarini eslatib o‘tish kifoya.

Endi ochilgan fayllar bo‘ylab kursor tushunchasini kiritish hamda uning xarakatini izohlash lozim bo‘ladi. Bunda quyidagi ma’lumotlarni keltirish foydadan holi bo‘lmaydi.

Fayllar uchun kursor-ko‘rsatkich mavjud. U doimo qaysidir ma’lumotni ko‘rsatib turadi. Fayl o‘qish uchun ochilgan bo‘lsa, undan ma’lumotlarni o‘qishda, odatda kompyuter kursor ko‘rsatib turgan ma’lumotni o‘qiydi. Har gal belgilangan fayldan navbatdagi ma’lumot o‘qilganidan so‘ng, kursor o‘z vaziyatini o‘zgartiradi, ya’ni o‘qilgan ma’lumotdan keyingi ma’lumotga o‘tadi. Faraz qilaylik, f - faylida quyidagi ma’lumotlar saqlanayotgan bo‘lsin. Agar fayl o‘qish uchun ochilgan bo‘lsa, dastlab ko‘rsatkich birinchi ma’lumotni ko‘rsatib turadi. Hamma ma’lumotlar o‘qib bo‘lingandan so‘ng, ko‘rsatkich faylning oxiriga o‘tadi

Fayl yozish uchun ochilgan bo‘lsa, navbatdagi ma’lumotlar faylning oxiriga yoziladi.

DELPHI dasturlash tiliga kursorning holatini nazorat qiluvchi Eof(f) - f faylining oxirgi yozuvi o‘qilganligini tekshirish va Eoln(f) - f faylidagi joriy satrning oxirgi ma’lumotini o‘qilganligini tekshirish kabi mantiqiy metodlar kiritilgan.

Kursorning holati, Eof(f) va Eoln(f) kabi metodlarini izohlashda animatsion effektlardan foydalanish yaxshi samara beradi.

Shu bilan nazariy ma’lumotlarni tugatish mumkin. Navbatdagi vazifa - nazariy ma’lumotlarni amaliyotga bog‘lash masalasidir. Uni konkret masala yordamida hal qilish tavsiya qilinadi va albatta fayllar bilan bog‘liq masalalarni yechish jarayoni odatda ikkita bosqichdan iborat bo‘lishini alohida e’tiborga olish talab qilinadi:


  1. faylni tashkil qilish;

  2. shu fayl ustida masala shartida berilgan amalni bajarish.

Ko‘p yillik tajribalar shuni ko‘rsatadiki, tinglovchilar masalaning shartida berilgan fayllarni kompyuterda mavjud deb qarashadi, vaholangki bu fayl mavjud bo‘lmasligi mumkin. Shuning uchun qo‘yilgan masalani yechishda eng avvalo dastlabki shu faylning mavjud yoki mavjud emasligini aniqlash lozimligini alohida uqtirgan ma’qul. Agar mavjud bo‘lsa to‘g‘ridan-to‘g‘ri masalani yechishga o‘tish mumkin, aks holda dastlab faylni tashkil qilish va shundan keyingina masalani yechishga o‘tish talab qilinadi. Namuna tariqasida keltiriladigan masalalar uchun ilovalar yaratishda fayllar bilan ishlash jarayonida foydalanuvchilar duch kelishi mumkin bo‘lgan faylni yangidan tashkil qilish, uning davomiga yangi ma’lumotlarni qo‘shish hamda qo‘yilgan masala shartida talab qilingan vazifani hal qilish kabi muammolarning har birini alohida hal qilish tavsiya qilinadi.

Nazariy mashg‘ulotlar samarasini oshirish ma’ruzachidan anchagina kuch vaqt va bilimni talab qiladi. Buning sababi shundaki, bu mavzu bo‘yicha an’anaviy usulda, ya’ni ma’ruza shaklida mashg‘ulotlarni tashkil qilish yaxshi natija bermaydi. Chunki, tinglovchilar ma’lumotlar omborini fayllar yordamida tashkil qilish bilan bog‘liq vaziyatlarga duch kelishmagan. Shuning uchun ham ular fayllar haqidagi ma’lumotlarni bir qaragandan murakkab, ammo eng yangi, muhim va qiziqarli tushunchalardan biri sifatida qabul qiladilar.

Tajribalar shuni ko‘rsatdiki, fayllarni tashkil qilish, qayta ishlash, faylardan foydalanish, kursorning fayldagi holati haqidagi dastlabki ma’lumotlar talabaning ongiga qiyinlik bilan yetib boradi. Bu vazifani osonlashtirish uchun ma’ruzachi o‘zi tanlagan mashg‘ulot o‘tkazish uslubiga mos keladigan fayllar bilan bilan ishlashni namoyish qiluvchi yoki animatsion xarakterdagi o‘rgatuvchi dasturlardan keng foydalanishi tavsiya qilinadi.

MUNDARIJA
Kirish ......................................................................................................... 5

§-1. Dasturlashning yangi texnologiyalari sifatida ob’ektga

yo‘naltirilgan dasturlash texnologiyalaridan foydalanish ..........................7

§-2. Ob’ektli algoritm ..................................................................................... 15

§-3. Talabalarni DELPHI dasturlash tilini o‘rganishga

tayyorlash bosqichlari hususida ........................................................................ 22

§-4.Ob’ektga yo‘naltirilgan dasturlash texnologiyalarini o‘qitishda

turli tipdagi ma’lumotlar bilan ishlash uslubiyoti.................................. 29

§-5 .DELPHI dasturlash tilida fayllar bilan ishlash uslubiyoti ............. 35


FOYDALANILGAN ADABIYoTLAR RO‘YXATI
1. Aripov M. M., Otaxanov N. A. DELPHI dasturlash tili. 492-bet. Namangan, 2007 y. 492 b.

2. Babushkina I., S. Okulov. Praktikum po ob’ektno-orientirovannomu programmirovaniyu. M., Binom, 2004. 366 b.

3. Buch G. Ob’ektno-orientirvannoe programmirovanie. M., Konkord, 2002. 517 s.

4. N. Virt. 1989. Algoritmы i strukturы dannыx. Moskva, Mir, 360 str.

5. S. A. Nemnyugin. TURBO PASCAL. Uchebnik. Moskva, Piter, 2002 g. 512 s.

6. Knut D. Iskusstvo programmirovaniya. M., Mir, 1991.682 s.

7. Tutubalin D. K.Ob’ekto-orientirovannoe programmirovanie v srede Delphi: Ucheb. posobie.–Tomsk: Izd-vo Tom. gos. un-ta sistem upravl. i radioelektron., 2004. – 112 s.

8. «Programmalash asoslari» fanidan namunaviy dastur. Toshkent, 2007. 6 b.

9. Stein J. March 1988 . Object-Oriented Programming and Database Design. Dr. Doobs journal of Software Tools for the Professional Programmier. № 137, p.18.

10. Sommerville.1. 1985. Sovtware Engineering. 2nd ed. Wotkhingam England: Addison Wesley , p.68.



11. Yordon E and Konstantine L. 1979. Structured Design. Englewood Cliffs. Nj:Prentice-Hall.


1 Н. Вирт. 1989. Алгоритмы и структуры данных. Москва, Мир, 360 стр.

2 Sommerville.1. 1985. Sovtware Engineering. 2nd ed. Wotkhingam England: Addison Wesley , p.68.

3 Yordon E and Konstantine L. 1979. Structured Design. Englewood Cliffs. Nj:Prentice-Hall.

4 Virth N1986. A1gorithm and Data Structures. Englewood Cliffs. Nj:Prentice-Hall.

5 Jakson M. 1983. System Development. Englewood Cliffs. Nj:Prentice-Hall.

6 Orr K. 1971. Structured System development. New York. NY: Yordon Press.

7 Stein J. March 1988 . Object-Oriented Programming and Database Design. Dr. Doobs journal of Software Tools for the Professional Programmier. № 137, p.18.

8 Тутубалин Д. К.Объекто-ориентированное программирование в среде Delphi: Учеб. пособие.–Томск: Изд-во Том. гос. ун-та систем управл. и радиоэлектрон., 2004. – 112 с.



Download 0.63 Mb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling