Algoritmlarni loyihalash” fanidan 301-guruh talabasi Nasrullayev Muxammadsodiq
Download 191.09 Kb.
|
NASRULLAYEV M ALGORITM
- Bu sahifa navigatsiya:
- 3.Algoritmni ishlab chiqish.
- 4.Algoritmni amalga oshirish.(dastur)
- 1-MASALA MASALANI QO’YILISHI Quyidagi funksiyani to’rtburchaklar, Trapetsiya va Simpson formulalari yordamida taqribiy hisoblash dasturini tuzing.
- Trapetsiyalar usuli
Uch asimptotik belgilar asosan algoritmlarning vaqt murakkabligini ifodalash uchun ishlatiladi :
Θ-notation ( teta ); O-notation ( O ); Ω notasi ( Omega ). Hisoblash mashinalar tezligi oshishiga qaramasdan, ular yordamida yechilayotgan masalalar kattaligini oshishini algoritm qiyinligini tahlil orqali aniqlaydi. 3.Algoritmni ishlab chiqish. 1.Boshlash 2.Tomonlarni kiritamiz. 3.Tomonlar saralab olinadi. 4.Birinchi qutini ikkinchi qutidan katta yoki katta emaskigi tekshiriladi. 5.Taqqoslashlar birinchi qutni o’lchami ikkinchi qutidan kattaligi malum bo’lsa “Birinchi quti ikkinchisidan katta ekanligi chiqadi. 6.Agarda o’lchamlar tengligi malum bo’lsa “Qutilar tengligi” aytiladi 7.Agarda birinchi quti o’lchamlari ikkinchisidan kichik bo’lsa “birinchi quti ikkinchisida kichik” ekanligi chiqadi. 8. Aks holda qutilar taqqoslanmaydi. 9.Tamom. 4.Algoritmni amalga oshirish.(dastur) #include #include using namespace std; int main(){ int a[5],b[5],k=3,i=0; cin>>a[1]>>a[2]>>a[3]; cin>>b[1]>>b[2]>>b[3]; sort(a+1,a+3+1); sort(b+1,b+3+1); //cout<for(int j=0;j<3;j++){ if(a[1]>=b[1]&&a[2]>=b[2]&&a[3]>=b[3]){ if(a[1]+a[2]+a[3]>b[1]+b[2]+b[3]){ cout<<"Birinchi quti ikkinchisidan kattaroq"; break; } }
i++; } if(i==3){ cout<<"Qutilar teng"; break; } if(a[1]<=b[1]&&a[2]<=b[2]&&a[3]<=b[3]){ if(a[1]+a[2]+a[3]cout<<"Birinchi quti ikkinchisidan kichikroq"; break; }} else{ cout<<"Qutilar taqqoslanmaydi"; break; return 0; }}} 1-MASALA MASALANI QO’YILISHI Quyidagi funksiyani to’rtburchaklar, Trapetsiya va Simpson formulalari yordamida taqribiy hisoblash dasturini tuzing. integralni chap to’rtburchaklar formulasidan foydalanib taqribiy hisoblansin. Buning uchun integrallash kesmasini ta bo’lakka bo’lamiz va hisoblashlar natijalarini keltiramiz: Bizning misolda bo’lgani uchun, to’g’ri to’rtburchaklar formulasiga asosan, quyidagi natijani hosil qilamiz. X=0.1; =0.9901 X=0.2; =0.9615 X=0.3; =0.9174 X=0.4; =0.8621 X=1.0 =0.5000 7.5998 . Dastur kodi #include #include using namespace std; double funk(double x) { return (1.0/(1+x*x)); } int main() { double a,b,S=0, xa; int n=10; cout<<"integral chegarasini kiriting"< cin>>a>>b; xa=a; while (xa { S+=funk(xa); xa+=0.1; } S=S*fabs(b-a)/n; cout << S; return 0; } Dastur kodi #include #include using namespace std; double funk(double x) { return (1.0/(1+x*x)); } int main() { double a,b,S=0, xa; int n=10; cout<<"integral chegarasini kiriting"< cin>>a>>b; xa=a; while (xa { S+=funk(xa); xa+=0.1; } S=S*fabs(b-a)/n; cout << S; return 0; } Trapetsiyalar usuli Aniq integralni taqribiy hisoblashni trapetsiyalar usulini aniqlash uchun egri chiziq funksiyasini bitta qadamdagi qismini ko’rib chiqamiz. f(x) egri chiziqni to’g’ri chiziq bilan almashtiramiz. Egri chiziqli trapetsiyani to’g’ri burchakli trapetsiyaga aylantiramiz. Ushbu trapetsiyaning yuzasi , va ekanligini hisobga olib, barcha nuqtalarda yuzalarni hisoblasak quyidagi formulani keltirib chiqaramiz. Demak, aniq integralni taqribiy hisoblashning trapetsiya formulasi quyidagiga teng: Bu formula geometrik nuqtai-nazardan integral ostidagi funksiyaning grafigini tugun nuqtalarni tutashtiruvchi siniq chiziq bilan almashtirishdan iboratdir. 2. integralni trapetsiyalar formulasi yordamida taqribiy hisoblang. Bunda ham deb oling. Yechish: va bo’lgani uchun Dastur kodi #include #include using namespace std; double funk(double x) { return (1.0/(1+x*x)); } int main() { double a,b,S=0, xa; int n=10; cout<<"integral chegarasini kiriting"< cin>>a>>b; xa=a+0.1; while (xa { S+=funk(xa); xa+=0.1; } S=(funk(a)+funk(b))/2+S; S=S*fabs(b-a)/n; cout << S; return 0; } Download 191.09 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling