Информатика, Ахборот ва Ахборот технологиялари тушунчалари. Компьютернинг ривожланиш тарихи, қўлланиш соҳалари, авлодлари, асосий қурилмалари


Download 350.12 Kb.
Pdf ko'rish
Sana25.02.2023
Hajmi350.12 Kb.
#1231705
Bog'liq
4-mavzu. Dasturlash fanidan



4-мавзу. Ўзгарувчилар ва 
ифодалар. 


Арифметик амаллар. 
Таянч арифметик амалларга қўшиш (+), айириш (–), 
кўпайтириш (*), бўлиш (/) ва бўлишнинг қолдиғини олиш (%) 
амалларини келтириш мумкин. Қўшиш, айириш, 
кўпайтириш, бўлиш амалларини бутун ва ҳақиқий турдаги 
сонли берилганлар билан ишлатиш мумкин. Бўлишнинг 
қолдиғини олиш амалини эса фақат бутун турдаги сонли 
берилганлар билан ишлатилади.
• -5 
• 8 – 7 
• 3 + 4 
• 2 + y * 5 
• 5.6 + 6.2 * 3 
• x + 2 *5 + 6 / y 



#include  
using namespace std
int main() 

cout << "2 + 5 = " << 2 + 5 << endl; 
cout << "13 + 89 = " << 13 + 89 << endl; 
cout << "34 - 20 = " << 34 - 20 << endl; 
cout << "45 - 90 = " << 45 - 90 << endl; 
cout << "2 * 7 = " << 2 * 7 << endl; 
cout << "5 / 2 = " << 5 / 2 << endl; 
cout << "14 / 7 = " << 14 / 7 << endl; 
cout << "34 % 5 = " << 34 % 5 << endl; 
cout << "4 % 6 = " << 4 % 6 << endl; 
cout << "5.0 + 3.5 = " << 5.0 + 3.5 << endl; 
cout << "3.0 + 9.4 = " << 3.0 + 9.4 << endl; 
cout << "16.3 - 5.2 = " << 16.3 - 5.2 << endl; 
cout << "4.2 * 2.5 = " << 4.2 * 2.5 << endl; 
cout << "5.0 / 2.0 = " << 5.0 / 2.0 << endl; 
cout << "34.5 / 6.0 = " << 34.5 / 6.0 << endl; 
cout << "34.5 / 6.5 = " << 34.5 / 6.5 << endl; 
return 0; 

Натижа: 
2 + 5 = 7 
13 + 89 = 102 
34 - 20 = 14 
45 - 90 = -45 
2 * 7 = 14 
5 / 2 = 2 
14 / 7 = 2 
34 % 5 = 4 
4 % 6 = 4 
5.0 + 3.5 = 8.5 
3.0 + 9.4 = 12.4 
16.3 - 5.2 = 11.1 
4.2 * 2.5 = 10.5 
5.0 / 2.0 = 2.5 
34.5 / 6.0 = 5.75 
34.5 / 6.5 = 5.30769 



Амаллар устунлиги 
Арифметик ифодада бир нечта операторлар (амаллар) қатнашганда 
компилятор амаллар кетма-кетлигини уларнинг устунлигига қараб бажаради. 
Аввал кўпайтириш, бўлиш, бўлишнинг қолдиғини олиш амаллариЮ сўнгра 
қўшиш ва айириш амаллари бажарилади. Масалан: 3 * 7 - 6 + 2 * 5 / 4 + 6 
ифодаси учун амалларнинг бажарилиш кетма-кетлигини қуйидагича тушуниш 
мумкин: 
3 * 7 - 6 + 2 * 5 / 4 + 6 
= (((3 * 7) – 6) + ((2 * 5) / 4 )) + 6
(* бажарилади) 
= ((21 – 6) + (10 / 4)) + 6
(/ бажарилади. 
Операндлар бутун сонлигини 
ҳисобга олинган ҳолда) 
= ((21 – 6) + 2) + 6
(– бажарилади) 
= (15 + 2) + 6
(биринчи + бажарилади) 
= 17 + 6
(+ бажарилади) 
= 23



Аралаш ифода  
Агар ифодада ҳам бутун турдаги, ҳам ҳақиқий турдаги сонлар ёки ўзгарувчилар 
қатнашса бундай ифода аралаш ифода дейилади. Аралаш ифодада ҳар бир 
операторлар (амаллар) алоҳида қисм ифода сифатида қараб ҳисобланади. Агар 
қисм ифода операндлари бир хил турда бўлса, натижа ҳам шу турда бўлади, агар 
операндлари турлари фарқли бўлса, натижа ҳақиқий сон кўринишида бўлади. 
#include  
using namespace std; 
int main() 

cout << "3 / 2 + 5.5 = " << 3 / 2 + 5.5 << endl; 
cout << "15.6 / 2 + 5 = " << 15.6 / 2 + 5 << endl; 
cout << "4 + 5 / 2.0 = " << 4 + 5 / 2.0 << endl; 
cout << "4 * 3 + 7 / 5 - 25.5 = " 
<< 4 * 3 + 7 / 5 - 25.5 
<< endl; 
return 0; 

Натижа: 
3 / 2 + 5.5 = 6.5 
15.6 / 2 + 5 = 12.8 
4 + 5 / 2.0 = 6.5 
4 * 3 + 7 / 5 - 25.5 = -12.5 



Турни бошқа турга келтириш  
C++ тилида бир турни бошқа турга келтиришнинг ошкор ва ошкормас 
йўллари мавжуд. 
#include  
using namespace std; 
int main() 

int Integer_1=54; 
int Integer_2; 
float Floating=15.854; 
Integer_1=(int)Floating;
// ошкор келтириш 
Integer_2=Floating;
// ошкормас келтириш 
cout << “Yangi Integer(Oshkor): ”<cout << “Yangi Integer(Oshkormas):” 
<return 0; 

Дастур натижаси қуйидаги кўринишида бўлади: 
Yangi Integer(Oshkor): 15 
Yangi Integer(Oshkormas): 15 



Турни бошқа турга келтириш  
Берилган белгининг ASCII коди чоп этилсин. Масала белги туридаги 
қийматни ошкор равишда бутун сон турига келтириб чоп қилиш орқали 
ечилади. Дастур матни: 
#include  
int main() 

unsigned char A; 
cout << "Belgini kiriting: "; 
cin >> A; 
cout << '\'' << A << "'-belgi ASCCI kodi="
<< (int)A << '\n'; 
return 0; 

Дастурнинг 
Belgini kiriting: 
сўровига
A  
амали бажарилса, экранга 
'A'-belgi ASCCI kodi=65 
сатри чоп этилади. 



Турни бошқа турга келтириш  
cast оператори ёрдамида ҳам ошкор равишда бир турни бошқа турга 
келтириш мумкин: 
static_cast(expression) 
expression – қийматини бошқа турга ўтказиш лозим бўлган ифода. 
dataTypeName – ифодани ўтказиш лозим бшлган тур номи. 
static_cast(7.9) = 7 
static_cast(3.3) = 3 
static_cast(25) = 25 
static_cast(5 + 3) = 8 
static_cast(15) / 2 = 7.5 
static_cast(15 / 2) = 7 
static_cast(7.8 + static_cast(15) / 2) = 15 
static_cast(7.8 + static_cast(15 / 2)) = 14 
static_cast('A') => 65
static_cast('8') => 56. 
static_cast(65) => 'A'
static_cast(56) => '8'. 



Ўзгарувчилар
Константа ўзгармаслар const калит сўзи орқали эълон қилинади: 
const dataType identifier = value; 
dataType – тур номи 
identifier – идентификатор 
value – қиймат 
const double KATTALIK = 2.54; 
const int TALABALAR_SONI = 20; 
const char PROBEL = ' '; 
Ўзгарувчи эълони унинг турини аниқловчи калит сўзи билан бошланади 
ва ‘=’ белгиси орқали бошланғич қиймат берилади (шарт эмас). Битта 
калит сўз билан бир нечта ўзгарувчиларни эълон қилиш мумкин. Бунинг 
учун ўзгарувчилар бир-биридан ‘,’ белгиси билан ажратилади. Эълонлар 
‘;’ белгиси билан тугайди. 
dataType identifier, identifier, . . .; 
double Yuza; 
int soni; 
char ch; 
int x, y; 



Ўзгарувчилар
#include  
using namespace std; 
int main() 

int num1, num2, num3; 
double qiymat; 
char belgi; 
num1 = 4; 
cout << "num1 = " << num1 << endl; 
num2 = 4 * 5 - 11; 
cout << "num2 = " << num2 << endl; 
num3 = 4.5 * 5 - 9; 
cout << "num3 = " << num3 << endl; 
qiymat = 0.02 * 1000; 
cout << "qiymat = " << qiymat << endl; 
belgi = 'D'; 
cout << "belgi = " << belgi << endl; 
return 0; 

Дастур натижаси қуйидаги кўринишида бўлади: 
num1 = 4 
num2 = 9 
num2 = 13 
qiymat = 20 
belgi = D 
10 


Ўзгарувчилар
//1-qator
int num1, num2, num3; 
//2-qator
num1 = 18; 
//3-qator
num1 = num1 + 27; 
//4-qator
num2 = num1;
//5-qator
num3 = num2 / 5; 
//6-qator
num3 = num3 / 4; 
11 
Ўзгарувчилар 
қийматлари 
Изоҳ 
1-қатор 
num1=? 
num2=? 
num3=? 
2-қатор 
num1=18 
num2=? 
num3=? 
3-қатор 
num1=45 
num2=? 
num3=? 
num1 + 27 = 18 + 27 = 45. 
Натижа num1 ўзгарувчисига, унинг 
олдинги 
қийматининг 
ўрнига 
ёзилади. 
4-қатор 
num1=45 
num2=45 
num3=? 
num1 
ўзгарувчисининг 
қиймати 
num2 ўзгарувчисига юкланади 
5-қатор 
num1=45 
num2=45 
num3=9 
num2 / 5 = 45 / 5 = 9. 
Чиққан натижа num3 ўзгарувчисига 
юкланади 
6-қатор 
num1=45 
num2=45 
num3=2 
num3 / 4 = 9 / 4 = 2. 
Натижа num3 ўзгарувчисига, унинг 
олдинги 
қийматининг 
ўрнига 
ёзилади. 

Download 350.12 Kb.

Do'stlaringiz bilan baham:




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