Pascal va C++ dasturlash. Yusufov O


Inkrement va decrement amallari



Yüklə 296,57 Kb.
Pdf görüntüsü
səhifə13/16
tarix08.04.2023
ölçüsü296,57 Kb.
#95111
1   ...   8   9   10   11   12   13   14   15   16
pascal va c dasturlash tillarini qiyosiy tahlil qilish metodikasi

Inkrement va decrement amallari 
Pascal tilida butun turdagi operatorlarni bittaga oshirish va bittaga kamaytirishning
samarali vositalari mavjud. Ortrish uchun n:=0; deb boshlang`ich qiymatni berib olib 
keyin n:=n+1; har safar qiymat birga oshib boradi. Kamaytirish uchun ko`rinishda 
n:=10; deb boshlang`ich qiymatni berib olib keyin n:=n-1; har safar birga kamayib 
boradi. 
C++ tilida butun turdagi operatorlarni bittaga oshirish va bittaga kamaytirishning
samarali vositalari mavjud. Bular inkrement (“++”) va decrement (“--”) unar 
amallaridir.
Operatorlarga nisbatan bu amallarning prefix va papostfiks ko`rinishlari bo`lad. 
Prefiks ko`rinishida amal til ko`rsatmasi bo`yicha ish bajarilishidan oldin operandga 
qo`llaniladi. Postfiks xolatda esa amal til ko`rsatmasi bo`yicha ish bajarilgandan keyin 
operandga qo`llaniladi.[8] 
Prefix yoki postfiks amal tushunchasi qiymat berish va boshqa amallar bilan bog`liq 
ifodalarda o`rinli: 
x=y++ // postfiks inkrement 
index =--i; // prefix decrement 
count++; // undan amal, “++count;” bilan ekvivalent 
abc--; // undan amal, “--abc;” bilan ekvivalent 
Bu erda y o`zgaruvchining qiymatini x o`zgaruvchiga o`zlashtiriladi va keyin bittaga 
oshiriladi, i o`zgaruvchining qiymati bittaga kamaytirib, index o`zgaruvchga 
o`zlashtiriladi. O`zgaruvchilarning aniq bir qiymatlari uchun misol: 
int s=10, i=5; 


41 
s+=++i; //s=16 va i=6 
s+=i++; // s=22 va i=7. 
C++ tilini o`zgaruvchilarni har bir qiymat uchun alohida elon qilish hajim va vaqtda 
ancha yutuq beradi 
Oliy matematika kursidagi tanish masalalar tanlab olib, Pacal va C++ tilarida tilarida 
dastur tuzib, ularning farqlarini ko`rib o`tamiz. [12,13] 
 
1-masala. Ikki butun musbat son m va n larning eng katta umumiy bo’luvchisi 
(EKUB) ni aniqlash dasturini tuzing. 
Dastur matni
program ekub; 
var m,n,x,y:ineteger;
Function 
ekub(a,b:integer):integer; 
Begin 
If a<>0 then 
ekub:=ekub(b mod a, a) 
else ekub:=b; 
End; 
begin 
write('m=');read(m); 
write('n=');read(n); 
write('x=',ekub(n,m)); 
end. 
 
C++da dasturu: 
 
#include 
#include 
int ekub(int aa, int bb){ 
return 
aa!=0?ekub(bb%aa,aa):bb; 

int main(){ 
int a,b; 
cin>>a>>b; 
cout<
getch(); 

 
Bu ikki misolda ham bir xil 
natijaga ega bo`lamiz. 
Lekin C++ dagi bu kod 
orqali 
aa!=0?ekub(bb%aa,aa):bb; 
pascaldagi If operatori 
ichidagi vazifani bajarib 
dastur hajmini va vaqttidan 
yutiq C++ da. 


42 
2-masala. Ikkita x va y sonlarning kattasini tanlash (EKT) dacturini tuzing. 
program ekt; 
var m,y,x:ineteger;
begin 
write('x=');read(x); 
write('y=');read(y); 
if x>y then begin 
m:=x; write('m=',m); 
end 
else if y>x then begin 
m:=y; write('m=',m); 
end 
else write('‘PAUSE’’); 
end. 
C++ da dasturu: 
#include
Int main() 

int m,y,x; 
cout<<”x=”;cin>>x; 
cout<<”y=”;cin>>y; 
if (x==y) 
cout<<("Bu sonlar teng"); 
if (x>y) m=x; cout <<"m=" <if (xcout <<"x1=" <system("PAUSE"); 
return 0; 

Qiyosiy taqoslash 
Bu ikki misolda ham 
bir xil natijaga ega 
bo`lamiz. Lekin C++ 
dagi bu kod orqali 
if (x>y) m=x; cout 
<<"m=" <if (xb/(2*a);
pascaldagi If 
operatori ichidagi 
vazifani bajarib 
dastur hajmini va 
vaqttidan yutiq 
pascalda. 

Yüklə 296,57 Kb.

Dostları ilə paylaş:
1   ...   8   9   10   11   12   13   14   15   16




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin