Vazirligi toshkent davlat iqtisodiyot universiteti



Download 3,04 Mb.
bet204/375
Sana04.02.2023
Hajmi3,04 Mb.
#907765
1   ...   200   201   202   203   204   205   206   207   ...   375
Bog'liq
Informatika va axborot texnologiyalari

Ichki qavslar
Murakkab ifodalami tuzishda ichki qavslardan foydalaniladi. Masalan, sizga sekundlaming umumiy soni keyin esa barcha qaralayotgan odamlar soni, undan keyin esa ulaming ko‘paytmasini hisoblash kerak bo‘lsin:
TotalPersonSeconds=((NumMinutesToThink+NumMinutes ToType)*60*(PeoplelnTheOffice+PeopleOnVocation) )
Bu ifodada oldin NumMinutesToThink o‘zgaruvchisining qiymati NumMinutesToType o‘zgaruvchisi qiymatiga qo'shiladi. Keyin esa hosil qilingan yig‘indi 60 ga ko'paytiriladi. Bundan keyin PeoplelnTheOffice o'zgaruvchi qiymati PeopleOnVocation qiymatiga qo'shiladi, keyin esa sekundlar soni kishilar soniga ko'paytiriladi.

Munosabat operatorlari
Bunday operatorlar ikkita qiymatni teng yoki teng emasligini aniqlash uchun ishlatiladi. Taqqoslash ifodasi doimo true (to‘g‘ri) yoki false (noto‘g‘ri) qiymatni qaytaradi. Munosabat operatorlarining qo‘llanilishiga oid misol 11.3. jadvalda keltirilgan.





3361


11 - bob. Dasturlash asoslari


11.3-jadval


Munosabat operatorlari

Nomi

Operator

Misol

Qaytaradigan qiymat

Tenglik

==

100=50 50=50

false true

Teng emas

1=

100!=50 50'=50

true false

Katta

>

I00>50 50>50

true false

Katta yoki teng

>=

100>=50 50>=50

true true

Kichik

<

50<100 50<50

true false

Kichik yoki teng

<=

50<=100 50<=50

true true

«if» operatori
Odatda dastur satrma-satr tartib bilan bajariladi. if operatori shartni tekshirish (masalan, ikki o‘zgaruvchi tengmi) va uning natijasiga bog‘liq ravishda dasturni bajarilish tartibini o‘zgartirish imkonini beradi. if operatorining oddiv shakli quyidagi ko'rinishdadir:
if (mapT)
nfooja;
Qavs ichidagi shart ixtiyoriy ifoda bo‘lishi mumkin. Agarda bu ifoda false qiymatini qaytarsa undan keyingi ifoda yoki blok tushirib qoldiriladi. Agarda shart true qiymat qaytarsa navbatdagi ifoda bajariladi. Quyidagi misolni qaraymiz:
if (kattaSon>kichikSon)
kattaSon=kichikSon;
Bu yerda katta Son va kichik Son o‘zgaruvchilari taqqoslanayapti. Agarda katta Son o‘zgaruvchisi qiymati katta bo‘lsa, bu navbatdagi qatorda unga qiymat sifatida kichikSon o‘zgaruvchisining qiymati o‘zlashtiriladi.
if operatorida figurali qavs ichiga olingan ifodalar blokini ham ishlatish mumkin:
if (shart)
{

  • ifoda

  • ifoda

  • ifoda

J
Quyida ifodalar blokining qo‘llanilishiga oid misol keltirilgan:
if(kattaSon>kichikSon)
{
kattaSon=kichikSon
cout<<»kattaSon : »<>;
cout<<»kichikSon: >><
}


337




§ 11.4. C++ daslurlash tilida ifodalar va operatorlar

Bu holda kattaSon o‘zgaruvchisiga nafaqat kichikSon o‘zgaruvchisi o’zlashtirilayapti. balki ekranga bu haqida axborot ham chiqarilayapti: 1: #include 2: using namespace std;
3 : int main ()
4: {
5: int BunyodkorGol, PaxtakorGol;
6: cout<<»Bunyodkor jamoasi kiritgan to'plar sonini yozing:»;
7: cin » BunyodkorGol;
8: cout<<»Paxtakor jamoasi kiritgan to'plar sonini yozing:»;
9: cin » PaxtakorGol;
10: cout << «\n»;
11: if (BunyodkorGol > PaxtakorGol)
12: cout « «Yashasin Bunyodkor!\n»;
13: if (BunyodkorGol < PaxtakorGol)
14: { '
15: cout << «Yashasin Paxtakor! \n»;
16: cout « «Bugun Paxtakor muxlislariga bayram!\n»;
17: } '
18: if (BunyodkorGol==PaxtakorGol)
19: { '
20: cout << «Durrangmi? Bo'lishi mumkin emas! \n»;
21: cout <<»Paxtakorning kiritgan to'plari haqida ma'lumotni qaytadan yozing:»;
27: cin » PaxtakorGol;
28: if (BunyodkorGol>PaxtakorGol)
29: {
30: cout<<»Bunyodkor yutishini oldindan bilgan edim! Shuning uchun qayta so'radim\n»;
31: cout<<»Yashasin Bunyodkor!\n»;
32: }
33: if (BunyodkorGoKPaxtakorGol)
34: {
35: cout<<»Paxtakor yutishini oldindan bilgan edim! Shuning uchun qayta so'radimXn»;
36: cout<<»Yashasin Paxtakor!»;
37: cout«»Bugun Paxtakor muxlislariga bayram!\n»;
38: }
39: if (BunyodkorGol==PaxtakorGol)
40: cout<<»Qoyil! Haqiqatan ham durang ekanXn»;
41: }
42: cout«»Ma'lumotingiz uchun rahmatXn»;
43: return 0;
44 : }

NAT1JA:


338




11 - bob. Dasturlash asoslari

Bunyodkor jamoasi kiritgan to'plar sonini yozing:2 Paxtakor jamoasi kiritgan to'plar sonini yozing:2 Durangmi? Bo'lishi mumkin emas!
Paxtakorning kiritgan to 'plari haqida ma'lumotni qaytadan yozing:l
Bunyodkor yutishini oldindan bilgan edim! Shuning uchun qayta so'radim Yashasin Bunyodkor!
Ma'lumotingiz uchun rahmat

  1. - rasm. Munosabat operatorining qo‘llanilishi orqali tarmoqlanish.

«eise»_kalit_so‘zi'>«eise» kalit so‘zi
Dasturlarda ko‘p hollarda biror bir shart bajarilca (ya’ni bu shart true qiymatni qaytarsa) bir blok, shart bajarilmasa (ya’ni bu shart false qiymatni qaytarsa) boshqa bir blokning bajarilishi talab qilinadi. 11.11 .-rasmda birinchi tekshirish (BunyodkorGol>PaxtakorGol) true qiymat qaytarsa ekranda bir xabar, false qiymatida esa boshqa bir xabar chiqariladi.
Bunday masalalami yuqorida ko’rsatilgan usul, ya’ni qator shartlarni tekshirish uchun birnechta if operatorlarini qo'llash orqali hal qilish mumkin, lekin dastuming soddaligini ta’minlash uchun else kalit so’zidan foydalaniladi: if (shart)
Ifoda;
else
Ifoda;

  1. : #include

  2. : using namespace std;

3:
4 : int main ()
5: {
6: int BirinchiSon, IkkinchiSon;
": cout « «Katta sonni kiriting:»;
S: cin » BirinchiSon;
3: cout«»Kichik sonni kiriting:»;
20: cin >> IkkinchiSon;
11: if (BirinchiSon > IkkinchiSon)
12: cout << «Rahmat!\n»;
13: else
14: cout « «Ikkinchisi katta son-ku!\n»;
15: return 0;
16: }

NATIJA:


§ 11.4. C++ dasturlash tilida ifodalar va operatorlar




339

Katta sonni kiriting:4
Kichik sonni kiriting:6
Ikkinchisi katta son-ku!

  1. -rasm. «eise» kalit so'zining ishlatilishi.

«if» operatori orqali murakkab konstruktsiyalarni hosil qilish
«if - eise» konstruktsiyasida ifodalar blokida ixtiyoriy operatorlarni ishlatishda hech qanday chegara yo'q. Shu jumladan, ifodalar bloki ichida yana if - else operatorlarini ishlatish muinkin. Bu holda bir nechta if operatoridan iborat ichma-ich konstruktsiya hosil bo‘ladi.
Bundax murakkab konstruksiyaga misol 11.13-rasmda keltiriIgan
: #include
: using namespace std;
: int main()
: {
: // Ikkita son kiritamiz.Ularni BirinchiSon
: // va BirinchiSon o ' zgaruvchilariga
o 'zlashtiramiz.
: // Agarda BirinchiSon qiymati BirinchiSon
// qiymatidan katta bo'lsa katta son
: //kichigiga qoldiksiz bo'linishini tekshira-
II miz. Agarda u qoldiqsiz bo'linsa ular
: //teng yoki teng emasligini tekshiramiz.
: int BirinchiSon, IkkinchiSon;
: cout« «Ikkita son kiriting.\nBirinchisi:»;
14: ein >> BirinchiSon;
: cout << «Ikkinchisi:»;
16: ein >> IkkinchiSon;
17: cout << «\n»;
13: if (BirinchiSon>=IkkinchiSon)
19: {
: if ((BirinchiSon%IkkinchiSon)==0)
21 :
22: if (BirinchiSon==IkkinchiSon)
23: cout<<»Ular bir-biriga teng!\n»;
24 : eise
25: cout <<»Birinchi son
ikkinchisiga karrali!\n»;
26: } ’
27: eise
28: cout <<»Ikkinchi son katta!\n»;
29:
30: return 0;
31: }

NATIJA:


340




11 - bob. Dasturlash asoslari

Ikkita son kiriting.
Birinchisi : 9
Ikkinchisi:3
Birinchi son ikkinchisiga karrali!
11.13 - rasm. «if» operatori ichki bo'lgan murakkab konstruktsiya.
Mantiqiy operatorlar
Dasturlashda bir emas, balki bir nechta shartli ifodalarni tekshirish zaruriyati juda ko‘p uchraydi. Masalan, x o‘zgaruvchisi y o‘zgaruvchisidan, y esa o‘z navbatida z o'zgaruvchisidan kattami sharti bunga misol bo‘la oladi. Bizning dasturimiz mos amalni bajarishdan oldin bu ikkala shart to‘g‘ri yoki noto‘g‘riligini tekshirishi lozim.
Quyidagi mantiq asosida yuqori darajada tashkil qilingan signalizatsiya tizimini tasavvur qiling. Agarda eshikda signalizatsiya o‘matilgan bo‘lsa BA kun vaqti kech soat olti VA bugun bayram YOKI dam olish kuni BO‘LMASA militsiya chaqirilsin. Barcha shartlami tekshirish uchun S++ tilining uchta mantiqiy operatori ishlatiladi. Ular 11,4-jadvalda keltirilgan.

  1. - jadval.


Mantiqiy operatorlar

Operator

Belgi

Misol

VA

&&

1-ifoda && 2-ifoda

YOKI

II

1 -ifoda[|2-ifoda

INKOR

!

! ifoda

Mantiqiy ko‘paytirish operatori
Mantiqiy ko‘paytirish operatori ikkita ifodani hisoblaydi, agar ikkala ifoda true qiymat qaytarsa VA operatori ham true qiymat qaytardi. Agarda sizning qomingiz ochligi rost bo'lsa VA sizda pul borligi ham rost bo‘lsa siz o‘zingizga tushlik qilish uchun biror bir narsa xarid qilishingiz mumkin. Yoki yana bir misol, masalan,
if(x==5&&y==5)
mantiqiy ifodasi agarda x va y o‘zgaruvchilarini ikkalasining ham qiymatlari 5 ga teng bo‘lsagina true qiymat qaytaradi. Bu ifoda agarda o‘zgaruvchilardan birortasi 5 ga teng bo‘lmagan qiymat qabul qilsa false qiymatini qaytaradi. Mantiqiy ko'paytirish operatori faqatgina o‘zining ikkala ifodasi ham rost bo‘lsagina true qiymat qaytaradi.
Mantiqiy ko'paytirish operatori && belgisi orqali belgilanadi.

Download 3,04 Mb.

Do'stlaringiz bilan baham:
1   ...   200   201   202   203   204   205   206   207   ...   375




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish