Qism dasturlar haqida tuchuncha Formal va joriy o`zgaruvchilar Funksiyaning berilishi va funksiyaning nomi
Download 39.86 Kb.
|
2 Mavzu Qism dasturlar-funksiyalar
- Bu sahifa navigatsiya:
- Funksiyaning berilishi va funksiyaning nomi.
- Savol va topshiriqlar
Mavzu: Qism dasturlar-funksiyalar Reja: Qism dasturlar haqida tuchuncha Formal va joriy o`zgaruvchilar 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: Funksiya nomini ifodalayotgan o`zgaruvchiga albatta qiymat berilishi kerak. Funksiya nomini ifodalayotgan o`zgaruvchi tipini ko`rsatiladi. 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: Qism dastur vazifasi nimadan iborat? Formal o`zgaruvchilar haqida tuchuncha bering. Qism dastur-funksiyalarni e`lon qilish tartibini tuchuntiring. Funksiya parametric deb nimaga aytiladi? 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
ma'muriyatiga murojaat qiling