4-МAVZU. MANTIQIY DASTURLASH TEXNOLOGIYASI.
Reja:
1. Mantiqiy dastur tuzilmasi.
2. Shartli, shartsiz va tanlash operatorlari.
3. Takrorlash operatorlari. Ularning turli formalari (parametrli,
shartni oldin va keyin
tekshiruvchi operatorlar).
4. Takrorlanivchu strukturali dasturlar. Murakkab algoritmlarni ifodalaydigan soha
masalalari.
TAYANCH SO’Z VA IBORALAR: mantiqiy tur,
mantiqiy amal, tarmoqlanuvchi dastur,
shartli tanlash operatotri,
shartsiz tanlash operatori, if, else, switch, RadioGroup
komponentasi.
Mantiqiy tur − mantiqiy ifodalarning qiymatlarini qabul qiluvchi o’zgaruvchilarni e’lon
qilishda ishlatiladi. Bu turga tegishli o’zgaruvchilar
0 (yolg’on) yoki
1 (rost)qiymatlardan
birini qabul qiladi.
Dasturlash tillarida tuzilgan mantiqiy ifodalar to’liq matematik mantiqqonuniyatlariga
asoslanadi.
Matematik mantiq − fikrlashning shakli va qonuniyatlari haqidagi fan.
Uning asosini
mulohazalar hisobi tashkil qiladi.
Mulohaza – bu ixtiyoriy jumla bo’lib, unga nisbatan rost
yoki yolg’on fikrni bildirish mumkin.
Masalan «-5>-25», «11–juft son», «Toshkent-
Hindistonning poytaxti», «Samarqand−tarixiy shahar» va hokazolar. Lekin
«78 987 256
katta son» jumlasi to’g’ri mulohaza hisoblanmaydi, chunki «katta son» tushunchasi juda ham
nisbiy, ya’ni katta son deganda qanday sonni nazarda tutish aniq emas. Shuning uchun ham
yuqoridagi jumlaning rost yoki yolg’onligi haqida fikr bildirish qiyin
. Mulohazalarning
rost
yoki
yolg’on bo’lishi holatlarga bog’liq ravishda ham o’zgarishi mumkin:
Masalan,
«hozir
soat 13.00» jumlasining rost yoki yolg’onligi qaralayotgan vaqtga bog’liq.
Xuddi
shunday «
x>0» ifodaning qiymati
x o’zgaruvchisining qiymatiga bevosita bog’liq bo’ladi.
C oilasidagi dasturlash tillarida mantiqiy ifodalar qurish uchun quyidagi taqqoslash amallari
kiritilgan
“>” (katta), “<” (kichik), “>=” (katta yoki teng), “<=” (kichik yoki teng), “==”
(teng), “!=” (teng emas).
C++ tilida mantiqiy tur «Bul algebrasi” asoschisi, Angliyalik matematik Jorj Bul
sharafiga
bool kalit so’zi bilan ifodalangan.
“
Bul algebrasi” da mantiqiy mulohazalar ustida uchta amal aniqlangan:
Inkor –
A mulohazaning inkori deganda
A rost bo’lganda yolg’on, yolg’on bo’lganda rost
qiymat qabul qiluvchi mulohazaga aytiladi. C++ tilida inkor –
‘!’ belgisi bilan ifodalanadi.
Masalan,A mulohazaning inkori «
!A» ko’rinishida yoziladi;
Konyunksiya
− ikkita
A va
B mulohazalar konyuksiyasi yoki mantiqiy ko’paytmasi «
A &&
B» ko’rinishida yoziladi. Bu mulohaza qiymati
A va
B mulohazalarning
har ikkalasi rost
bo’lgandagina rost bo’ladi, aks holda esa yolg’on bo’ladi («
&&» amali «
va» deb o’qiladi).
Masalan, «bugun oyning 8-kuni va bugun payshanba» mulohazasi oyning 8-kuni payshanba
bo’lgan kunlar uchungina rost bo’ladi;
Dizyunksiya – ikkita
A va
B mulohazalar dizyunksiyasi yoki mantiqiy yig’indisi «
A || B»
ko’rinishida yoziladi. Bu mulohaza
rost bo’lishi uchun
A yoki
B mulohazalardan hech
bo’lmaganda
bittasi rost bo’lishi etarli. («
||» amali «
yoki» deb o’qiladi).
Masalan, bugun