Fayllar ustida amallar. Algoritmlarni loyhalash va tahlil qilish



Download 384 Kb.
bet9/11
Sana23.05.2022
Hajmi384 Kb.
#607640
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
Kurs ishi algoritmlash

2.2 Fayllarni saralash algoritmi.
Fayllarni saralash algoritmi
Misol: Haqiqiy sonli f fayli berilgan. Undagi manfiy sonlarni g fayliga, musbatlarini esa h fayliga ko’chiring.
Bu dasturimizni so’zlar yordamida algoritmini tuzamiz va quyidagicha:
1. Boshlash;
2. f fayli bilan bog’lansin;
3. g fayli bilan bog’lansin;
4. h fayli bilan bog’lansin;
5. f fayl o’qish uchun ochilsin;
6. i=1 deb olinsin;
7. f fayldagi c[i] elementi fayl oxiri bo’lmaguncha o’qilsin;
8. f fayl yopilsin;
9. n=i-1 hisoblansin;
10. i=1 deb olinsin;
11. i=i+1 hsoblansin
12. agar c[i]<0 bo’lsa y=c[i] deb olinsin, aks holda x=c[i] deb olinsin;
13. agar i=n bo’lmasa 11-qadamga o’tilsin;
14. g fayli yozish uchun ochilsin;
15. h fayli yozish uchun ochilsin;
16. g faylga y qiymat yozilsin;
17. h faylga x qiymat yozilsin;
18. tugallansin.

Tez saralash algoritmi
Algoritmni so’zlar yordamida tuzamiz:
Algoritm
1. Jadvalga talabalar ism-sharifini kiritamiz.
2. Jadvaldagi 1-elementni olamiz, i=0.
3. Jadvaldagi n-1 oxirgi elementdan to i-elementgacha barcha elementni FIO maydonini o’zidan oldin turgan element FIO maydoni bilan solishtiramiz. Agar zarur bo’lsa, o’rin almashtiramiz va o’rin almashtirishlar hisoblagichi l ning qiymatini bittaga oshiramiz, ya‟ni l++.
4. Agar ibo’lsa, i++ va 3-qadamga o’tamiz.
5. Natijaviy saralangan fayl ekranga chiqaramiz.


2.3 Fayllar bilan ishlash va ularga oid misollar.
Matnli fayllar bilan ishlash binar fayllar bilan ishlashdan bir oz farq qiladi. Matnli fayllarda ma`lumotlar satrlarda saqlanadi. Matnli fayl elementilari har xil uzunlikdagi satrlardir. Bu satrlar bir biridan satr oxiri belgisi bilan ajratiladi. Matnli fayl elementlari indekslanmagan bo`lganligi uchun, faylning istalgan elementiga bevosita murojaat qilib bo`lmaydi.
C++ da matnli yoki binar fayllar bilan ishlash uchun keng imkoniyatlar berilgan. Matnli fayllar bilan ishlashda oddiy C ning funksiyalaridan ham foydalanish mumkin. Masalan, formatli o'qish va yozish funksiyalari yoki oldingi mavzudagi funksiyalardan foydalanishimiz mumkin. Matnli fayllar bilan ishlashning bunday usuli kitoblarda keng yoritilgan. Ularni mustaqil o'qib - o'rganishingiz mumkin.
Bu mavzu fayllar bilan ishlovchi oqimlarni qisqacha o'rganamiz va buni matnli fayl misolida ko'ramiz.
Standart kiritish / chiqarish kutubxonasi sinflari quyidagicha shajaraga ega:
Fayllar bilan ishlash uchun quyidagi sifnlar ob'ektlari hosil qilinadi:
ofstream - faylga ma'lumot yozish uchun
ifstream - fayldan ma'lumot o'qish uchun
fstream - fayldan ma'lumot o'qish uchun va yozish uchun

Bu sinflarni dasturda ishlatish uchun sarlavha faylini qo'shish kerak


bo'ladi. Bundan keyin programmada aniq fayllar oqimini aniqlash mumkin. Masala: ofstream yozish; // faylga yozish oqimini e'lon qilish ifstream oqish; // fayldan o'qish oqimini e'lon qilish fstream yoz_oqi; // faylga yozish va o'qish oqimini e'lon qilish Keyin faylni ochish kerak bo'ladi. Faylni ochish deganda, uning ustida nima amal qilinishi haqida amaliyot tizimiga xabar berish tushuniladi.
void open (const char * filename, ios_base::openmode mode = ios_base::out );
mode parametri quyidagicha qiymatlarni qabul qilishi mumkin:
ios::in faqat ma'lumot o'qish uchun
ios::out faqat ma'lumot yozish uchun
faylni ochishda fayl ko'rsatkichini fayl oxiriga
ios::ate qo'yish
ios::app fayl oxiriga ma'lumotlarni yozish uchun
ios::trunc bor bo'lgan faylning ustidan yangi faylni yozish
ios::binary binar holda ma'lumotlarni almashish uchun

Har bir sinf uchun mode parametrining odatiy qiymatlari mavjud:


class default mode parameter
ofstream ios::out
ifstream ios::in
fstream ios::in | ios::out
Fayl ustida o'qish yoki yozish amalini bajarib bo'lgandan song, faylni yopish kerak
bo'ladi. Faylni yopish uchun close funksiyadi ishlatilad i.
Masalan:
yozish.close();
oqish.close();



Download 384 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish