Qism dasturlar haqida tuchuncha Formal va joriy o`zgaruvchilar Funksiyaning berilishi va funksiyaning nomi


Download 39.86 Kb.
Sana23.08.2020
Hajmi39.86 Kb.
#127351
Bog'liq
2 Mavzu Qism dasturlar-funksiyalar


Mavzu: Qism dasturlar-funksiyalar

Reja:

  1. Qism dasturlar haqida tuchuncha

  2. Formal va joriy o`zgaruvchilar

  3. Funksiyaning berilishi va funksiyaning nomi


Tayanch iboralar: qism dasturlar, formal o`zgaruvchilar, joriy o`zgaruvchilar, funksiya, function.
Odatda ko`plab masalalarni yechish jarayonida oldindan masalani qanday qiymatlar (o`zgaruvchilar) uchun berilganini bilib bo`lmaydi. Lekin uni yechish uchun shartli ravishda turli o`zgaruvchilar kiritiladi va shu o`zgaruvchilar uchun qo`yilgan masalani to`la yechishning qonun- qoidalari (algoritmi) yaratiladi. Ana shu o`zgaruvchilar formal o`zgaruvchilar deyiladi. Keyin shu sinfga taalluqli bo`lgan konkret masala olinadi. Bu masalada odatda hamma o`zgaruvchilar aniq ko`rsatib qo`yiladi. Masalani ana shu o`zgaruvchilar uchun hal qilish talab qilinadi. Bunday o`zgaruvchilar joriy o`zgaruvchilar deb ataladi. Endi masalani yechish uchun yaratilgan hamma qonun-qoidalarni formal o`zgaruvchilarning o`rniga masala shartida berilgan joriy o`zgaruvchilarni qo`yib bajariladi.

Ma`lumki, to`g`ri to`rtburchak yuzi S:=A*B formula bilan topiladi. Bu erda A- to`rtburchak bo`yini, B-esa enini ifodalaydi.


Funksiyaning berilishi va funksiyaning nomi.

Funksiya bu dasturning bir qismi bo`lib, function so`zi bilan boshlanib quyidagi tuzilishga ega:



function ():

bu yerda tip funksiya qiymatining tipi.



Bu tip tartibli, haqiqiy, String va Point tipidan bo`lishi mumkin. Formal parametrlar quyidagi tuzilishga ega:

:

;

Misollar.



Turli ifodalarning qiymatlarini hisoblashga qandaydir funksiyalarning qiymatlaridan foydalanishga to`g`ri keladi. Masalan: y = cos x + 3 ifodaning qiymatini hisoblaganda, avval cosx o`rniga uning qiymatini topib qo`yiladi va 3 ga qo`shiladi. Agar cosx funksiyasining o`rnida murakkab funksiya yoki uzundan-uzun arifmetik ifoda tursachi?

Bunday hollarda dasturchining ishini bir muncha soddalashtirish uchun Turbo paskalda protsedura-funksiyalar yoki foydalanuvchi funksiyasini tuzish imkoniyati yaratilgan.

Funksiyalar odatda murakkab ifodalarni, uzun arifmetik ifodalarni yoki biror ifoda qiymatini argumentlarning turli qiymatlari uchun hisoblashga to`g`ri kelgan hollarda tashkil qilinishi mumkin. Funksiyalar dasturning qismi bo`lib, umumiy ko`rinishda quyidagicha aniqlanadi:

function funksiya nomi (formal o`zgaruvchilar):tip ;

const o`zgarmaslar ro`yxati ;

type yangi tiplar ;

var lokal o`zgaruvchilar ;

begin

protsedura-funksiya buyruqlari ketma-ketligi ;

end ;

Funksiyalar protseduralar kabi asosiy dastur tarkibida, o`zgaruvchilarning tiplari aniqlangandan so`ng, asosiy dasturning birinchi BEGIN xizmatchi so`zidan avval ko`rsatiladi. Protseduradan funksiya quyidagi tomonlari bilan farq qiladi:

  1. Funksiya nomini ifodalayotgan o`zgaruvchiga albatta qiymat berilishi kerak.

  2. Funksiya nomini ifodalayotgan o`zgaruvchi tipini ko`rsatiladi.

  3. Protsedura bir nechta o`zgaruvchi qiymatlarini hisoblash uchun mo`ljallanadi, funksiyada esa uning nomini ifodalayotgan o`zgaruvchining qiymatini topadi.

Protseduralardan foydalanish uchun alohida buyruq yozilsa, funksiyani biron bir ifodaning tarkibida chaqiriladi. Buning uchun uning nomi ko`rsatiladi va qavslar ichida joriy o`zgaruvchilar ro`yxati ko`rsatiladi. Shundan so`ng funksiya ana shu joriy o`zgaruvchilarni formal o`zgaruvchilar o`rniga qo`yib (1-formal o`zgaruvchi o`rniga 1-joriy o`zgaruvchi, 2-formal o`zgaruvchi o`rniga 2-joriy o`zgaruvchi va hokazo), funksiyadagi amallar ketma-ketligini bajariladi va funksiya nomi bilan atalgan o`zgaruvchining qiymati hisoblanadi. Bu qiymat funksiyani chaqirayotgan yozuv bilan almashtiriladi va ifoda qiymatini hisoblashning keyingi amallariga o`tiladi.

2) function RR1(x1,y1,x2,y2: bute): Real;

Dasturda funksiyaga murojaat qilish haqiqiy parametrlar yordamida amalga oshiriladi, masalan

GG (6,5,6,-1.0) yoki RR1(a,b,c,d) va h.

3) function Aro(s: String): String;

4) function NNC(L: Word; c: Char): String;




2-misol. f=m!-n! ifodani hisoblovchi dastur tuzing.



Dastur oynasiga quyidagi dastur matni kiritiladi:
Dastur kompilyasiya qilinsa quyidagi oyna hosil bo`ladi:
Dastur natijasi quyidagicha bo`ladi:
Agar funksiya nomi protsedura-funksiyada bir necha marta qiymat olca, uning eng oxirgi olgan qiymati asosiy dasturga qaytadi. Agar funksiya nomi biror marta ham qiymat olmagan bo`lsa, u holda protsedura-funksiya aniqlanmagan hisoblanadi. Agar exit yoki halt buyruqlari funksiya amallari tarkibida uchrab qolsa, bu funksiyaning exit yoki halt dan keyingi ko`rsatilgan buyruqlari bajarilmay, boshqaruv navbatdagi blokka (funksiyaga murojaat qilingan joyga) o`tadi. Program tuxtash_2 ; var i,k;integer;

function bekor(a: integer) integer; var b. integer;

begin

for b := l to a do begin bekor:= a + b; exit; end;

end;

begin

i := 20;

k := bekor(i);

writeln(`sikl tugagan qadam`, k);

end.
Savol va topshiriqlar:

  1. Qism dastur vazifasi nimadan iborat?

  2. Formal o`zgaruvchilar haqida tuchuncha bering.

  3. Qism dastur-funksiyalarni e`lon qilish tartibini tuchuntiring.

  4. Funksiya parametric deb nimaga aytiladi?

  5. Tuzilgan funksiyani dastur tanasida qanday murojjat qilinadi?

Download 39.86 Kb.

Do'stlaringiz bilan baham:




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