• 5.9-jadval. AND ().
  • 5.10- jadval. OR (||).
  • Информатика




    Download 7,16 Mb.
    Pdf ko'rish
    bet147/308
    Sana30.05.2024
    Hajmi7,16 Mb.
    #257687
    1   ...   143   144   145   146   147   148   149   150   ...   308
    Bog'liq
    Информатика

    Mantiqiy operatorlar. 
    Boshqaruv strukturalarida shart qismi bor dedik. Shu 
    paytgacha ishlatgan shartlarimiz ancha sodda edi. Agar bir necha shartni 
    tekshirmoqchi bo`lganimizda ayri-ayri shart qismlarini yozardik. Lekin C++ da bir 
    necha sodda shartni birlashtirib, bitta murakkab shart ifodasini tuzishga yordam 
    beradigan mantiqiy operatorlar mavjuddir. Bular mantiqiy VA – [&&] (AND), 
    mantiqiy YOKI – [||] (OR) va mantiqiy INKOR – [!] (NOT). Masalan, faraz 
    qilaylik, bir amalni bajarishdan oldin, ikkala shartimiz (ikkitadan ko`p ham bo`lishi 
    mumkin) true (haqiqat) bo`lsin.
    if (i < 10 && l >= 20){...} 


    231 
    Bu yerda {} qavslardagi ifodalar bloki faqat i 10 dan kichkina va l 20 dan 
    katta yoki teng bo`lgandagina ijro qilinadi.
    5.9-jadval. AND (&&). 
    ifoda1 
    ifoda2
    ifoda1 && ifoda2 
    false (0)
    false (0)
    false (0) 
    true (1)
    false (0)
    false (0) 
    false (0) 
    true (1) 
    false (0) 
    true (1)
    true (1)
    true (1) 
    Boshqa misol: 
    while (g<10 || f<4){...} 
    Bizda ikki o`zgaruvchi bor (g va f). 
    Birinchisi
    10 dan kichkina yoki 
    ikkinchisi 4 dan kichkina bo`lganda while ning tanasi takrorlanaveradi. Ya`ni shart 
    bajarilishi uchun eng kamida bitta true bo`lishi kerak, AND da (&&) esa hamma 
    oddiy shartlar true bo`lishi kerak. 
    5.10- jadval. OR (||). 
    ifoda1
    ifoda2
    ifoda1 || ifoda2 
    false (0) 
    false (0) 
    false (0) 
    true (1)
    false (0)
    true (1) 
    false (0) 
    true (1) 
    true (1) 
    true (1)
    true (1)
    true (1) 
    [&&] va [||] operatorlari ikkita argument olishadi. Bulardan farqli o`laroq, [!] 
    (mantiqiy inkor) operatori bitta argumet oladi, va bu argumentidan oldin qo`yiladi. 
    Inkor operatori ifodaning mantiqiy qiymatini teskarisiga o`zgartiradi. Ya`ni false ni 
    true deb beradi, true ni esa false deydi. Masalan, 
    if ( !(counter == finish) ) 
    cout << student_bahosi << endl; 
    Agar counter o`zgaruvchimiz finish ga teng bo`lsa, true bo`ladi, bu true 
    qiymat esa [!] yordamida false ga aylanadi. false qiymatni olgan if esa ifodasini 
    bajarmaydi. Demak ifoda bajarilishi uchun bizga counter finish ga teng bo`lmagan 
    holati kerak. Bu yerda [!] ga tegishli ifoda () qavslar ichida bo`lishi kerak. Chunki 


    232 
    mantiqiy operatorlar tenglilik operatorlaridan kuchliroqdir. Ko`p hollarda [!] 
    operatori o`rniga mos keladigan mantiqiy tenglilik yoki solishtirish operatorlarini 
    ishlatsa bo`ladi, masalan, yuqoridagi misol quyidagi ko`rinishda bo`ladi: 
    if (counter != finish) 
    cout << student_bahosi << endl; 
    5.11- 

    Download 7,16 Mb.
    1   ...   143   144   145   146   147   148   149   150   ...   308




    Download 7,16 Mb.
    Pdf ko'rish