76
C++ tilida chiziqli dasturlarga oid misollar
Misol: Quyidagi funksiyani hisoblang ((a+x)>0).
#include
#include
int main ()
{ int a,x; double y;
cin>>a>>x;
y=(a*pow(x,3)-sin(x))/(1+log(x))-sqrt(a+x);
cout< return 0; }
Yuqoridagi masalaga e‘tibor bersak a va x o‗zgaruvchilar qiymati
berilganda y funksiyani natijasi hisoblandi, algoritm dastur tarkibidagi operatorlar
ham bir marta bajarilyapti.
Misol:
Asosining radiusi R va yasovchisi l bo‗lgan konus hajmi va to‗la
sirtini toping.
Bu masala yechimini aniqlash uchun konus to‗la sirti va hajm formulalarini
aniqlash kerak. Berilgan R va L yordamida to‗la sirtni aniqlash mumkin, lekin
hajmni topish uchun konus balandligi ham kerak.
#include
#include
int main ()
{ int r,l;
cin>>r>>l;
h=sqrt(l*l- r*r); // konus balandligi
s=M_PI*r*r+ M_PI *r*l; // konus to‗la
sirti
hajm=(1/3)* M_PI *r*r*h; // konus hajmi
cout<<‖s=‖< return 0;
}
Misol: x = 5; y = 4,5; z = 0,5 bo‗lsa,
1
)
lg(
ln
2
2
2
2
y
x
z
y
z
y
x
ifodaning
qiymatini hisoblash dasturini tuzing:
#include
77
#include
using namespace std;
int main( )
{ float x=5, y=4.5, z=0.5, p, q, m;
p=sqrt(pow(x,2)+pow(y,2));
q=sqrt(pow(x,2)-pow(y,2));
m=p*log(z)+log10(y+z)/q;
cout << "m=" << m << endl;
return 0;
}
Ushbu dastur chiziqli dastur hisoblanadi. Chunki unung buyruqlari berilgan
tartibda birin-ketin bajariladi va dastur natijasi m = - 4.34196 kabi bo‗ladi.
Eslatma: Butun sonlar ustida bo‗lish amalini bajarayotganda amal natijasi
qiymat sifatida berilayotgan o‗zgaruvchining turi haqiqiy bo‗lsa ham o‗zgaruvchi
to‗liqsiz bo‗linmani oladi. Bo‗linmaning qiymatini haqiqiy son shaklida to‗liq
olish uchun bo‗linuvchi yoki bo‗luvchini haqiqiy son sifatida yozish kerak.
Masalan, 8/3=2; 8./3=2.66667 kabi bajariladi, garchi float a=8/3 yoki
double a=8/3 ko‗rinishda aniqlangan bo‗lsa ham, natija 2 bo‗ladi.
Lekin
funksiyalarning qiymatlarini bo‗lishda to‗g‗ri bajariladi. Chunki funksiyalarning
o‗zlarini emas, ularning qiymatlarini bo‗ladi. Bu fikrlarga quyidagi dasturni
tahlil qilish yo‗li bilan ishonch hosil qilish mumkin.
#include
#include
using namespace std;
int main( )
{ float x, y, z, p, q, m;
x=38/3;y=38./3;z=38/.3;cout<<"x="
}
Dastrur natijasi quyidagicha bo‗ladi
x=12 y=12.6667 z=126.667
p=-0.333333 q=2.64103
78
Endi son va uning raqamlarini qayta ishlash bilan bog‗liq ikkita masala
dasturini tuzamiz:
Masala. Ixtiyoriy to‗rt xonali sonning raqamlari yig‗indisini topish
dasturini tuzing.
#include
using namespace std;
int main( )
{
int n,a1,a10,a100,a1000,s;
cout <<"to`rt xonali sonni kiriting \n";
cin>>n;
a1 = n%10; a10 = n/10% 10;
a100 = n/100% 10; a1000=n/1000;
s = a1 + a10 + a100 + a1000;
cout
return 0;
}
Masala. Besh xonali sonning birinchi va oxirgi raqamlari almashtirilganda
uning qiymati qanday o‗zgarishini aniqlash dasturini tuzing:
#include
using namespace std;
int main( )
{ int n, a1, a5, a234, at, f;
//cout << ―besh xonali sonni kiriting\n‖;
cin >>n;
a1=n%10;
a5=n/10000;
a234=n/10-a5*1000;
at=a1*10000+a5+a234*10;
if (n>at) {f=n-at; cout <<"\n berilgan "
else {f=at-n; cout << "\n berilgan "<\n";}
system ("pause");
79
return 0;
}
C++ dasturlash tilida chiziqli dasturlar tuzilganda uning tarkibida matematik
funksiyalar
ishtirok etsa, albatta, matematik funksiyalar paketini chaqirish
kerak.
Ifodalarni ketma-ket ijro etish strukturasi C++ tomonidan ta'minlanadi. Normal
sharoitda C++ ifodalari dasturdagi navbatiga ko‗ra bajariladi.
Dostları ilə paylaş: