O„zbekiston respublikasi oliy va o„rta maxsus ta‟lim vazirligi samarqand davlat universiteti


 C++ DASTURLASH TILIDA CHIZIQLI JARAYONLARNI



Yüklə 0,69 Mb.
səhifə50/157
tarix19.12.2023
ölçüsü0,69 Mb.
#152373
1   ...   46   47   48   49   50   51   52   53   ...   157
S. Eshtemirov, F. M. Nazarov algoritmlash va dasturlash asoslari-hozir.org

3.2 C++ DASTURLASH TILIDA CHIZIQLI JARAYONLARNI 
DASTURLASH 
Reja:
1. C++ tilida chiziqli dasturlar;

2. C++ tilida chiziqli dasturlarga oid misollar;


C++ tilida chiziqli dasturlar 
C++ dasturlash tilida tuzilgan dasturlar albatta uchta jarayonga asoslanib
tuziladi. Dasturlash tili operatorlari yechilayotgan masala algoritmini amalga
oshirish uchun ishlatiladi. Operatorlar chiziqli va boshqaruv operatorlariga
bo‗linadi. Aksariyat holatlarda operatorlar nuqtali vergul (‗;‘) belgisi bilan
tugallanadi va u kompilyator tomonidan alohida operator deb qabul qilinadi.

Kompilyator dasturni ishga tushirish vaqtida dasturni kodini mashina tiliga


tarjima qiladi.
Dastur tuzish vaqtida buyruqlar ketma-ketligi uzluksiz bajarilib boshqa
shartlar talab etilmasa, dastur chiziqli hisoblanadi.
Tarif: Chiziqli algoritmlarga asoslanib ixtiyoriy dasturlash tilida tuzilgan
dasturlar chiziqli dasturlar deyiladi.
Chiziqli dasturlar tarkibiy qismi bo‗lgan operator va buyruqlarda hech
qanday shart yoki takrorlanish bajarilmaydi. Chiziqli dasturlar tarkibidagi
bo‗yruqlar, albatta, bir marta bajariladi.





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.


Yüklə 0,69 Mb.

Dostları ilə paylaş:
1   ...   46   47   48   49   50   51   52   53   ...   157




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə