“Kompyuter injiniringi” fakult ti
Fayllar tizimining asosiy xususiyatlari
Download 0.63 Mb. Pdf ko'rish
|
ushbu uslubiy korsatma telekommunikatsiya texnologiyalari talim yonalishi talabalari uchun moljallangan. (1)
- Bu sahifa navigatsiya:
- Tajriba ishining bajarilish tartibi (algoritmi)
- 2-tajriba ishining yechilishiga doir masala varianti. Masala
- exit (-1); // * bajarilishni tugatish *// } // * bp ni o’rnatish* //
- exit( - 1); // * bajarilishni tugatish * // } while (( cq getc(fp)) !q EOF) putc ( c, bp) ;
- Tajriba ishi 3,4 Mavzu
- Tajriba ishining bajarilish tartibi (alg ritmi)
- 3,4-tajriba ishining y chilishiga d ir masala varianti. Masala
- 3,4-tajriba ishiga d ir masala topshiriqlar variantlari: MASALA 1
Fayllar tizimining asosiy xususiyatlari. Fayllar tizimi fayllar uchun sanab utilgan barcha xususiyatlarni o’z ichiga oladi, va yana ba’zi bir qo’shimcha xususiyatlarga xam ega. Bu xususiyatlar fayllar tizimining strukturalik tashkil etilishi bilan bog’lik. Keling, qandaydir tashqi saqlash qurilmasi (TSQ) fazosini qarab chiqaylik va bu fazoda fayllarni joylashtirishni tashkil etishni ko’rib chiqamiz. 1. Uzluksiz segmentli fayllarni birdarajali tashkil etish. «Birdarajali» termini tizim unikal nomlangan fayllar bilan ishlashni ta’minlashini anglatadi. Tashqi saqlash qurilmasi chegarasida berilganlarni saqlash uchun katalog deb ataluvchi soxa ajratiladi. «Boshlang’ich blok» berilgan ism bilan boshlanuvchi tashqi saqlash qurilmasidagi nisbiy adresni ko’rsatadi. «Oxirgi blok» berilgan faylning oxirgi blokini aniqlaydi. Faylni ochish funktsiyasi katalogda fayl ismini topish, uning boshlanishi va oxirini aniqlashni amalga oshiradi. (amalda berilganlar ko’rsatilganidan kam joy egallashi mumkin, lekin bu xaqda keyinroq to’xtalamiz). Bu xarakat juda oddiy, shu bilan katalogni OT xotirasida saqlash mumkin, bu esa almashinuvlarni kamayishiga olib keladi. Agar yangi fayl tashkil etilayotgan bo’lsa, u bo’sh joyga yoziladi. Ismlar katalogiga o’xshash bo’sh fazolar (fragmentlar) jadvali bo’lishi mumkin. O’qish-yozish qo’shimcha almashinuvlarsiz amalga oshiriladi, chunki faylni ochishda biz berilganlarni joylashtirish diapazoniga ega bo’lamiz. O’qish ushbu struktura blokiga mos ravishda amalga oshiriladi va xech qanday qo’shimcha ma’lumot talab etilmaydi, almashinuv xam mos ravishda tezda amalga oshiriladi. Endi qarab chiqaylik, bunday faylga qo’shimcha ma’lumot yozmoqchimiz, lekin bo’sh fazo joy yo’q? Bu xolda tizim ikki xil yo’l tutishi mumkin. Birinchidan, u sizga joy yo’qligini aytadi va siz o’zingiz nimadir qilishingiz kerak bo’ladi, ya’ni qandaydir ushbu faylni biror joyga ko’chirib turadigan va kerakli ma’lumotni qo’shadigan jarayonni qo’yasiz. Bunday ko’chirish yetarli darajada qimmatga tushadigan funktsiya. Ikkinchi imkoniyat - almashinuvni rad etiladi. Bu esa faylni ochish jarayonida avvaldan qo’shimcha joy olib qo’yish kerakligini anglatadi; bu xolda fayl tizimi buferning bo’sh o’lchamini tekshiradi va u kam bo’lsa, Ushbu faylni joylashtirish uchun bo’sh joy qidiradi. Bunday kuramizki, bunday tashkil etish sodda, almashinuvlarda unumli, lekin fayl uchun joy yetishmagan xollarda unimsizlik boshlanadi. Bunday tashkari fayl tizimining uzoq ishlashi davomida diskda xuddi operativ xotiradagi kabi fragmentatsiya xolati yuz beradi. Ya’ni bush joylar mavjud ,lekin faylimizni joylashtirish uchun yetarli joy yo’q bo’lgan xolat yuzaga keladi. Fayl tizimini bunday tashkil etilishining fragmentatsiyasi bilan kurashishda uzoq, og’ir va fayl tizimi uchun xavfli bo’lgan jarayon, ya’ni fayllarni bir-biriga zichlashtirish jarayoni amalga oshiriladi. Bunday tashkil etish bir foydalanuvchilik fayl tizimi uchun kulay va foydalidir, chunki foydalanuvchilarning kupligi xolatida fragmentatsiya yuz beradi. Zichlashtirish jarayonini xar doim qo’yish maqsadga muvofiq emas. Boshqa tomondan tizim oddiy va xech qanday qo’shimcha xarajatlar talab qilmaydi.
1. Masalaning qo’yilishini ifodalash. 9 2. Dasturlash tilida masala dasturini tuzish. 3. Natijalarni qog’oz yoki monitor ekraniga chiqarish. 4. Tajriba ishi bo’yicha hisobot tayyorlash. Sinov savollari: 1. Fayl nima? 2. Fayl ismi nima? 3. Faylga ko’rsatkich nima? 3. Fayl tizimiga ta’rif bering. 4. Fayllarning asosiy xususiyatlarini sanab bering. 5. Fayllar tizimining asosiy xususiyatlarini sanab bering. 6. Uzluksiz segmentli fayllarni birdarajali tashkil etishning yutuk va kamchiliklarini sanab bering.
10 main ( ) { FILE *fp, *bp; //* faylga ikki ko’rsatkich *// int c ; // * fp o’rnatish *// if (( fp q fopen ( “ fred”, “ r ”)) qq NULL ) { fprintf ( stderr, “ Cant oper fred g’ n”) ; exit (-1); // * bajarilishni tugatish *// } // * bp ni o’rnatish* // if (( br q fopen ( “ bill” , “ w”)) qq NULL ) { fprintf ( stderr , “ Cant open bill g’ n “ ) ; exit( - 1); // * bajarilishni tugatish * // } while (( cq getc(fp)) !q EOF) putc ( c, bp) ; exit (0); } 2-tajriba ishiga doir berilishi mumkin bo’lgan masala variantlari: 1 f faylning komponentalari xaqiqiy sonlar bo’lsin. Topish kerak: 1. komponentalarning yig’indisini; 2. komponentalarning ko’paytmasini; 3. komponentalarning yig’indisining kvadratlarini;
11 4. komponentalarning ko’paytmalarining kvadratini va yig’indisining modulini; 5.faylning oxirigi komponentasini; va g faylga yozish kerak. Masala
2 f faylning komponentalari xaqiqiy sonlar bo’lsin. Topish kerak: 1. komponentalarning eng katta qiymatini; 2. komponentalarning eng katta va eng kichik qiymatlarining yig’indisini; 3. birinchi va oxirgi komponentaning farqini; ; va g faylga yozish kerak. 3 f faylning komponentalari natural sonlar bo’lsin. Topish kerak: 1. komponentalarning ichidan juft sonlar sonini; 2. komponentalarning ichidan tok sonlar sonini; 3. komponentalarning ichidan tok sonlar kvadratlarining sonini; va g faylga yozish kerak. Masala 4 f faylda n natural sonlar berilgan. g faylga ushbu natural sonlardan yozish kerak. 1. komponentalarning yigindisini; 2. komponentalarning eng katta va eng kichik qiymatlarining yig’indisini; 3. komponentalarning yig’indisining kvadratlarini; 4. komponentalarning ichidan tok sonlar kvadratlarining sonini; Masala 5 f belgili fayl berilgan. Ushbu faylning nusxasini g faylga ko’chirish kerak. Masala 6 f faylning komponentalari natural sonlar bo’lsin. g faylga 1. barcha juft komponentalarni; 2. 3 ga bo’linadigan komponentalarni; 3. 7 ga bo’linmaydigan komponentalarni; 4. barcha komponentalarning yig’indisini yozish kerak. Masala 7 Komponentalari butun sonlar bo’lgan f fayl berilgan. g faylga barcha juft qiymatli komponentalarni, h faylga esa barcha tok qiymatli komponentalarni yozish kerak. Masala 8 f faylning komponentalari butun sonlar bo’lsin. Komponentalardan xech biri nulga teng emas. Fayldagi sonlar quyidagi tartibda joylashgan 10 ta musbat, 10 ta manfiy va x.k. Endi g faylga f faylning komponentalarini 5 ta manfiy, 5 ta musbat ketma-ketligida yozish kerak. Masala 9 f belgili fayl berilgan bo’lsin. g faylga 1. xar bir undov belgisini nuktaga; 2. xar bir nuktani ko’p nuktaga; 3. xar bir ko’p vergulni a xarfi bilan 4. xar bir ikki nuqtani v xarfi bilan almashtirish yozing. 10
f faylning komponentalari xaqiqiy sonlardan iborat to’plamlar bo’lsin. Xar bir to’plam uchun musbat elementlar sonini hisoblab ularni pechatga chiqarish va g faylga yozish kerak. Masala 11
f faylning komponentalari xaqiqiy sonlardan iborat to’plamlar bo’lsin. Xar bir to’plamni manfiy elementlarini -1 ga, musbat emementlarini 1 ga , nullik elementlarini o’zgartirmay qoldirib g faylga yozish kerak. Masala 12 f faylning komponentalari natural sonlardan iborat to’plamlar bo’lsin. g faylga 1. xar bir 1 sonini 100000 ga; 12 2. xar bir 5 sonini 500000 ga; 3. xar bir 8 sonini 800000 ga; 4. xar bir 7 sonini 700000 ga almashtirib yozing. Masala 13
f faylning komponentalari butun sonlar bo’lsin. Komponentalardan xech biri nulga teng emas. Fayldagi sonlar quyidagi tartibda joylashgan 8 ta musbat, 8 ta manfiy va x.k. Endi g faylga f faylning komponentalarini 11ta manfiy, 11 ta musbat ketma-ketligida yozish kerak. Masala 14 f faylning komponentalari xaqiqiy sonlardan iborat to’plamlar bo’lsin. Xar bir to’plamni manfiy elementlarini -5 ga, musbat emementlarini 7 ga, nullik elementlarini 99 ga o’zgartirib g faylga yozish kerak. Masala 15 f faylning komponentalari natural sonlar bo’lsin. g faylga 1. barcha tok komponentalarni; 2. 5 ga bo’linadigan komponentalarni; 3. 9 ga bo’linmaydigan komponentalarni; 4. barcha komponentalarning yig’indisini yozish kerak. Masala 16
f va g faylning komponentalari xaqiqiy sonlar bo’lsin. Topish kerak: 1. mos komponentalarning eng katta qiymatlarini yig’indisini; 2. komponentalarning mos ravishda eng katta va eng kichik qiymatlarining yig’indisini; 3. mos ravishda birinchi va oxirgi komponentaning farqini; ; va h faylga yozish kerak. Masala 17 f va g faylning komponentalari natural sonlar bo’lsin. Topish kerak: 1. mos komponentalarning yig’indisini; 2. mos komponentalarning ayirmasini; 3. mos komponentalarning ko’paytmasini; va h faylga yozish kerak. Masala 18 f belgili fayl berilgan bo’lsin. g faylga f belgili faylning komponentalarini teskari tartibda yozing. Masala 19 Kiruvchi oqimda xaqiqiy sonlar berilgan va ularning soni xaqida bizga uning 16 ga qoldiqsiz bo’linishigina ma’lum. f faylda xar biri 16 tadan elementga ega bo’lgan to’plamlar ketma-ketligini tashkil etish kerak. Bu xolda birinchi 16 ta element birinchi to’plamni ,keyingi 16 ta element keyingi 2 chi to’plamni va x.k. tashkil etadi. Masala 20 Kiruvchi oqimda xaqiqiy sonlar berilgan va ularning soni haqida bizga uning 16 ga qoldiqsiz bo’linishigina ma’lum. f faylda tashkil etish kerak: 1. 4x4 matritsani; 2. 2x8 matritsani; 3. 8x2 matritsani. Masala 21
13 f1 faylning komponentalari butun sonlardan iborat to’plamlar a1, a2,….,a7 bo’lsin. f2 faylga quyidagi to’plamlardan hosil bo’lgan to’plamlar ketma-ketligini yozing. 1. a1,…..,a7,a0; 2. a0a1,a1a2,….,a7a0 3. a0a1a2, a1a1a3,….,a6a1a0, a7a1a1 Masala 22 f1 faylning komponentalari xaqiqiy sonlardan iborat to’plamlar a1, a2,….,a10 bo’lsin. Xar bir to’plamning manfiy elementlarini -10 ga, musbatlarini 10 ga, nullik elementlarini o’zgarishsiz qoldirib, tashkil bo’lgan to’plamlarni f2 faylga yozing. Masala 23 f faylning komponentalari xaqiqiy sonlar bo’lsin. Topish kerak: 1. komponentalarning kvadratlarini; 2. komponentalarning ko’paytmasini; 3. komponentalarning yig’indisini; 4. komponentalarning ko’paytmalarining kvadratini va yig’indisining modulini; va g faylga yozish kerak. Masala 24 f faylning komponentalari xaqiqiy sonlar bo’lsin. Topish kerak: 1. komponentalarning o’rtacha arifmetigini; 2. komponentalarning eng katta va eng kichik qiymatlilarining sonini; 3. birinchi va oxirgi komponentaning farqini; ; va g faylga yozish kerak. Masala 25 f faylning komponentalari natural sonlar bo’lsin. Topish kerak: 1. komponentalarning ichidan juft sonlarning o’rtacha arifmetigini; 2. komponentalarning ichidan tok sonlarning o’rtacha arifmetigini; 3. komponentalarning ichidan tok sonlar kvadratlarining sonini; va g faylga yozish kerak. Masala 26 n natural sonlar berilgan. g faylga ushbu natural sonlardan yozish kerak. 1. komponentalarni 1 soni bilan almashtirib; 2. komponentalarning eng kattasini 9 bilan va eng kichigini 0 bilan almashtirib; 3. komponentalarning yig’indisini; 4. komponentalarning ichidan tok sonlar kvadratlarining sonini; Tajriba ishi 3,4 Mavzu: Tizimli dasturlash nazariyasining as siy tushunchalarini to’plam el ntlari
ustida turli amallarni bajarish ish printsiplari bilan tanishgan lda o’rganish. Ishdan maqsad: tizimli dasturiy ta’min t nazariyasining as siy tushunchalarini to’plam el ntlari ustida turli amallarni bajarish ish printsiplari bilan tanishgan lda
o’rganish, b rilgan s dda mis l uchun dastur tuzish ko’nikmalarini sil qilish. Nazariy qism. rilganlarning ddiy statik strukturalari Ularga 1.
2. to’plamlar; 3. yozuvlar; 14 4. jadvallar kiradi. 1. V kt r – bir turdagi b rilganlarning tartiblangan tuplami. kt rga bir ulchamli tuplam m s k ladi. Uning el ntlari tirada kat’i biri-biridan yin j ylashadi. Bunday tartiblanish el ntlarni rakamlash imk niyatini b radi (rakamlar- ind kslar). Eng kup kullaniladigan amallardan biri – b rilgan ind ks buyicha el ntga mur jaat amalidir. kt rlar ustidagi yana b shka amallardan v kt rning pastki va yuk rigi ch garalarini aniklash, v kt r el nti turini aniklash kabilardan f ydalaniladi. kt rning fizik kurinishi tiraning bir il ulchamdagi bulaklari (mayd n, sl tlar) tma-k tligi kurinishida amalga shiriladi. ar bir mayd nda bitta el nt saklanadi. Bu sl tlar
tirada el nt ind kslari shib b rishi tartibida j ylashadi. kt rning fizik strukturasi tiradi j ylashgan va kuyidagi tabiatga ega diskr pt r bilan kuzatiladi. D skript r kuyidagi mayd nlardan tashkil t padi: rilganlar strukturasining ichki k di kt rning ismi birinchi el ntning manzili ind ksning pastki kiymati ind ksning yuk ri kiymati el ntning turi sl t ulchami Birinchi mayd n diskr pt r bilan b glangan b rilganlar strukturasini aniklashga imk n radi. Manzil funktsiyasi (aks ettirish funktsiyasi) v kt r latida kuyidagi kurinishga ega buladi:
I p i p Adr i adr * ) ( ) ( ) ( shlangich b rilganlar: ind ksning minimal qiymati: p i manzil qidirilayotgan ind ks maksimal qiymat: q sl tning o’lchami: I 2. To’plam, umumiy lda, - bu ar bir el nti v kt r bulishi mumkin bulgan rilganlar strukturasidir. Ikki ulchamli, uchulchamli, n-ulchamli tuplamlar bulishi mumkin. Tuplamning ar bir el ntini aniklash uchun ind ksdan f ydalaniladi ( ar bir k rdinata buyicha): ) ,..., ( 1
j j A . Tuplamning el ntiga mur jaat kilish uchun n ind ksdan f ydalaniladi Tuplamlar bilan ishlaganda eng kup f ydalaniladigan amallardan biri manzil funktsiyasini amalga shirishni talab etadigan mur jaat amalidir. Bu amal v kt rdan farkli ravishda n trivial bajariladi. Mis l karaymiz. Faraz kilaylik n-ulchamli tuplam b rilgan bulsin: ) ,...,
( 1 1 n n K i K i B ) ..., , ( 2 1 n i i i B – b shlangich el nt )
( 1
j j B –
tirada manzilini t pish k rak bulgan i tiyoriy el nt.
Manzil funktsiyasi kuyidagicha is blanadi: L D i L D j i i i B Adr j j B Adr m m m m n n * ) ) * ( ( * ) ) * ( ( )) ,..., , ( ( )) ,...,
( ( 2 1 1 , bu rda: L – sl t ulchami D – tuplamni tirada (kat rlar yoki ustunlar buyicha) j ylashishiga karab aniklanadi. Agar kat rlar buyicha j ylashgan bulsa, u lda avval birinchi kat r j ylashadi va .k., agar ustunlar buyicha j ylashsa- avval birinchi ustun j ylashadi va .k.
15 El ntlar kat r buyicha j ylashgan ll uchun, u lda:
1 1 1 * ) 1 ( m m m m D i K D 1 ,..., 1 n m 1
D YAna shu kabi uchrab turadi: simm trik kvadrat matritsa (el ntlari b sh di ganalga nisbatan simm trik va ng) silgan matritsa -razr nnaya matritsa (kupgina el ntlari 0 ga t ng). Bunday matritsalar ruy at kurinishida saklanadi. 3. Yozuv – umumiy lda turli turdagi tartiblangan el ntlarning tuplamidir (mayd nlar d b ataladi). Yozuvlar ddiy va bir-biriga kirishgan bulishi mumkin (mayd n urniga b shka yozuv ylashishi mumkin). Biri-biriga kirishish darajasi yozuvlar d skript rida aks etadi.
1. Masalaning qo’yilishini if dalash. 2. Dasturlash tilida masala dasturini tuzish. 3. Natijalarni q g’ z yoki m nit r ekraniga chiqarish. 4. Tajriba ishi bo’yicha his t tayyorlash. His tga talablar:
His tda qo’yilgan masalaning b rilishi, nazariy qismi, ishning bajarilishi alg ritmi, bl k chizmasi, dastur matni, lingan natijalar va f ydalanilgan adabiyotlar aks ettirilishi k rak. Sin v sav llari: 1.V kt r nima? 2.To’plamlar nima? 3.Yozuvlar nima? 4.Jadvallar nima? 5.Diskr pt r nima? 3,4-tajriba ishining y chilishiga d ir masala varianti. Masala: Kiritilayotgan to’plamning el ntlarini o’rtacha arifm tigini va har bir el ntning o’rtacha arifm tikdan ch klanishini t padigan dasturni yozish. Natijada o’rtacha arifm tik qiymat va eng katta ch klanishni m nit r ekraniga chiqarish talab qilinadi. Dastur dial g r jimida ishlaydi va bu to’plamning turli qiymatlarida natija lishga imk n b radi. Dastur matni: #include #include main()
{ int i,n,ix,b,ab,maxab,a[16]; clrscr(); n=16;
while (n>15) {
printf("\n Elementlar sonini kiriting\n"); printf("----->"); scanf("%i",&n); }
printf("\n \n");
printf("----->"); for (i=1;i<=n;i++) scanf("%i",&a[i]); b=0; for (i=1;i<=n;i++) b=b+a[i]; 16 b=b/n;
ix=1; if (a[1] for (i=2;i<=n;i++) {
if (a[i] if (ab>maxab){ maxab=ab; ix=i;} } for (i=1;i<=n;i++) printf(" a[%i]=%4i\n",i,a[i]); printf(" O’rta arifmetigi =%4i\n",b); printf(" =%4i\n ot a[%i]=%4i\n ",maxab,ix,a[ix]); printf(" Chiqish uchun enter tugmasini bosing getch(); }
17 3,4-tajriba ishiga d ir masala topshiriqlar variantlari: MASALA 1 Klaviatura klavishalari k dini lish dasturini tuzish. MASALA 2 Matndagi katta arflarni kichik arflarga almashtiradigan dasturni tuzish. MASALA 3 Turli t vushlar chiqarish dasturini tuzish, dasturdan chikish ESCAP klavishasini b sish bilan amalga shiriladi.
Download 0.63 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling