Program FAB; Type f=text; Var A,B: Array[1..100] of Real; m: Integer; fxz: f; Begin Assign(fxz,’c:\AA\AB.txt’); Reset(fxz); m:=0; While not eof(fxz) do Begin m:=m+1; Readln(fxz,A[m],B[m]); End; Close (fxz); End. Massiv qiymatlarini biron matn fayliga yozib qo’yish uchun Assign, Rewrite, Append, Write va Close funksiyalari ishlatiladi.
Assign- fayl o’zgaruvchisi bilan asosiy fayl o’rtasida a’loqa o’rnatadi va u quyidagicha yoziladi.
Assign(fayl o’zgaruvchisi, diskdagi fayl joyi va nomi);
Append- Fayldan yozish uchun joy tayyorlayli.
Append(fayl o’zgaruvchisi);
Write- o’zgaruvchi qiymatini fayl o’zgaruvchisiga uzatadi va faylga yozadi. Write(fayl o’zgaruvchisi, o’zgaruvchilar);
Close- ochilgan faylni yopadi. Close (fayl o’zgaruvchisi);
Misol 2. YUqoridagi C: diskdagi AA katalogdagi AB fayldagi ma’lumotlarni A va B massivlarga o’qib shu massiv mos elementlarini qo’shib S massivni tashkil qiling va A,B,C massivlarini ABC nomli faylga joylashtiring.
Fayl ma’lumotlari strukturasi quyilagicha bo’lsin.
i A B C
1 15.2 20.5 45.7
2 20.1 25.5 45.6
. . . . . . . . . . . .
Program FABS; Type f=text; Var A,B,C: Array[1..100] of Real; i,m: Integer; fax: f; Begin Assign(fax,’c:\AA\AB.txt’); Reset(fax); m:=0; While not eof(fax) do Begin m:=m+1; Readln(fax,A[m],B[m]); End; Close (fax); Assign(fax,’c:\AA\ABC.txt’); Rewrite(fax); Append(fax); For i:=to m do Begin Write(fax,i,A[i],b[i],c[i]); Writeln(fax); End; Close(fax); End.
XULOSA Yuqoridagilarni o‘rganish davomida xulosa qildimki ko‘pincha ma’lum amallar majmuini dasturning turli qismida takrorlashga to‘g`ri keladi. Paskalda ko‘p takrorlanadigan amallar majmuini asosiy dasturdan ajratib olib, ulardan alohida bloklar - protsedura vafunksiyalar tashkil qilish mumkin. Har bir shunday tashkil etilgan protsedura va funksiyaga albatta nom beriladi. Kerakli protsedura yoki funksiyaga uning nomi orqali murojaat etiladi. Protsedura va funksiyalardan oqilona foydalanib tuzilgan dastur, odatda, sodda va tushunarli bo‘ladi.
Protseduralar ham, funksiyalar ham ma’lum amallar majmuidan iborat bo‘lsa, ular bir biridan nimasi bilan farq qiladi?
Funksiyalar, umuman olganda, biror bir qiymatni hisoblashga mo‘ljallab tuziladi. Pirovard natijada hisoblangan qiymat funksiya nomiga o‘zlashtiriladi.
Protseduralar esa ma’lum bir amallar ketma-ketligini bajarish maqsadida tuziladi. Bunda biror natijaviy qiymat hisoblanishi emas, balki berilgan amallar ketma-ketligi bajarilishining o‘zi ahamiyatga ega.
Masalan, dasturda tomonlari berilgan uchburchak yuzini bir necha marta hisoblash kerak bo‘lsa, funksiyadan foydalanish maqsadga muvofiq. Chunki bunda har safar birgina qiymatni - uchburchakning yuzi hisoblanadi. Agar uchlarining berilgan tomonlari bo‘yicha ekranda bir nechta uchburchak chizish talab etilgan bo‘lsa, tabiiyki, birgina qiymatni hisoblashga mo‘ljallangan funksiya emas, balki, ekranda uchburchak chizish jarayonini tashkil etuvchi protsedura tuzish lozim.
Protsedura va funksiyalarni ularga murojaat etishda beriladiganma’lum bir qiymatlarga bog`liq qilib tashkil etish ham mumkin. Bu qiymatlar parametrlar, shu tarzda tashkil etilgan protsedura va funksiyalar esa parametrli protsedura va funksiyalar deyiladi.