|
Alisher ismailov shakirovich algoritmlash va dasturlash asoslari (1-qism)
|
bet | 23/33 | Sana | 21.02.2024 | Hajmi | 290,29 Kb. | | #160200 |
Bog'liq Algoritmlash va dasturlash asoslari-fayllar.orgOperator
|
Nomi
|
Misol
|
Natija
|
<
|
Kichik
|
Radius < 0
|
False (Noto‘g‘ri)
|
<=
|
Kichik yoki teng
|
Radius <= 0
|
False (Noto‘g‘ri)
|
>
|
Katta
|
Radius > 0
|
True (To‘g‘ri)
|
>=
|
Katta yoki teng
|
Radius >= 0
|
True (To‘g‘ri)
|
==
|
Teng
|
Radius == 0
|
False (Noto‘g‘ri)
|
!=
|
Teng emas
|
Radius != 0
|
True (To‘g‘ri)
|
Taqqoslash natijasi mantiqiy qiymati: true (to‘g‘ri) yoki false (noto‘g‘ri). Mantiqiy qiymatga ega bo‘lgan o‘zgaruvchi mantiqiy o‘zgaruvchi sifatida tanilgan. Bool ma’lumotlar turi mantiqiy o‘zgaruvchilarni e’lon qilish uchun qo‘llaniladi. Misol uchun, quyidagi ibora chiroqYoniq o‘zgaruvchisiga true qiymatini belgilaydi:
bool chiroqYoniq = true;
true(to‘g‘ri) va false(noto‘g‘ri) kalit so‘zlar bo‘lib, ularni dasturingizda identifikator sifatida ishlatib bo‘lmaydi. Ichki ma’noda C++ dasturlash tili true qiymatini ifodalash uchun 1 dan, false qiymati uchun esa 0 dan foydalanadi. Agar siz konsolga bool qiymatini chop etsangiz, qiymat true bo‘lsa 1 va false bo‘lsa 0 ko`rsatiladi.
Masalan,
cout << (4 < 5);
1 natijani ko‘rsatadi, chunki 4 < 5 shart true (to‘g‘ri).
cout << (4 > 5);
0 natijani ko‘rsatadi, chunki 4 > 5 shart false (noto‘g‘ri).
If (agar) sharti
If operatori - bu dasturga bajarishning muqobil yo‘lini belgilash imkonini beruvchi konstruksiya hisoblanadi. Siz hozirgacha yozgan dasturlar ketma-ketlikda bajariladi. Biroq, odatda muqobil yo‘llarni taqdim etishingiz kerak bo‘lgan holatlar mavjud. C++ dasturlash tili bir necha turdagi tanlash operatorlarini taqdim etadi: bir tomonlama if operatorlari, ikki tomonlama if-else operatorlari, ichki o‘rnatilgan if operatorlari, switch operatorlari va shartli ifodalar shular jumlasidan.
Bir tomonlama if iborasi, agar shart true(to‘g‘ri) boʻlsa, amalni bajaradi. Bir tomonlama if iborasi sintaksisi quyidagidek yoziladi:
if (boolean-expression)
{
statement(s);
}
Quyidagi rasmda C++ dasturlash tilining if operatorining sintaksisini qanday bajarishini ko‘rsatadi. Blok-sxema algoritm bo‘lib, bosqichlarni har xil turdagi geometrik figuralar sifatida ko‘rsatadi va ularni strelkalar bilan bog‘lash orqali ularning tartibini ko‘rsatadi. Jarayon operatsiyalari ushbu figuralarda tasvirlangan va ularni bog‘laydigan strelkalar boshqaruv oqimini ifodalaydi. Mantiqiy shartni belgilash uchun romb figurasi, jarayon uchun esa to‘rtburchak figura ishlatiladi.
If operatori mantiqiy ifoda true(to‘g‘ri) deb baholansa, jaranyonni bajaradi. Agar mantiqiy ifoda true(to‘g‘ri) deb baholansa, blokdagi kodlar bajariladi. Mantiqiy ifoda qavs ichiga olingan holatda yoziladi.
if i > 0
{
Cout<<”i musbat son”;
}
|
if ( i > 0)
{
Cout<<”i musbat son”;
}
|
Noto‘g‘ri
|
To‘g‘ri
|
Gullik qavslar, agar ular bitta bayonotni o‘z ichiga olgan bo‘lsa, gullik qavslar qo‘yilmasiligi ham mumkin. Misol uchun, quyidagi bayonotlar ekvivalentdir.
if ( i > 0)
{
Cout<<”i musbat son”;
}
|
Bir xil natija beradi
|
if ( i > 0)
Cout<<”i musbat son”;
|
|
|
|
1 #include
2 using namespace std;
3
4 int main()
5 {
6 // foydalanuvchidan butun son kiritishni so`rang
7 int nomer;
8 cout << "butun son kiriting: ";
9 cin >> nomer;
10
11 if (nomer % 5 == 0)
12 cout << "Beshga bo`linadi" << endl;
13
14 if (nomer % 2 == 0)
15 cout << "ikkiga bo`linadi" << endl;
16
17 return 0;
18 }
Natija:
Butun sonni kiriting: 4
ikkiga ga bo`linadi
Ikki tomonlama if-else bayonotlari
If-else buyrug‘i shartning to‘g‘ri(true) yoki noto‘g‘ri(false) ekanligiga qarab, qaysi bayonotlar bajarilishini hal qiladi. Agar ko‘rsatilgan shart to‘g‘ri(true) bo‘lsa, bir tomonlama if iborasi amalni bajaradi. Agar shart noto‘g‘ri(false) bo‘lsa, hech narsa qilinmaydi. Agar shart noto‘g‘ri (false) bo‘lsa, muqobil amalni bajarmoqchi bo`lsangiz ikki tomonlama if iborasidan foydalanishingiz mumkin. Ikki tomonlama if-else bayonoti shartning to‘g‘ri(true) yoki noto‘g‘riligiga (false) qarab turli xil jarayonlarni bajaradi.
Ikki tomonlama if-else iborasining sintaksisi:
if (boolean-expression)
{
statement(s)-for-the-true-case;
} else {
statement(s)-for-the-false-case;
}
Bayonot sxemasi
Agar mantiqiy ifoda to‘g‘ri(true) deb topilsa, true(to‘g‘ri) holat uchun bayonot(lar) bajariladi; aks holda, noto‘g‘ri (false) holat bo‘yicha bayonot(lar) bajariladi.
if ichida if bayonotlari (nested if)
if iborasi boshqa if iborasi ichida bo‘lishi mumkin. Ichki if iborasi tashqi if iborasi ichida joylashgan deyiladi. Ichki if iborasi boshqa if ifodasini o‘z ichiga olishi mumkin. Masalan, if ichida joylashgan if iborasi:
if (i > k)
{
if (j > k) cout << "i va j, k da katta" << endl;
} else
cout << "i kdan kichik yoki teng" << endl;
Misol:
if (baho >= 90.0){
cout << "baho a’lo";
}else if (baho >= 80.0){
cout << "baho yaxshi";
}else if (baho >= 70.0){
cout << "baho qonoqarli";
}else if (baho >= 60.0){
cout << "baho qoniqarli";
}else{
cout << "Baho qoniqarsiz";
}
Mantiqiy operatorlar
!, && va || mantiqiy operatorlari birikmali mantiqiy ifodani yaratish uchun ishlatilishi mumkin.
Ba’zan bir nechta shartlarning kombinatsiyasi bayonotning bajarilishini aniqlaydi. Ushbu shartlarni birlashtirish uchun mantiqiy operatorlardan foydalanishingiz mumkin. Quyidagi jadvalda mantiqiy operatorlar ro‘yxati keltirilgan. jadvalda not (!) operatori aniqlangan. not (!) operatori to‘g‘ri(true)ni noto‘g‘riga, noto‘g‘rini tog‘ri(true)ga aylantiradi. (&&) operatori ishlatilganda ikki mantiqiy shart to‘g‘ri bo‘lishi kerak. yoki (||) operatori ikki mantiqiy shartlarning bittasi to‘g‘ri bo‘lsa true qiymatini qaytaradi.
|
| |