Algoritmlarni murakkabligini static va dinamik o`lchovlari. Vaqt va hajm bo`yicha qiyinchiliklari


Download 210.99 Kb.
bet4/4
Sana16.06.2023
Hajmi210.99 Kb.
#1511437
1   2   3   4
Bog'liq
Gruh Talabasi Fazliddinov Iskandarning Algoritmlarni Loyhalash

Kiruvchi ma’lumotlar: Birinchi satrda L(1<=L <=300). Ikkinchi satrda massiv elementlari (-100<=a[i]<=100). Uchinchi satrda N va M(1<=N,M<=50)



13
51 55 0 20 59 -17 22 38 -53 53 88 -91 61
4 5

51 55 0 20 59
-17 22 38 -53 53
88 -91 61 0 0
0 0 0 0 0

Algoritmi:


1.Boshlash
2.O`zgaruvchilarni kiritb olamiz N,M,L,sanoq=1,a[N][M]
3.L=sanoq bo`lgunga qanadr a ga qiymat qushamiz
4.Aks holda Shunchaki qiymatlarni kiritamiz
5.Matritsaning elemntlarni chop etamiz
6.Tamom

Dastur kodi(C++):


#include


using namespace std;


int main()


{
int N,M,L,sanoq=1;
cout<<"Elementlar soni: ";
cin>>L;
cout<<"N: ";
cin>>N;
cout<<"M: ";
cin>>M;
int a[N][M];
if (Lfor(int i=0 ; ifor (int j=0;jif(L>=sanoq){
cin>>a[i][j];
sanoq+=1;
}else{
a[i][j]=0;
}
}
}
}else{
for(int i=0 ; ifor (int j=0;jcin>>a[i][j];
}
}
}
for(int i=0 ; ifor (int j=0;jcout<}
cout<<" "<}
return 0;
}

Dastur Natijasi:



2.2 Labaratoriya:


Algoritmi:


1.Boshlash
2.Funksiya yaratib olamiz : (1+x*x*x)*sin(x)
3.a va b oraliqni kiritib olamiz
4.While takrorlash operatori yordamizda tekshiramiz : xa5.e ni kiritib olamiz ya`niy aniqlgini
6.while Takrorlash operatori yordamida: abs(b-a)>=e tekshiramiz:
S+=funk(xa);
xa+=0.1;
7.S=S*fabs(b-a)/n
8.S ni ekranga chop etamiz
9.Tamom

Dastur kodi(C++):


#include
#include
using namespace std;
double funk(double x)
{
return (1+x*x*x)*sin(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=S*fabs(b-a)/n;
cout << S;
return 0;
}

Natija:

3.1 Laboratoriya topshiriqlari

Algoritmi:
1.Boshlash
2.Funksiya yaratib olamiz : math.tan((x*x+3)**1.0/3)+1/(x*x)
3.a va b oraliqni kiritib olamiz
4.While takrorlash operatori yordamizda tekshiramiz : funksiya(a)*funksiya(b)>0
5.e ni kiritib olamiz ya`niy aniqlgini
6.while Takrorlash operatori yordamida: abs(b-a)>=e tekshiramiz
7.Agar funksiya(a)*funksiya(c)<0 bo`lsa b=c
8.Aks holda :a=c
9.c=(a+b)/2
10.c ni ekranga chop etamiz
11.Tamom

Dastur kodi(Paython):


import math


def funksiya(x):
return math.tan((x*x+3)**1.0/3)+1/(x*x)

a=float(input())


b=float(input())

while (funksiya(a)*funksiya(b)>0):


a=float(input())
b=float(input())
e=float(input())

while(abs(b-a)>=e):


c=(a+b)/2
if(funksiya(a)*funksiya(c)<0):
b=c
else:
a=c
c=(a+b)/2
print(c)


3.2 Laboratoriya topshiriqlari
4. 2x­­­­­­­3-x-5=0

Algoritmi:


1.Boshlash


2.Funksiya yaratib olamiz : 2*x*x*x-x-5
3.a va b oraliqni kiritib olamiz
4.Agar f(a)<0 : x0=a
5.Aks holda x0=b ga
6.do while Takrorlash operatori yordamida: fabs(f(c)-f(x0))>=e tekshiramiz:
x=x0-f(x0)*(b-a)/(f(b)-f(a));
c=x0;
x0=x;
7.f(x) ni ekranga chop etamiz
11.Tamom
Dastur kodi(C++):
#include
#include
#include
using namespace std;
float f(float x){
int k;
return 2*x*x*x-x-5;
}
int main(){
float a,b,x,e,c,x0;
cout<<"oraliqni kiriting"< cin>>a>>b;
cout<<"aniqlikni kiriting"< cin>>e;
if(f(a)<0){
x0=a;
}
else
x0=b;
do{
x=x0-f(x0)*(b-a)/(f(b)-f(a));
c=x0;
x0=x;
cout<<"x= "< }
while(fabs(f(c)-f(x0))>=e);
cout< cout<<"x= "< return 0;
}

Download 210.99 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




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