...
Implementation
...
{ yopiq e‘lonlar bo‘limi}
...
Begin
...
{ Inistializastiya bo‘limi}
...
End.
Agar modul o‘z ichida boshqa modullardan foydalansa Interface xizmatchi
so‘zidan
keyin
Uses
; yoziladi.
Interfeysli bo‘lim modulning bir qismi bo‘lib, Interfaceva Implementation so‘zlari
orasida joylashadi. Bu bo‘limda o‘zgarmaslar, ma‘lumotlar tipi, o‘zgaruvchilar, prostedura va
funkstiyalarni aniqlash mumkin. Bu kiritilganlar mazkur modulda qatnashuvchi barcha
programmalar va modullarda bemalol ishlatilishi mumkin. Bo‘limda sanab o‘tilgan prostedura va
funkstiyalarning tana qismlari Implementationso‘zidan keyin aniqlanadi (ularning sarlavhalari
aynan saqlanib qolishi kerak). Bu bo‘limda ham, faqat shu bo‘lim uchungina "Ko‘rinadigan"
(ishlatishi mumkin bo‘lgan) e‘lonlar bo‘limi qatnashishi mumkin. Inistializastiya sekstiyasi
Begin va Endso‘zlari ichiga olib yoziladi. Agar Beginso‘zi tushirib qoldirilgan bo‘lsa, demak bu
sekstiya yo‘q hisoblanadi. Inistializastiya sekstiyasida boshqarishni asosiy programmaga
uzatgungacha bajariladigan operatorlar joylashgan bo‘ladi.
Bu operatorlar asosan programmani ishga tushirishga tayyorlab beradi. Misol sifatida X
va Y buning sonlarining maksimumi va minimumini aniqlovchi modulni yarataylik:
Unit Stud;
Interface{ochiq e‘lonlar bo‘limi – interfeys sekstiyasi}
function min(x,y:integer):integer;
function max(x,y:integer):integer;
Implementation{yopiq e‘lonlar bo‘limi}
function min(x,y:integer):integer;
Begin
if x<=y then min:=x else min:=y;
End;
function max(x,y:integer):integer;
Begin
if x>y then max:=x else max:=y;
End;
Begin
{Inistializastiya sekstiyasi yo‘q}
End.
Biz zarur modulni hosil qildik, endi uni kompilyastiya qilishimiz lozim. Kompilyastiya
natijasida Stud.tpuismli fayl hosil qilinishi kerak. Kompilyastiya qilinmagan modulning ismi esa
shunga mos holda Stud.pasbo‘lishi kerak. Bu moduldan foydalanish dasturi quyidagicha bo‘lishi
mumkin:
Uses Stud;
Var
A,b,c,d:integer;
Begin
Write(‗A va B larni kiriting>‘);
Readln(a,b);
C:=max(a,b);
Writeln(‗Max= ‗,C);
C:=min(a,b);
Writeln(‗Min= ‗,C);
D:=max(a,b)+min(a,b);
Writeln(‗Max+Minq‘,D);
End.
Quyida esa ekran rangini tanlash moduli misol sifatida ko‘rsatilgan:
Unit Colors;
Interfase
Type
Colortype =Array[0..15] of Byte;
Const
Black:byte=0; blue:byte=1;
Green:byte=2; cyan:byte=3;
Red:byte=4; magenta:byte=5;
Brown:byte=6; lightgray:byte=7;
Darkgray:byte=8; lightblue:byte=9;
Lightgreen:byte=10; lightcyan:byte=11;
Lightred:byte=12; lightmagenta:byte=13;
Yellow:byte=14; white:byte=15;
Var
Currcolors:colortype absolute Black;
Procedure setMonoColors;
Procedure setColorColors;
Implementation
Const
ColorColors:Colortype=(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) ;
MonoColors:ColorType=(0,1,7,7,7,7,7,7,7,7,7,7,7,7,15,15);
Procedure SetMonoColors;
Begin
CurrColors:=MonoColors;
End;
Procedure SetColorColors;
Begin
CurrColors:=ColorColors;
End;
Var
Ch:Char;
Begin
Write(
Readln(ch);
If ch in [‗M‘,‘m‘,‘M‘,‘m‘] then SetMonoColors;
End.
Do'stlaringiz bilan baham: