2.3 C++ DASTURLASH TILI TARKIBIDAGI ARIFMETIK AMALLAR VA MANTIQIY AMALLAR Reja: 1. Arifmetik amallari; 2. Ta‘minlash operatori; 3. Mantiqiy amallar. C++ dasturlash tili tarkibida dastur tuziladigan vaqtda albatta matematik
ifodalar, amal ishoralar va mantiqiy amallar ishtirok etishi mumkin. Dastur
dasturlash tillarida amallar matematikadan yozilishi bilan farq qiladi. Dasturlash
asoslarida amallarni ikki turga ajratamiz:
-arifmetik amallar;
-mantiqiy amallar;
Arifmetik amallar Berilganlarni qayta ishlash uchun dasturlash tillarida amallarning juda keng
majmuasi aniqlangan. Amal - bu qandaydir harakat bo‗lib, u bitta (unar) yoki
ikkita (binar) operandlar ustida bajariladi, hisob natijasi uning qaytaruvchi qiymati
hisoblanadi.
Tayanch arifmetik amallar dasturlash tilida quyidagicha yoziladi.
Matematik ifodasi
C++ tilida ifodasi
Izoh
+
+
qo‗shish
-
-
Ayirish
∙
*
ko‗paytirish
:
/
bo‗lish
Qoldiq
%
qoldiqli bo‗lish
Arifmetik amallarning bajarilish tartibi
52
Matematikada bo‗lgani kabi C++ dasturlash tilida ham 4 ta arifmetik
amal(+; -; *;/)lardan foydalaniladi. Ularning bosqichlarga bo‗linishi, bajarilish
tartibi, qavslar ishtirokidagi bajarilish tartibi matematikadagi tartibidan farq
qilmaydi. Masalan:
1 2 3 4
1 2 3 4 5
26-3+18-76+53;
2) 38/2*x/12*45/y
7 1 8 2 9 3 4 10 5 6
3) 14-155/4+3*x+24/8*5-98*4/16;
14 11 12 13 5 9 6 7 10 8 1 2 4 3
4)24+(96/24*6-(18/5+2*c/7+6*(216/3/4+3*2))).
Eslatma: matematikada ba‘zi hollarda, ayniqsa, harfiy va qavsli ifodalarda
ko‗paytirish amali oshkor yozilmaydi. C++ dasturlash tilida barcha amallar oshkor
yozilishi shart. Masalan,
2x+5y-2*x+5*y
3(7a-5)-3*(7*a-5)
kabi yozuvlar xato hisoblanadi. Ularning to‗g‗ri yozuvi quyidagicha
1) 2*x+5*y-2*x+5*y
2) 3*(7*a-5)-3*(7*a-5)
Bundan tashqari C++ dasturlash tilida quyidagi amallardan ham
foydalaniladi:11
1. Darajaga ko‗tarish amali pow(x,n) funksiyasi yordamida bajariladi:
pow(x,n)=
; pow(3,4)=81;
2. n%m – amali n butun sonini m butun soniga bo‗lganda qoldiqni
hisoblaydi va qoldiqqa bo‗linuvchi ishorasi beriladi.
37%32=5; -43%8=-3; 64%(-12)=4;
3. Bir butun sonni ikkinchi butun songa bo‗lganda to‗liqsiz bo‗linmani
hisoblash uchun, natijani qiymat sifatida oluvchi o‗zgaruvchi turiint bo`lishi
yetarli. Masalan:
int a, b, c, d, e, f;
a=47; b=23; c=6; d=a/c; e=a/d;
cout<< ―d=‖<Dastur natijasi d=7e=6 kabi bo‗ladi.
4. pow10(intp) funksiyasi 10p ni hisoblaydi. Bunda p–butun son bo‗lishi
shart.
53
pow10(3)=1000; pow10(1)=10
Dasturlash asoslarida arifmetik amallar matematikadagi amallarni yozilishi
bir oz farq qiluvchi holatlari ham mavjud. Bunday amallar quyidagicha.
C++ dasturlash tilida biror bir o‗zgaruvchini qiymatini birga oshirish