Str(I;Var S:String)- raqamni simvolga o’tkazish (I-ifoda yoki o’zgaruvchi);
Val(S:String; Var P;ko:Integer)- simvolni raqamga o’tkazish (P-o’zgaruvchi);
Length (S:String)- qator uzunligini aniqlash.
Pos(st1,st) - qatordagi qator qismi holatini aniqlash.
Misol: st:=’Toshkent’; st1:=’kent’; p:=pos(st1,st);
Javob: p=4. Agar izlanayotgan qator qism qatorda yo’q bo’lsa qiymat nulga teng bo’ladi.
Copy(st,m,n) - qatordan fragment kesib oladi.
Misol: st:=’Toshkent’; p:=Copy(st,4,4);
Javob: p=’kent’.
Delete(st,m,n) - qatordan fragment kesib olib tashlaydi.
Misol: st:=’Toshkent’; p:=Delete(st,4,4);
Javob: p=’Tosh’.
Modullar
Turbo Paskal sistemasida juda ko’p maxsus tayyor protsedura va funksiyalar mavjudki ular har qaysi o’z vazifasiga ega bo’lib unga biblioteka modullari deyiladi. Har bir biblioteka funksiya va protseduralardan tashkil topgan bo’lib ma’lum bir turdagi masalani yechishga muljallangan.
Modul deb protsedura va funksiyaning alohida kompilyatsiya qilinib maxsus .tpu kengaytmali fayl shaklidagi ifodalangan dastursiga aytiladi. Moduldan ixtiyoriy dastur ichida foydalanish mumkin. Moduldan foydalanish ya’ni uni aktivlashtirish uchun dasturning bosh qismida quyidagilarni keltirish zarur.
Uses ;
Misol:
Program SS;
Uses Crt,Graph;
Turbo-Paskal sistemasida har bir foydalanuvchi o’z modulini yaratishi uchun yaratiladigan modul strukturasini quyidagicha tashkil kilish zarur.
Uses ;
Interface
. . . . .
{Interfeys qism- ochiq (yozuvlar) qismi}
. . . . .
Implementation
. . . . .
{YOpiq (yozuvlar) qismi}
. . . . .
Begin
. . . . .
{Modulning asosiy qismi}
. . . . .
End.
Bu yerda
Unit - modulning sarlavhasi;
Interface - modulning interfeysi, ya’ni dastur va boshqa modullar uchun ochiq (ko’rinarli) qismining boshlanishini bildiradi. Bu qismda o’zgarmaslar, kattaliklar tiplari, protsedura va funksiyalar aniklanib kursatilgan bo’ladi, lekin ularning butun ko’rinishi keyingi yopiq qismda beriladi.
Implementation - modulning dastur va modullar uchun yopiq, ya’ni ko’rinmaydigan qismining boshlani-shini bildiradi. Bu yerda interfeys qismda aniqlangan protsedura va funksiyalar yana bir marta ko’rsatilishi shart (ularning sarlavhalari bir xil bo’lishi kerak).
Initsializatsiya qismi Begin yozuvidan keyin boshlanadi, agar bu qism mavjud bo’lmasa Begin ham bo’lmaydi. Bu qismda boshqaruvni asosiy programaga o’tkizishgacha qadar bajarilishi kerak bulgan operatorlar ruyxati joylashadi.
Misol tariqasida ikki sonning eng katta va eng kichigini topish modulini yaratish dastursini qaraymiz. Quyidagi dastur Min(x,y) va Max(x,y) funksyalarini o’z ichiga olgan.
Unit Study;
Interface {Interfeys kism}
Function Min(x,y:Integer):Integer;
Function Max(x,y:Integer):Integer;
Implementation {YOpik kism}
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;
{Initsializatsiya qismi mavjud emas}
End.
Do'stlaringiz bilan baham: |