Reja. Kross-platformali dasturlash tili haqida umumiy ma`lumot



Download 0,98 Mb.
bet11/39
Sana07.03.2022
Hajmi0,98 Mb.
#485533
1   ...   7   8   9   10   11   12   13   14   ...   39
Bog'liq
j7WNgrIuzYyWbItD7qqrNdYOmEd13B0L

Shartli tuzilmalar

Shartli konstruktsiyalar, ma'lum shartlarga qarab, dastur ishini yo'llardan biri bo'ylab yo'naltirishga imkon beradi.


Dartda quyidagi shart qo‘shimchalari qo‘llaniladi: if..else va switch..case, shuningdek the?: And ?? operatorlari.


If / else tuzing


If / else ifodasi ma'lum bir shartning haqiqatini tekshiradi va test natijalariga qarab, ma'lum bir kodni bajaradi:

1
2
3
4
5

int num1 = 6;
int num2 = 4;
if(num1>num2){
print("Первое число больше второго");
}

If kalit so'zidan keyin qavs ichida shart mavjud. Agar bu shart bajarilsa va rost bo'lsa, jingalak qavslardan keyin if blokiga qo'shimcha joylashtiriladigan kod ishga tushiriladi. Bunda ikkita sonni solishtirish operatsiyasi shart vazifasini bajaradi.


Bu erda birinchi raqam ikkinchisidan katta bo'lganligi sababli, num1> num2 ifodasi to'g'ri bo'lib, haqiqatni qaytaradi. Shuning uchun, boshqaruv jingalak qavslardan keyin kod blokiga kiradi va u erda joylashgan ko'rsatmalarni, xususan, chop etish usulini (“Birinchi raqam ikkinchisidan kattaroq”) bajarishni boshlaydi;. Agar birinchi raqam ikkinchidan kichik yoki teng bo'lsa, if blokidagi operatorlar bajarilmaydi.

Ammo agar shart bajarilmasa, qandaydir choralar ko'rilishini xohlasak-chi? Bunday holda, biz else blokini qo'shishimiz mumkin:


1
2
3
4
5
6
7

int num1 = 6;
int num2 = 4;
if(num1>num2){
print("Первое число больше второго");
}
else{
print("Первое число меньше второго");

Ammo raqamlarni solishtirganda, biz uchta holatni sanashimiz mumkin: birinchi raqam ikkinchidan katta, birinchi raqam ikkinchidan kichik va raqamlar teng. else if iborasi bilan biz qo'shimcha shartlarni bajarishimiz mumkin:




1
2
3
4
5
6
7
8
9
10
11

int num1 = 6;
int num2 = 8;
if(num1>num2){
print("Первое число больше второго");
}
else if(num1print("Первое число меньше второго");
}
else{
print("Числа равны");
}

Mantiqiy operatorlardan foydalanib, siz bir vaqtning o'zida bir nechta shartlarni birlashtira olasiz:




1
2
3
4
5

int num1 = 8;
int num2 = 6;
if(num1 > num2 && num1>7){
print("Первое число больше второго и больше 7");
}

Bu yerda if bloki bajariladi, agar num1> num2 rost bo'lsa va shu bilan birga num1> 7 rost bo'lsa.


Kommutatsiya konstruktsiyasi


Kalit / korpus konstruktsiyasi bir vaqtning o'zida bir nechta shartlarni bajarishga imkon beradi:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

int num = 8;
switch(num){
case 1:
print("число равно 1");
break;
case 8:
print("число равно 8");
num++;
break;
case 9:
print("число равно 9");
break;
default:
print("число не равно 1, 8, 9");
}

Taqqoslanadigan ifoda qavs ichidagi switch kalit so'zidan keyin keladi. Ushbu ifodaning qiymati ketma-ket holda case operatoridan keyingi qiymatlar bilan taqqoslanadi. Va agar moslik topilsa, u holda ma'lum bir ish bloki bajariladi.


Shuni ta'kidlash joizki, case blokining oxirida uzilish bayonoti yoki quyidagi gaplardan biri bo'lishi kerak: davom etish, tashlash, qaytarish. Agar ish blokining oxirida ushbu bayonotlarning hech biri bo'lmasa, biz quyidagi holatda bo'lgani kabi xatolikka yo'l qo'yamiz:




1
2
3
4
5
6

case 8:
print("число равно 8");
num++; // Ошибка ! Отсутствует оператор break
case 9:
print("число равно 9");
break;

Agar biz ham moslik topilmagan vaziyatni hal qilmoqchi bo'lsak, yuqoridagi misolda bo'lgani kabi standart blokni qo'shishimiz mumkin. Standart blok ixtiyoriydir.


Shuningdek, biz bir vaqtning o'zida bir nechta ish bloklari uchun bitta amalni belgilashimiz mumkin:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

int num = 3;
int output = 0;
switch(num){
case 1:
output = 3;
break;
case 2:
case 3:
case 4:
output = 6;
break;
case 5:
output = 12;
break;
default:
output = 24;
}
print(output);

Break iborasi oʻrniga oʻtish uchun yorliqni koʻrsatib, davom iborasidan foydalanishingiz mumkin:




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

int num = 8;
switch(num){
case 1:
print("число равно 1");
break;
case 8:
print("число равно 8");
num++;
continue N9; // переход на метку N9
N9: case 9:
print("число равно 9");
break;
default:
print("число не равно 1, 8, 9");
}

Bu erda davom iborasi N9 yorlig'iga o'tadi, bu mohiyatan keyingi ish blokini ifodalaydi. Yorliqning nomi o'zboshimchalik bilan. Bunday holda, davom operatorining harakati ba'zi dasturlash tillaridagi goto operatorining harakatiga o'xshaydi. Faqat bu holatda, yorliq kalit konstruktsiyasi ichida korpus bloklaridan biriga yoki standart blokga olib kelishi kerak.

Uchlik operatsiya
Uchlik operatsiya quyidagi sintaksisga ega: [birinchi operand shart]? [ikkinchi operand]: [uchinchi operand]. Shunday qilib, ushbu operatsiyada bir vaqtning o'zida uchta operand ishtirok etadi. Shartga qarab, uchlik operatsiya ikkinchi yoki uchinchi operandni qaytaradi: agar shart rost bo'lsa, ikkinchi operand qaytariladi; agar shart noto'g'ri bo'lsa, uchinchisi. Masalan:


1
2
3
4

int x=3;
int y=2;
int z = xprint(z);

Bu yerda uchlik amalning natijasi z o‘zgaruvchisidir. Birinchidan, x

Циклы



Looplar, ma'lum shartlarga qarab, ma'lum bir harakatni bir necha marta bajarishga imkon beradi. Dart tilida quyidagi turdagi halqalar mavjud: uchun esa qil... esa Loop uchun For tsikli quyidagi rasmiy ta'rifga ega:


1
2
3
4

for ([инициализация счетчика]; [условие]; [изменение счетчика])
{
// действия
}

Loop uchun standartni ko'rib chiqing:



1
2
3

for (int i = 1; i < 9; i++){
print("Квадрат числа $i равен ${i *i} \n");
}

Loop deklaratsiyasining birinchi qismi - int i = 1 hisoblagich i ni yaratadi va ishga tushiradi. Ya'ni, sikl bajarilgunga qadar hisoblagich qiymati 1 ga teng bo'ladi. Bu holda, bu o'zgaruvchini e'lon qilish bilan bir xil.


Ikkinchi qism - tsiklning bajarilishi sharti. Bunday holda, tsikl i 9 ga yetguncha ishlaydi.


Uchinchi qism esa hisoblagichni bir marta oshirmoqda. Shunga qaramay, biz bittaga oshirishimiz shart emas. Qisqartirish mumkin: i--.


Natijada, tsikl bloki i qiymati 9 ga teng bo'lguncha 8 marta ishlaydi. Va har safar bu qiymat 1 ga ortadi.


Loopni e'lon qilishda barcha shartlarni ko'rsatishimiz shart emas. Masalan, biz shunday yozishimiz mumkin:




1
2
3
4

int i = 1;
for (; ;){
print("Квадрат числа $i равен ${i *i} \n");
}

Loopning ta'rifi bir xil bo'lib qoladi, faqat hozir ta'rifdagi bloklar bo'sh: for (;;). Endi boshlang'ich hisoblagich o'zgaruvchisi yo'q, shart yo'q, shuning uchun tsikl abadiy ishlaydi - cheksiz tsikl.


Shu bilan bir qatorda, siz bir qator bloklarni o'tkazib yuborishingiz mumkin:



1
2
3
4
5

int i = 1;
for (; i<9;){
print("Квадрат числа $i равен ${i *i} \n");
i++;
}

Bu misol birinchi misolga teng: bizda ham hisoblagich bor, faqat u tsikldan tashqarida yaratilgan. Bizda tsiklning bajarilishi uchun shart mavjud. For blokining o'zida allaqachon hisoblagich o'sishi mavjud.


For tsikli bir vaqtning o'zida bir nechta o'zgaruvchilarni aniqlashi va boshqarishi mumkin:




1
2
3
4
5

int n = 10;
for(int i=0, j = n - 1; i < j; i++, j--){
print(i * j);
}

Loop qiling


Do sikli avval sikl kodini bajaradi, keyin esa while operatoridagi shartni tekshiradi. Va bu shart to'g'ri bo'lsa, tsikl takrorlanadi. Masalan:


1
2
3
4
5
6

int j = 7;
do{
print(j);
j--;
}
while (j > 0);

Bunday holda, sikl kodi j nol bo'lguncha 7 marta ishlaydi. Shuni ta'kidlash kerakki, do tsikli while ifodasidagi shart to'g'ri bo'lmasa ham, harakatning kamida bitta bajarilishini kafolatlaydi. Shunday qilib, biz yozishimiz mumkin:




1
2
3
4
5
6

int j = -1;
do{
print(j);
j--;
}
while (j > 0);

Dastlab j 0 dan kichik bo'lsa ham, tsikl bir marta bajariladi.


while tsikli


while sikli ba'zi bir shartning haqiqatini darhol tekshiradi va agar shart rost bo'lsa, tsikl kodi bajariladi:


1
2
3
4
5
6

int j = 6;
while (j > 0){
print(j);
j--;
}

Davom etish va uzilish iboralari


Break operatori sikl o'z ishini tugatmagan bo'lsa ham, istalgan vaqtda tsikldan chiqishga imkon beradi:


1
2
3
4
5

for (int i = 0; i < 10; i++){
if (i == 5)
break;
print(i);
}

Hisoblagich 5 ga yetganda, break operatori ishga tushadi va tsikl tugaydi.


Endi shunday qilamizki, agar raqam 5 bo'lsa, tsikl tugamaydi, faqat keyingi iteratsiyaga o'tadi. Buning uchun davom operatoridan foydalaning:




1
2
3
4
5

for (int i = 0; i < 10; i++){
if (i == 5)
continue;
print(i);
}

Bu erda hisoblagich qiymati test shartini qoniqtirmaydigan 5 raqamiga yetganda, dastur shunchaki bu raqamni o'tkazib yuboradi va keyingi iteratsiyaga o'tadi.




Download 0,98 Mb.

Do'stlaringiz bilan baham:
1   ...   7   8   9   10   11   12   13   14   ...   39




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