“Kompyuter injiniringi” fakult ti


Fayllar tizimining asosiy xususiyatlari


Download 0.63 Mb.
Pdf ko'rish
bet2/6
Sana19.10.2020
Hajmi0.63 Mb.
#134795
1   2   3   4   5   6
Bog'liq
ushbu uslubiy korsatma telekommunikatsiya texnologiyalari talim yonalishi talabalari uchun moljallangan. (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.

Tajriba ishining bajarilish tartibi (algoritmi):

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.

2-tajriba ishining yechilishiga doir masala varianti.

Masala: Berilgan faylning o’qish va boshqa faylga ko’chirib yozish.

# include < stdio.h>


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:

                                                     Masala  

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.

                                               Masala  

 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.

                                            Masala 

 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.

kt rlar;



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

n



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

n



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

n



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.

Tajriba ishining bajarilish tartibi (alg ritmi):

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 \n");

 getch();

 }

ul sa: Tajriba ishini bajarish natijasida  C++ dasturlash tilida univ rsal dastur matni yozildi.



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:
1   2   3   4   5   6




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