5-bob. Funksiyalar


Download 387.54 Kb.
Pdf ko'rish
bet1/15
Sana15.06.2023
Hajmi387.54 Kb.
#1482495
  1   2   3   4   5   6   7   8   9   ...   15
Bog'liq
1-ma\'ruza-1



5-bob. Funksiyalar
Programma 
ta’minotini 
yaratish 
amalda 
murakkab 
jarayon 
hisoblanadi. Programma tuzuvchi programma kompleksini bir butun- 
likdagi va uning har bir bo'lagining ichki mazmunini va ulaming sezilmas 
farqlarini hisobga olishi kerak bo"ladi.
Programmalashga tizimli yondoshuv shundan iboratki, program-ma 
tuzuvchi oldiga qo‘yilgan masala oldindan ikkita, uchta va undan ortiq 
nisbatan kichik masala ostilarga boMinadi. 0 ‘z navbatida bu masala ostilari 
ham yana kichik masala ostilariga bo4inishi mumkin. Bu jarayon toki 
mayda masalalami oddiy standart amallar yordamida yechish mumkin 
bo‘lguncha davom etadi. Shu yo‘l bilan masalani dekompozitsiyalash 
amalga oshiriladi.
Ikkinchi tomondan, programmalashda shunday holatlar kuzatila-diki, 
unda programmaning turli joylarida mazmunan bir xil algoritmlami 
bajarishga to‘g‘ri keladi. Algoritmning bu bo4aklari asosiy echiIayotgan 
masaladan ajratib olingan qandaydir masala ostini yechishga mo‘ljallangan 
bo‘lib, etarlicha mustaqil qiymatga (natijaga) egadir. Misol uchun quyidagi 
masalani ko‘raylik:
Berilgan ao,ab...,a3o, bo,bb...,b3o, c0,cb...,c30 va x,y,z haqiqiy sonlar 
uchun
(a0x30 + a,x29 +... + a3J - (b0y30 + b,y29 + - + b 30) 
c0(x + z)30 + c, (x + z)29 +... + c30
ifodaning qiymati hisoblansin.
Bu misolni yechishda kasming surat va maxrajidagi ifodalar bir xil 
algoritm bilan hisoblanadi va programmada har bir ifodani (masala osti) 
hisoblash uchun bu algoritmni 3 marta yozishga to‘g‘ri keladi. Masaladagi 
30-darajali ko‘phadni hisoblash algoritmini, masalan, Gomer algoritmini 
alohida, bitta nusxada yozib, unga turli parametrlar - bir safar a vektor va x 
qiymatini, ikkinchi safar b vektor va y qiymatini, hamda s vektor va (x+z) 
qiymatlari bilan murojaat qilish orqaIi asosiy masalani yechish mumkin 
bo‘ladi. Funksiyalar qo^llanishining yana bir sababini quyidagi masalada 
ko‘rishimiz mumkin - berilgan chiziqli tenglamalar sistemasini Gauss
Kramer, Zeydel usullarining birortasi bilan yechish talab qilinsin. U holda 
asosiy programmani quyidagi bo4aklarga bo4ish maqsadga muvofiq 
bo‘lar edi: tenglama koeffitsentlarini kiritish bo4agi, yechish usulini tan- 
lash bo4agi, Gauss, Kramer, ZeydeI usullarini amalga oshirish uchun alo­
hida bo4aklar, natijani chop qilish bo‘lagi. Har bir bo‘lak uchun o‘z 
funksiyalar majmuasi yaratib, zarur bo‘lganda ularga bosh funksiya ta-
51


nasidan murojaatni amalga oshirish orqali bosh masala yechish samarali 
hisoblanadi.
Bunday hollarda programmani ixcham va samarali qilish uchun C++ 
tilida programma bo4agini alohida ajratib olib, uni funksiya ko‘rinishida 
aniqlash imkoni mavjud.
Funksiya bu - C++ tilida masala yechishdagi kalit elementlaridan 
biridir.

Download 387.54 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4   5   6   7   8   9   ...   15




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