Skip to main content

5-dars. Tarmoqlanuvchi algoritmlar

Dars maqsadlari:

  • Mantiqiy (Boolean) ma’lumot turi(true, false)

    • Boolean turi nima ekanligini tushunish.
    • Boolean qiymatlarining (true/false) hayotdagi qo'llanilishi va misollarini o'rganish.
  • Taqqoslash (Comparison) Operatorlari (==, !=, <, >, >=, <=)

    • Comparison operatorlar bilan tanishish.
    • Har bir operatorning qanday ishlashini batafsil tushunish.
  • Mantiqiy (Logical) Operatorlar: AND, OR, NOT

    • Logical operatorlar haqida tushuncha berish.
    • AND, OR, va NOT operatorlarining har birini batafsil tushunish.

Mantiqiy (Boolean) ma’lumot turi(true, false)

360_F_750325132_zcivjVYdAvpXoC3w9bzDQGXh2ho1yV44.jpg

Boolean turi, bir qarashda, juda oddiy tushuncha bo‘lib tuyuladi: bitta turdagi ma'lumotni saqlaydi – ha yoki yo‘q, to‘g‘ri yoki noto‘g‘ri, true yoki false. Ammo bu oddiylikning orqasida haqiqiy hayotdagi murakkab qarorlarni qabul qilishga yordam beradigan super kuch yotadi.

Boolean qiymatlarini real hayotdagi savollar va javoblarga o‘xshatish mumkin: “Ertaga yomg‘ir yog‘adimi?” – “True (ha)” yoki “False (yo‘q)”. Bu yerda biz Boolean qiymatlarini o‘rganish orqali har qanday “ha” va “yo‘q” javobli masalalarni hal qilishni o‘rganamiz.

Boolean ma’lumot turi nima?

Boolean — bu faqat ikkita qiymatga ega bo'lishi mumkin bo'lgan tur: true (rost) yoki false (yolg‘on). Tasavvur qiling, siz doimiy ravishda hayotdagi savollarga “ha” yoki “yo‘q” bilan javob berasiz. Boolean turi aynan shunday ishlaydi.

True (Rost)

True – haqiqatni anglatadi. Bu “ha” degan javobga o‘xshaydi. Haqiqiy hayotda biror narsaning to‘g‘ri ekanligini tasdiqlashda ishlatiladi.

Misol: Aytaylik, sizning telefoningiz zaryad qilinyapti. Siz undan so‘raysiz: “Telefonim zaryadda bo‘lyaptimi?” Telefoningiz “True” javobini beradi, ya’ni u zaryad olyapti.

False (Noto‘g‘ri)

False — haqiqatga zid bo‘lgan narsani anglatadi. Bu “yo‘q” degan javobga o‘xshaydi. Biror narsaning noto‘g‘ri yoki mavjud emasligini bildiradi.

Misol: Aytaylik, siz kechasi uyda yotibsiz va savol berasiz: “Bugungi uyga vazifamni qildimmi?” Agar agar qilmagan bo‘lsangiz, javob “False” bo‘ladi, ya'ni uyga vazifa qilmagan hisoblanasiz.

Boolean tushunchasini hayotda qanday ko‘ramiz?

Boolean turidagi savollarni kundalik hayotda ko‘p ishlatamiz. Mana bir nechta real hayotiy misollar:

  • Savol: “Bugun darsga borasanmi?”

    Boolean javob: True (ha), False (yo‘q).

  • Savol: “Bu film qiziqarli bo‘ldimi?”

    Boolean javob: True (ha), False (yo‘q).

  • Savol: “Kompyuteringiz ishlaydimi?”

    Boolean javob: True (ha), False (yo‘q).

Ko‘rib turganingizdek, Boolean qiymatlar aslida sizning har kuni duch keladigan barcha savollaringizga javob bo‘ladi. Boolean — bu oson, lekin kuchli tushuncha!

Boolean operatorlari yordamida qarorlar qabul qilish

Boolean qiymatlari bizga faqat “ha” yoki “yo‘q” bilan ishlashni o‘rgatadi. Lekin keling, qaror qabul qilishda yordam beradigan Boolean operatorlarini ko‘rib chiqaylik.

AND (Va) operatori

AND operatori faqat ikkala qiymat true (rost) bo‘lsa, true qaytaradi. Bu shunday holatlarga o‘xshaydi: “Men uyga yetib bordim va choy tayyorladim” – bu ikkala hodisa birgalikda sodir bo‘lishi kerak.

Misol: Aytaylik, siz uyda qolish yoki do‘stlaringiz bilan uchrashish haqida qaror qabul qilmoqchisiz. Siz: “Havo yaxshi VA vaqtim bo‘lsa, men uchrashuvga boraman”. Bu yerda ikkala shart to‘g‘ri bo‘lsa, ya’ni havo yaxshi VA vaqt bor bo‘lsa, uchrashuvga borasiz.

OR (Yoki) operatori

OR operatori faqat bitta qiymat true (rost) bo‘lsa ham true qaytaradi. Bu shunday savollarga o‘xshaydi: “Choy ichaman yoki qahva”.

Misol: Siz kinoga borishni xohlaysiz, lekin: “Yaxshi film chiqqanmi yoki vaqtim bormi?” Bu holatda, agar film yaxshi bo‘lsa yoki vaqt bo‘lsa, kinoga borasiz.

NOT (Emas) operatori

NOT operatori qiymatni teskariga aylantiradi: agar true bo‘lsa, false qiladi va aksincha.

Misol: Siz charchagansiz va bir savol berasiz: “Men charchaganmanmi?” NOT operatori bu savolga “true” bo‘lsa, javobni “false” qilib beradi – bu degani, siz aslida charchamadingiz!

Xulosa

Boolean turi dastlab oddiy ko‘rinsa ham, uning orqasida juda ko‘p qudrat va foyda bor. Boolean qiymatlari nafaqat dasturlashda, balki kundalik hayotimizda ham katta rol o‘ynaydi. Ularni yaxshi tushunib olsangiz, o‘zingiz uchun juda ko‘p muhim qarorlarni qabul qilishda foydali bo’ladi.

Taqqoslash (Comparison) Operatorlari (==, !=, <, >, >=, <=)

Ularni hayotimizdagi "kim katta?", "kim kichik?", "nimasi teng?" kabi savollarga javob berishda ishlatamiz. Operatorlar yordamida narsalarni solishtirishni o'rganamiz. Shunchaki kompyuter kabi o'ylang: narsalarni tahlil qilishni o'rganamiz. Ha, hayot — bu misolibir kod, biz esa uni "kompilyatsiya" qilishga harakat qilamiz. (bizning kodlarimiz yozib bo’lingan 😄)

== (Tenglik)

Tenglik operatori (==) ikki narsaning tengligini tekshiradi. Oson! Misol uchun, ikki do‘stning bo‘yi tengmi yoki yo‘qmi? Agar siz do‘stingizning bo‘yi 180 sm, sizniki ham shunchalik bo'lsa, sizlar tengsizlar (ha, haqiqiy do‘stlik tenglikka asoslanadi, to‘g‘rimi? 😉).

Misol:

  • 5 == 5 — ha, teng! Demak, bu to‘g‘ri.
  • 7 == 5 — yo‘q, teng emas. Bu noto‘g‘ri.

Siz va do‘stingiz kinoga bormoqchisiz. Ikkalangizda bitta maqsad bor: film! Agar siz do‘stingizga "Men Marvel filmini ko‘raman" desangiz va u ham xuddi shunday desa, sizlar bir maqsaddasiz — == operator. Agar u boshqacha filmni ko‘rmoqchi bo'lsa, u holda bu tenglik buziladi.

!= (Teng emaslik)

Bu operator narsalar teng emasligini bildiradi. Agar siz va do‘stingizning maqsadlaringiz mos kelmasa, demak, sizlar != — ya'ni teng emassizlar. Teng emaslik — bu bir-biridan farqlanish. Odamlar har doim ham bir xil fikrlayvermaydi, va bu — normal holat.

Misol:

  • 5 != 6 — ha, to‘g‘ri! Bu ikki son teng emas.
  • 5 != 5 — noto‘g‘ri. Ular teng, shuning uchun teng emaslik bu yerda ishlamaydi.

Do‘konga borganda siz va do‘stingiz boshqa-boshqa ichimlik tanlaysiz. Siz gazli suv, u esa sharbat oladi. Bu yerda sizlar bir xil narsani emas, balki har xil narsani tanladingiz — bu != operator.

< (Kichiklik)

Bu operator kichik bo‘lgan narsalarni taqqoslash uchun ishlatiladi. Masalan, do‘stingiz sizdan kichikmi yoki kimning telefonidagi xotira miqdori ko‘proq?

Misol:

  • 3 < 5 — to‘g‘ri, uch beshdan kichik.
  • 7 < 2 — yo‘q, noto‘g‘ri. Yetti ikki emas, ikki yettidan kichik.

Siz krossovka o‘lchamlarini solishtiryapsiz. Sizning o‘lchamingiz 40, do‘stingizniki esa 42. Bu yerda sizning o‘lchamingiz kichikroq. Bu misol < operatoriga to‘g‘ri keladi.

> (Kattalik)

Bu operator kattaroq bo‘lgan narsalarni solishtiradi. Masalan, sizning do‘stingizdan ko‘proq pulingiz borligini tasdiqlamoqchimisiz? Shunda siz kattalik operatoridan foydalanishingiz kerak.

Misol:

  • 10 > 8 — to‘g‘ri, o‘n sakkizdan katta.
  • 5 > 7 — noto‘g‘ri, besh yettidan katta emas.

Do‘konda navbatda turib, siz oldindasiz, do‘stingiz esa ortda. Bu yerda sizning navbatingiz >. Siz do‘stingizdan oldinsiz, ya’ni kattaroqsiz.

>= (Kattaroq yoki teng)

Bu operator katta yoki teng bo‘lishni anglatadi. Bunda quyidagi misolni keltirish mumkin:

Misol:

  • 7 >= 5 — to‘g‘ri, yetti beshdan kattaroq.
  • 6 >= 6 — to‘g‘ri, teng!

Tasavvur qiling siz sim karta olmoqchisiz. Bu holatda sizning yoshingiz 18-ga teng yoki 18-dan katta bo’lishi kerak. Shu holatda katta yoki teng (>=) operatori to’gri keladi.

<= (Kichikroq yoki teng)

Bu operator kichikroq yoki teng bo‘lishni bildiradi. Bunda quyidagi misolni keltirish mumkin:

Misol:

  • 5 <= 7 — to‘g‘ri, besh yettidan kichikroq.
  • 9 <= 9 — ha, teng.

Siz bolalar shifoxonasiga bordingiz. Agar siz u yerda davolanmoqchi bo’lsangiz sizning yoshingiz 17-ga teng yoki undan kichik bo’lishi kerak. Shu holatda kichik yoki teng (<=) operatori to’gri keladi.

Xulosa

Endi siz narsalarni oson va qiziqarli tarzda solishtira olasiz. Operatorlar yordamida qanday qilib tenglik va teng emaslikni tekshirish, kichik yoki kattalikni aniqlash haqida o'rgandik.

Mantiqiy (Logical) Operatorlar: AND, OR, NOT

Logical Operatorlar nima?

Hayotda har kuni qarorlar qabul qilamiz: biror ishni qilish yoki qilmaslik, borish yoki bormaslik. Logical operatorlar ana shu qarorlarni matematik tarzda ifodalashga yordam beradi. Faqat hayotdagi emas, mantiqiy qarorlar qabul qilishda ham ularni ishlatamiz. Masalan:

  • "Agar kun quyoshli bo'lsa va meni kimdir choyga taklif qilsa, men parkga boraman."
  • "Agar do'stlarim kino ko'rishni taklif qilsa yoki mening sevimli filmim ekranga chiqqan bo'lsa, men kinoga boraman."

Bu fikrlarning har biri logical operatorlar bilan ifodalanadi.


AND Operatori (&&) – "Va"

Mantiqiy AND (Va) operatori ikki yoki undan ko'p shartni tekshiradi. Agar hamma shartlar rost bo'lsa, natija rost bo'ladi. Agar bitta shart yolg'on bo'lsa, natija yolg'on bo'ladi.

Misol: Tasirli va oddiy misol sifatida do'konga kirganingizda sizga ikki shart kerak bo'ladi:

  1. Do'kon ochiq bo'lishi kerak.
  2. Sizda pul bo'lishi kerak.

Agar do'kon ochiq bo'lsa va sizda pul bo'lsa, siz xarid qila olasiz. Ikkala shart ham to'g'ri bo'lganda natija ham to'g'ri (ya'ni xarid qilasiz). Biroq, agar do'kon yopiq bo'lsa yoki sizda pul bo'lmasa, xarid qilishning iloji yo'q.

Misol: Agar sizning barcha hujjatlaringiz tartibda va test sinovlarini muvaffaqiyatli topshirgan bo'lsangiz, siz universitetga qabul qilinasiz.

Formula:

Tartibda_hujjatlar && Testdan_otdi = Universitetga_qabul_qilinadi

OR Operatori (||) – "Yoki"

OR operatori shartlardan birortasi rost bo'lsa, natija rost bo'lishini ta'minlaydi. Faqat barcha shartlar yolg'on bo'lgandagina natija yolg'on bo'ladi.

Misol: Tassavvur qiling, siz dam olish kunida biror narsa qilishni rejalashtirgan bo'lsangiz:

  • Agar dengiz bo'yiga borish yoki tog'larga chiqish imkoniyati bo'lsa, siz dam olishingiz mumkin.

Birinchi shart bajarilmasa ham, ikkinchisi amalga oshsa, siz baribir dam olasiz.

Misol: Haqiqiy hayotda: Agar siz do'stlaringiz bilan uchrashmoqchi bo'lsangiz yoki televizorda sevimli filmlar ketayotgan bo'lsa, siz kechani yoqimli o'tkazasiz.

Formula:

Do'stlar_bilan_uchrashish || Sevimli_film_tvda = Kecha_yoqimli_o'tadi

NOT Operator (!) – "Emas"

Tushuntirish:

NOT operatori hamma narsani teskari holatga keltiradi. Agar biror narsa rost bo'lsa, NOT uni yolg'on qiladi va aksincha.

Misol: Tassavvur qiling, siz bayramni qoldirishni rejalashtirgansiz:

  • "Men dam olmayman agar yomg'ir yog’masa." Bu degani: "Agar yomg'ir bo'lsa, men dam olaman."

NOT operatori bilan har qanday shartni aksiga chiqarish mumkin. Agar u rost bo'lsa, u yolg'on bo'ladi.

Misol: "Men uyda qolaman, agar do'stlarim meni chaqirmasa."

Formula:

!Do'stlar_chaqiradi = Uyda_qolaman

Mantiqiy Operatorlarni qo'llash

Logical operatorlar hayotdagi ko'plab qarorlar qabul qilishda qo'llanadi. Ular yordamida biz turli shartlar ostida natijalarni tekshirishimiz mumkin. Ayniqsa, ko'p tanlovli vaziyatlarda ularni ishlatish foydali bo'ladi. Masalan, imtihon shartlarini bajarish, dam olishni rejalashtirish yoki do'stlar bilan uchrashish kabi holatlarda.


Xulosa

Logical operatorlar oddiy qarorlar qabul qilishdan tortib murakkab tahlillargacha juda ko'p joylarda ishlatiladi. Ushbu dars orqali siz AND, OR, va NOT operatorlari bilan qanday qilib aniq qarorlar chiqarishni o'rgandingiz.

Uyga vaizfa

  1. Ovoz berish huquqini tekshirish: Agar odamning yoshi 18 dan katta yoki teng bo‘lsa, “Ovoz berish huquqiga ega” degan xabarni chiqaring.
  2. Chegirma huquqi: Agar mijozning xaridi $100 dan ko‘p bo‘lsa, 10% chegirma qo‘llansin.
  3. Harorat ogohlantirishi: Agar harorat 0 dan past bo‘lsa, “Havo muzlayapti” degan xabar chiqsin.
  4. Yosh guruhini aniqlash: Agar odamning yoshi 13 va 19 orasida bo‘lsa, “O‘smir” degan xabar chiqsin.
  5. Bo‘linuvchanlikni tekshirish: Agar son 5 ga bo‘linsa, “5 ga bo‘linadi” deb chiqaring.
  6. Juft yoki toq son: Agar son juft bo‘lsa, “Juft son” degan xabar chiqsin.
  7. Imtihondan o‘tish: Agar talabaning bali 50 yoki undan yuqori bo‘lsa, “Imtihondan o‘tdi” deb chiqaring.
  8. Dam olish kuni tabrigi: Agar bugun yakshanba bo‘lsa, “Dam olish kuning muborak!” degan xabar chiqsin.
  9. Haydovchilik huquqi: Agar odamning yoshi 16 yoki undan katta bo‘lsa, “Haydovchilik huquqiga ega” deb chiqaring.
  10. Kecha yoki kun bo‘lishini aniqlash: Agar soat 18:00 dan keyin bo‘lsa, “Kech” deb chiqaring.
  11. Sport musobaqasi: Agar sportchining natijasi 100 metrdan kam bo‘lsa, “Chempion bo‘lishi mumkin” deb chiqaring.
  12. Mevali kun: Agar bugun dushanba bo‘lsa, “Olma kuni” deb chiqaring.
  13. Suv ichish eslatmasi: Agar harorat 30 dan yuqori bo‘lsa, “Ko‘proq suv iching” deb chiqaring.
  14. Juda baland narxni tekshirish: Agar mahsulot narxi $500 dan yuqori bo‘lsa, “Narxi baland” deb chiqaring.
  15. Tavsiyalar: Agar baho 5 dan kam bo‘lsa, “Qo‘shimcha tayyorlaning” deb chiqaring.
  16. Yashil signal: Agar signal rangi yashil bo‘lsa, “Yo‘l ochiq” deb chiqaring.
  17. Talaba kirish huquqi: Agar talaba ID kartasi bilan kelgan bo‘lsa, “Kirishga ruxsat” deb chiqaring.
  18. Yil faslini aniqlash: Agar oy nomi mart, aprel yoki may bo‘lsa, “Bahor” deb chiqaring.
  19. Elektr narxi hisoboti: Agar foydalanilgan energiya 100 kVt soatdan ko‘p bo‘lsa, “Qo‘shimcha to‘lov mavjud” deb chiqaring.
  20. Tug‘ilgan kun tabrigi: Agar bugun kiritilgan sana bilan mos kelsa, “Tug‘ilgan kun muborak!” deb chiqaring.