O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA
KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
NURAFSHON FILIALI
"Axborot texnologiyalari" kafedrasi
№ __2___ мustaqil ta’lim ish hisoboti
Fan___________“Algoritmlar”___________________
Guruh:
210-21
Talaba:
Abdumuminova Gulchehra
Rahbar:
Nosirova Namunabonu
Toshkent-2023_ y
3-variant.
Berilgan integral qiymatini to‘g‘ri to‘rtburchaklar, trapetsiyalar, Simpson usullarida ε>0 aniqlikda
hisoblang. Aniqlikka erishganlik sharti sifatida |S2n-Sn|<ε tengsizlikdan foydalaning (boshlang‘ich n=10
deb olish mumkin). Natijaga erishish uchun zarur bo‘lgan qadamlar soni va integral taqribiy qiymati
chiqariladi. С++ dasturida natijani oling.
(x
2
+3x+1)*tg(x-0,5) [0,5;1,5]
1)
to`g`ri to`rtburchak usuli:
#include
#include
using namespace std;
int main(){
int n=10,k=0;
float a=0.5,b=1.5,e,x,h,s0=1000000,s1=0;
cout<<"Integral 'To`g`ri to`rtburchak' usulida hisoblanadi "<cout<<"Qanday aniqlikda hisoblansin : ";
cin>>e;
while(1){
h=(b-a)/n;
for(int i=0;i<=n;i++){
x=a+i*h;
s1+=(x*x+3*x+1) * tan(x-0.5);
}
s1*=h;
if(fabs(s1-s0){
cout<<" Natija : "<cout<<" Qadamlar soni : "<break;
}
else {
s0=s1;
s1=0;
k++;
n*=2;
}
} }
2)
trapetsiya usuli:
#include
#include
using namespace std;
int main(){
int n=10,k=0;
float a=0.5,b=1.5,e,x,h,s0=1000000,s1=0;
cout<<"Integral 'Trapetsiya' usulida hisoblanadi "<cout<<"Qanday aniqlikda hisoblansin : ";
cin>>e;
while(1){
h=(b-a)/n;
for(int i=0 ; i<=n ; i++){
x=a+i*h;
if(i==0 or i==n) s1+=(x*x+3*x+1) * tan(x-0.5);
else s1+=2*(x*x+3*x+1) * tan(x-0.5);
}
s1*=h/2;
if(fabs(s1-s0)cout<<"Natija : "<cout<<" \n Qadamlar soni : "<break;
}
else {
s0=s1;
s1=0;
n*=2;
k++;
}
}
}
3)
Simpson usuli:
#include
#include
using namespace std;
int main(){
int n=10,k=0;
float a=0.5,b=1.5,e,x,h,s0=1000000,s1=0;
cout<<"Integral 'Simpson' usulida hisoblanadi "<cout<<"Qanday aniqlikda hisoblansin : ";
cin>>e;
while(1){
h=(b-a)/n;
for(int i=0 ; i<=n ; i++){
x=a+i*h;
if(i==0 or i==n) s1+=(x*x+3*x+1) * tan(x-0.5);
else if (i%2==0) s1+=4*(x*x+3*x+1) * tan(x-0.5);
else s1+=2*(x*x+3*x+1) * tan(x-0.5);
}
s1*=h/3;
if(fabs(s1-s0){
cout<<"Natija : "<cout<<" Qadamlar soni : "<break;
}
else {
s0=s1;
s1=0;
n*=2;
k++;
}
}
}
Dostları ilə paylaş: |