Aniq integralni taqribiy hisoblash usullari
Odatda aniq integralarni taqribiy hisoblash uchun integralash sohasidagi [a,b] kesma n ta teng bo’lakka bulinadi. Har bir bo’lakning uzunligi h=(b-a)/n formula bilan hisoblanadi.
n bo’laqlar soni qancha ko’p bo’lsa integralning kiymati shuncha aniq bo’ladi. Integralarni taqribiy hisoblashda ko’pincha to’g’ri burchaqlar, trapetsiyalar va Simpson formulalaridan foydalaniladi. Integrallarning kiymatlarini taqribiy hisoblash uchun biror bir usul tallanadi, sung algoritm tuziladi va bu algoritmlarga mos ravishda biror bir dasturlashtirish tilida dasturlar tuzilib, dasturlar kompyuterga kiritilib natijalar olinadi.
Integrallarning taqribiy hisoblash formulalarini keltirib chiqarish ishlarini ko’rib o’tirmaymiz, bu bizga oliy matematika kursidan ma‘lum. Formulalarning keltirib chiqarish ma‘lumotlarini o’quvchilarga berilgan adabiyotlardan adabiyotdan olishlarini tavsiya etamiz. Integrallarning kiymatlarini taqribiy hisoblash uchun biror bir usul tallanadi, sung algoritm tuziladi va bu algoritmlarga mos ravishda biror bir dasturlashtirish tilida dasturlar tuzilib, dasturlar kompyuterga kiritiladi.
Algoritmning blok-sxema tarzidagi tavsiflanishi EHMlar uchun dastur tuzish amaliyotida juda keng kullaniladi. Berilgan masalaning yechish algoritmi blok-sxema shaqlida tavsiflash algoritmini dasturlashtirish uchun ancha qulaylik yaratiladi.
Bloklari ketma-ket, blok-sxemada joylashgan tartibda bajariladigan algoritm Chiziqli strukturali algoritm deyiladi.
Chiziqli strukturadagi dasturlarda xech qanday shart bulmaydi, shuning uchun ular algoritm bilan aniqlangan ketma-ketlikda bajariladilar. Chiziqli strukturadagi dasturlarni tashkil etish uchun uzlashtirish operatorlari, ma‘lumotlarni kiritish va ma‘lumotlarni kayta ishlash natijalarini chiqarish operatorlari kiradi.
Bizga ma‘lumki dastur tuzishda operatorlar o’zaro “;” bilan ajratiladi. begin va else operatorlaridan sung bu belgi quyilmaydi. Dasturning izoxli qismida uzgaruvchilar tavsivlanadi. Dasturning bajariladigan qismida esa, yuqorida aytganimizdek fakat uzlashtirish, uzgaruvchilar kiymatlarini kiritish va uzgaruvchilar kiymatlarini kompyuter ekraniga chiqarish operatorlari ishlatiladi. Chiziqli strukturali algoritmlarni dasturlashga misol ko’rib utamiz.
Masalan у=ax2+bх+с funktsiyani kiymatini hisoblash uchun blok-sxema va dastur tuzamiz:
a=1.21; b=3.12; c=-0.2; x=0.45.
Dasturi quyidagicha bo’ladi.
Program t1(input,output);
Var a,b,c: real;
x, y: real;
Begin
Write(‘ a=’); read(a);
Write(‘ b=’); read(b);
Write(‘ c=’); read(c);
Write(‘ x=’); read(x);
y:=a*SQR(x)+b*x+c;
Writeln(‘ Natija y=’,y);
end.
Natija y=1.449025
Kurinib turibdiki blok-sxemada bloklar ketma-ket (Chiziqli) bajariliyapdi.
Tarmoqlanuvchi tuzilmali dasturlarni tashkil etishda albatta shart bo’ladi va bu shart bajarilishiga karab algoritmning blok sxemasida tarmoqlanishlar bo’ladi va bir-nechta operatorlar ketma-ketligi tanlanadi.
Shartsiz o’tish operatori
Tarmoqlarni tashkil etish uchun dasturda o’tish, shartli va tanlash operatorlari bo’lishi kerak.
SHartsiz o’tish operatori. SHartsiz o’tish operatorini umumiy ko’rinishi goto n bu yerda goto operator n- metka (satrga quyilgan nomer, belgi) N metka label yordamchi so’zi bilan quyilishi kerak.
Masalan:
Program t(output);
Label 7; var a,b:real;
Begin
……..
goto 7
………
7: a:=b*3
………
end.
Bu yerda boshqarish goto operatori orqali 7-metkaga (nomerga) utkazilayapti.
Metkalar turtta rakamdan oshmagan ishorasiz butun sonlar bo’lib, ular metkalarni tavsiflash bo’limida tavsiflanadilar.
Shartli o’tish operatori
SHartli o’tish operatori quyidagi umumiy ko’rinishdagi yozuvga ega:
А) if b1 then a1; kiska yozilishi,
В) if b1 then a1 else a2; to’liq yozilishi
Bu yerda b1- mantiqiy ifoda; a1 ,a2 -operatorlar. Operatorning a) ko’rinishdagi yozuvi agar mantiqiy ifoda TRUE kiymatga ega bo’lsa, a1 operatorni hisoblashni tashkil etadi, aks holda a1 bajarilmaydigan shartli operatordan keyin turadigan operator bajariladi. b) ko’rinishda agar mantiqiy ifoda TRUE kiymatni qabul kilsa, unda a1 operator bajariladi, aks holda a2 operator bajariladi. Shuni takidlash kerakki ELSE operatoridan oldin “;” nuqta-vergul quyilmaydi.
Masalan: if y>0 then d:=sqrt(y) else d:=y
Ya‘ni u>0 bo’lsa, d= bajariladi aks holda d=y bo’ladi.
Case operatori dasturda tarmoqlanishni tashkil etib, bir necha operatorlar orasidan birini tanlash imkonini beradi. Uning umumiy ko’rinishi quyidagicha;
case of
end
Masalan: case i of
2: x:=0;
3: x:=a*x;
100: x:=sin(x);
end;
a:=b;
Agar i 3ga teng bo’lsa x:=a*x bajariladi va boshqarish A:=V operatorga utadi.
Tarmoqlanuvchi strukturali algorimlarni dasturlash
Tarmoqlanuvchi strukturali algorimlarni dasturlashtirishda shatrsiz o’tish va shartli o’tish operatorlaridan foydalaniladi. Tarmoqlanuvchi strukturali algoritmlarda biror bir shartga ko’ra algoritmning keyingi kadamlari quyilgan shartga ko’ra tarmoqlarga bulinib bajariladi. Yuqorida keltirilgan fikrlarni misolda ko’rib utamiz.
Quyidagi funktsiyani hisoblash algoritmining blok-sxemasi va paskal tilidagi dasturini tuzamiz
bu yerda а=3,8; b=3,4.
Funktsiyani hisoblash algoritmining blok-sxemasi quyidagicha bo’ladi.
Program t1(input, output);
Label 2
Var a, b, x: real;
y: real;
begin
if x<0 then y:=a*a*x*x+b*x goto 2;
if x>1 then y:=a*sin(x)/cos(x)+b*cos(x)
else y:=a*x+b;
2: writeln(‘натижа у=’,y);
end.
Bu dasturda 3-blok bajarilganda 4-blok hisoblanadi, bajarilmaganda 5-blok sharti tekshiriladi va bu blok bajarilganda 6-blok hisoblanadi, bajarilmaganda esa boshqarish avtomatik ravishda 7-blokka utib shu blok xioblanadi. Har uchala holda ham hisoblangan u funktsiyaning kiymati 8-blok orqali birlashadi va 9-blokda natijalar ekranga chikariladi
Integralning kiymatini taqribiy xisolash formulalarini keltiramiz:
Yoki
Bu formula integeralarni taqribiy hisoblashning to’g’ri turtburchaqlar formulasi.
bu formula itegrallarni taqribiy hisoblashning trapetsiya formulasi.
ya‘ni
bu yerda
Bu formula esa aniq integralni taqribiy hisoblashning Simpson formulasi.
Aniq integralni Simpson usulida hisoblaganda taqribiy hisoblash xatoligi boshqa usullarga nisbatan kamrok, yani aniqlik kattarok bo’ladi.
0>
Do'stlaringiz bilan baham: |