laboratoriya ishi №2


Download 307.67 Kb.
Pdf ko'rish
Sana22.11.2020
Hajmi307.67 Kb.
#150677
Bog'liq
laboratoriya ishi №2
методичка №3 (4), Kaliforniya testi lotin, Kaliforniya testi lotin, 5, elektronika. 1-lab, O‘zbekiston-fayllar.org, Узун тумани Август ойида малака оширадиган ўқитувчилар рўйхати, 29 Yumashev 211-221, Favqulodda vaziyatlar. Baxronova M., 2 topshiriq javobi, 18-top. javobi, O‘qituvchi, Ta'limni tashkil etish shakllari, 2 5404843556034578597


2-ЛАБОРАТОРИЯ ИШИ. 
 
МАВЗУ: Стандарт маълумотлар турлари хақида тушунча.
 
Ишдан мақсад: Маълумотларнинг оддий созланган, унар ва бинар амаллар 
ва уларни тадқиқ қилиш. 
Қўйилган масала: C++ тилида бутун, ҳақиқий, белгили, мантиқий 
тоифадаги маълумотларни эълон қилиш ва уларга доир мисолларнинг дастурини 
ишлаб чиқиш. 
Иш тартиби: 

Тажриба иши назарий маълумотларини ўрганиш; 

Берилган топшириқнинг алгоритмини ишлаб чиқиш; 

C++ дастурлаш муҳитида дастурни яратиш; 

Натижаларни текшириш; 

Ҳисоботни тайёрлаш ва топшириш. 
Маълумотлар тоифалари 
Кўплаб дастурлаш тилларида маълумотлар базавий ва келтирилган 
тоифаларга ажратилади. Маълумотларнинг тоифаларини 1.1-расмдагидек 
классификациялаш мумкин. 
1.1-расм. Тоифаларни классификацияси. 
Маълумотларнинг ихтиёрий тоифаси қийматлар соҳаси ва улар устида 
бажарилиши мумкин бўлган амаллар орқали тавсифланади. воид калит сўзи ҳеч 
қандай тоифага эга эмасликни англатади. Бундай тоифадаги функсиялар ҳеч 
қандай қийматни қайтармайди. Лекин асосий дастур танаси, яъни main() 
функсияси void тоифасига эга бўлолмайди, у int тоифасида бўлиши керак. 


Амаллар одатда унар яъни битта операндга қўлланиладиган амалларга ва 
бинар яъни икки операндга қўлланиладиган амалларга ажратилади. 
Бинар амаллар additiv яъни қўшув [+] ва айириш [–] амалларига , ҳамда 
мултипликатив яъни кўпайтириш [*], бўлиш [/] ва модул олиш[%] амалларига 
ажратилади. Аддитив амалларининг устуворлиги мултипликатив амалларининг 
устуворлигидан пастроқдир. Бутун сонни бутун сонга бўлганда натижа бутун 
сонгача яхлитланади. Масалан, 10/3=3, (-10)/3=-3, 10/(-3) =-3. 
Модул амали бутун сонни бутун сонга бўлишдан ҳосил бўладиган қолдиққа 
тенгдир. Агар модул амали мусбат операндларга қўлланилса, натижа ҳам мусбат 
бўлади, акс ҳолда натижа ишораси компиляторга боғлиқдир. 
Бинар арифметик амаллар бажарилганда типларни келтириш қуйидаги 
қоидалар асосида амалга оширилади: 

short ва char типлари инт типига келтирилади; 

агар операндлар бири long типига тегишли бўлса иккинчи операнд ҳам 
long типига келтирилади ва натижа ҳам long типига тегишли бўлади;

агар операндлар бири float типига тегишли бўлса иккинчи операнд ҳам 
float типига келтирилади ва натижа ҳам float типига тегишли бўлади;

агар операндлар бири double типига тегишли бўлса иккинчи операнд ҳам 
double типига келтирилади ва натижа ҳам double типига тегишли бўлади;

агар операндлар бири long double типига тегишли бўлса иккинчи операнд 
ҳам long double типига келтирилади ва натижа ҳам long double типига тегишли 
бўлади; 
Унар амалларга ишорани ўзгартирувчи унар минус [–] ва унар плус [+] 
амаллари киради. Бундан ташқари [++] ва [--] амаллари ҳам унар амалларга 
киради. 
[++] унар амали қийматни 1 га оширишни кўрсатади. Амални prefiks яъни 
++i кўринишда ишлатиш олдин ўзгарувчи қийматини ошириб сўнгра 
фойдаланиш лозимлигини, постфикс яъни и++ кўринишда ишлатишдан олдин 
ўзгарувчи қийматидан фойдаланиб, сўнгра ошириш кераклигини кўрсатади. 
Масалан, и қиймати 2 га тенг бўлсин, у ҳолда 3+(++i ) ифода қиймати 6 га, 3+ i 
++ ифода қиймати 5 га тенг бўлади. Иккала ҳолда ҳам и қиймати 3 га тенг бўлади.
[--] унар амали қийматни 1 га камайтиришни кўрсатади. Бу амал ҳам prefiks 
ва постфикс кўринишда ишлатилиши мумкин. Масалан, и қиймати 2 га тенг 
бўлсин, у ҳолда --и ифода қиймати 1 га, i-- ифода қиймати 2 га тенг бўлади. 
Иккала ҳолда ҳам и қиймати 1 га тенг бўлади. 
Масала: Ушбу масалаларни C++ дастурлаш тилида int a=100, b=10, c=5; 
қийматлар берилган. Сикл, унар ва арифметик амаллар ёрдамида экранга a=4 va 
b=810 натижа чиқсин 
Дастурнинг кўди: 
#include  
#include  
using namespace std; 


int main(int argc, char *argv[]) 

int a=100,b=10,c=5;
for(int i=0; i<2; i++) 

a/=b-c; 

for(int i=0; i<2; i++) 

b*=a+c; 

cout<<"a="<cout<<"b="<system("PAUSE"); 

Натижа: 

Download 307.67 Kb.

Do'stlaringiz bilan baham:




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