O`tgan mavzuni takrorlash va uyga vazifani so`rash. O`tilgan mavzular bo`yicha savollar berib, o`quvchilarni baholayman.
1. Ekranda biron shakl chizish uchun uning rangi qaysi protsedurasi yordamida tanlanadi?
2. Aylana qaysi protsedura yordamida chiziladi?
Yangi mavzuni bayoni
Mavzuni boshlashga hozirlik:
O‘qituvchi tomonidan kompyuterlar ishga tayyorlanadi. Paskal dasturlash tili dasturi, mavzuga oid elektron qo’llanmalar va plakatlar tayyorlab qo‘yiladi.
Mavzuni yoritish:
Dars nazariya va amaliyotning uyg’unligi shaklida olib boriladi.
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 va funksiyalar 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 etuvchu protsedura tuzish lozim.
Protsedura va funksiyalarni ularga murojaat etishda beriladigan ma’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.
Protsedura va funksiyalar sarlavha bilan boshlanadi. Protsedura sarlavhasi quyidagi umumiy ko‘rishga ega:
Procedure
(parametrlar);
Funksiya sarlavhasi quyidagi umumiy ko‘rishga ega:
Function (parametrlar) : ;
Parametrli protsedura va funksiyalarda parametrlarning turlari ham tavsiflanadi. Masalan,
Function daraja (a, n : Integer):Integer; yoki Procedure shifr(satr:String);
Protseduraning umumiy tuzilishi:
|
|
Funksiyaning umumiy tuzilishi:
|
Procedure
(parametrlar);
Label
;
Const
;
Var
;
“Ichki” protsedura va funksiyalar;
begin
{dastur}
end;
|
|
Function (parametrlar):turi;
Label
;
Const
;
Var
;
“Ichki” protsedura va funksiyalar;
begin
{dastur}
end;
|
Ko‘rib turganingizdek, protsedura va funksiyalar o‘xshash tuzilishga ega. Ularning tuzilishi dasturning tuzilishidan deyarli farq qilmaydi. Shuni aytish lozimki, asosiy dasturda tavsiflangan o‘zgarmas va o‘zgaruvchilar umumiy (global) o‘zgarmas va o‘zgaruvchilar deyiladi. Ulardan dasturning istalgan qismida, jumladan, protsedura va funksiyalarning ichida ham foydalansa bo‘ladi. Biror protsedura yoki funksiyaning ichida tavsiflangan o‘zgarmas va o‘zgaruvchilar mahalliy (lokal) o‘zgarmas va o‘zgaruvchilar deyiladi. Ulardan faqat o‘zi tavsiflangan protsedura yoki funksiyaning ichida foydalanish mumkin. Paskalda umumiy va mahalliy o‘zgaruvchi bir xil nomga ega bo‘lishi ham mumkin. Bu holda mahalliy o‘zgaruvchi tavsiflangan protsedura yoki funksiya ichida mahalliy o‘zgaruvchining qiymati, boshqa protsedura va funksiyalarda, hamda asosiy dasturda umumiy o‘zgaruvchining qiymati hisobga olinadi.
1–misol. [20, 83], [178, 391], [211, 746] oraliqlardagi barcha butun sonlar yig‘indisini topish dasturini tuzing.
Yechish: Berilgan uchta oraliqdagi butun sonlarning yig‘indisini hisoblash uchun parametrli takrorlash operatoridan uch marta foydalanishga to‘g‘ri keladi. Masalani berilgan oraliqning boshlang‘ich va oxirgi qiymatlarini parametr sifatida olib, shu oraliqdagi butun sonlarning yig‘indisini hisoblovchi funksiyadan foydalanib ham yechish mumkin.
Program Summa;
Var i, s, s1, s2, s3 : Integer;
Function Sum(n1, n2:Integer):Integer;
Begin
s:=0; For i:=n1 To n2 Do s:=s+i; Sum:=s;
End;
BEGIN
S1:= Sum(20,83); s2 := Sum(178,391); s3:=Sum(211,746);
S:=s1+ s2 + s3; WriteLn(‘S= ‘, s)
END.
Darslikda keltirilgan misollar yordamida protsedura va funksiyalarni qanday hollarda qo’llash tushuntiriladi.
Do'stlaringiz bilan baham: |