O’ZBEKISTON RESPUBLIKASI AXBOROT
TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI
RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKЕNT AXBOROT TЕXNOLOGIYALARI
UNIVЕRSITЕTI
Kompyuter Injinering Fakulteti
217-20 GURUH TALABASI
Umarov Diyorbekning
Algoritmlarni loyihalash fanidan
1-labaratoriya ishi
23-variant
(nxm) o’lchamdagi ikki o’lchovli A massiv berilgan, matritsaning har bir satridagi juft elementlari o’rta arifmetik qiymatidan tashkil topgan bir o’lchovli massiv hosil qiling
Matematik modul: B = A , A <0
Algoritm:
Kodi:
#include
using namespace std;
int main()
{
int arr[3][5]={{3,6,2,7,1},
{5,4,7,3,2},
{6,2,4,8,7},
};
int n=sizeof(arr);
int ans[3];
for(int i=0;i<3;i++){
int coun=0,sum=0;
for(int j=0;j<5;j++){
if(arr[i][j]%2==0){
sum+=arr[i][j];
coun++;
}
}
ans[i]=sum/coun;
cout << ans[i] << " ";
}
return 0;
}
2. Berilgan integral qiymatini to‘g‘ri to‘rtburchaklar, trapetsiyalar va Simpson usullarida hisoblansin. (n=100 qiymatda natija olinsin). Har bir usul bo‘yicha har 10 qadamda n - qiymatda olingan natijalar quyidagi jadvalga to’ldirilib tahlil qilinsin.
TO’G’RI TO’RTBURCHAKLAR USULI:
Matematik modul: I= , m =
Algoritm:
Uzluksiz funksiya bo’lgan f funktsiya,[a,b] oraliq va takrorlanishlar soni n
1.h=(b-a)/n
2.Integral=0
3.i=1
4.Integral=+h*f(a+2h(2i –1))
5.i++
6.i<=n bo’lsa 4-bosqichga o’ting
7.Algaritmni tugatish va Integralni qaytarish.
Kodi:
#include
#include
using namespace std;
double f(double x){
return (1-sqrt(x))/(sqrt(x)*(x+1));
}
int main(){
int i, n;
double S=0,a=1, b=3, h, I;
cout<<"n ni kiriting:"; cin>>n;
h=(b-a)/n;
for(i=1; i<=n; i++){
S+=f((a+i*h)+h/2);
}
I=h*S;
cout<
main();
}
..
TRAPETSIYA USULI:
Matematik modul:
Algoritm:
1.Boshlash
2. f(x) funksiyani aniqlang
3.a,b va n ni kiriting
4.h=(b-a)/n
5.s=f(a)+f(b)
6.i=1
7.i>n 11-bosqichga o’ting
8.k=a+I*h
9.s=s+2*f(k)
10.i=i+1 7-bosqichga o’ting
11.s=s*h/2
12.s ni chiqar
13.Tugat
Kod:
SIMPSON USULI:
Matematik model:
Algoritm:
1.Boshlash
2.f(x) funksiyani aniqlang
3.Integratsiya pastki,yuqori chegarasi va qadamlar sonini kiriting
4.h=(b-a)/n
5.s=f(a)+f(b)
6.i=1;
7.i>n 12-bosqichga o’t
8.k=a+I*h
9.i%2=0 s=s+2*f(k)
10.i++ 7-bosqicha o’t
11.s=s*h/3
12s ni chiqar
13 .Tugat
Kod:
#include
#include
#define f(x) 1/(1+pow(x,2))
using namespace std;
int main()
{
float lower=1, upper=2.71, integration=0.0, stepSize, k;
int i, subInterval;
cout<<"n: ";
cin>>subInterval;
stepSize = (upper - lower)/subInterval;
integration = f(lower) + f(upper);
for(i=1; i<= subInterval-1; i++)
{
k = lower + i*stepSize;
if(i%2==0)
{
integration = integration + 2 * (f(k));
}
else
{
integration = integration + 4 * (f(k));
}
}
integration = integration * stepSize/3;
cout<< endl <<"s: "<< integration;
main();
}
3. Berilgan algebraik va transsendent tenglamalarni yechishda oraliqni teng ikkiga
bo‘lish va vatarlar usullaridan foydalanib tenglamaning taqribiy ildizini 0.1, 0.01, 0.001,
0.0001, 0.00001, 0.000001 aniqliklarda hisoblansin. Olingan natijalar quyidagi jadvalga
to’ldirilib tahlil qilinsin
cosx +0.5= 0>
Do'stlaringiz bilan baham: |