• Mantiqiy ko„paytirish amali
  • Mantiqiy qo„shish amali
  • Mantiqiy inkor amali
  • Matematikadagi taqqoslash amali C++ dasturlash tilida yozilishi




    Download 2,67 Mb.
    Pdf ko'rish
    bet40/173
    Sana16.05.2024
    Hajmi2,67 Mb.
    #238775
    1   ...   36   37   38   39   40   41   42   43   ...   173
    Bog'liq
    Tarixi 37 bet

     
    Matematikadagi taqqoslash amali C++ dasturlash tilida yozilishi
    .
    Nomi 
    C++ da ifodalanishi 
    Misol 
    Natija 
    Tenglik 
    == 
    12==50 
    5==5 
    False 
    True 
    Teng emas 
    != 
    100!=50 
    50!=50 
    True 
    False 
    Katta 

    100>50 
    50>50 
    True 
    False 
    Katta yoki 
    teng 
    >= 
    100>=50 
    50>=50 
    True 
    True 
    Kichik 

    100<50 
    50<50 
    True 
    False 
    Kichik yoki 
    teng 
    <= 
    100<=50 
    50<=50 
    False 
    True 
    Mantiqiy ko„paytirish amali 
    Amalning umumiy ko‗rinishi quyidagicha: a&&b. 


    55 
    Bunda a va b lar mantiqiy ifodalar yoki mantiqiy o‗zgaruvchilar bo‗lib, amal 
    natijasi faqata va b larning har ikkalasi rost bo‗lgandagina rost, qolgan barcha 
    hollarda yolg‗on bo‗ladi. Bu amal matematikadagi konyunksiya mantiqiy amali 
    bilan teng kuchli, ya‘ni ikkita ampersant (&&) belgisi ―va‖ so‗zini almashtiradi. 
    Misollar:
    (37-21)!=13&&49/7==4+3 ifodaning qiymati rost.
    x=15; x>20 && x!=16 ifoda qiymati yolg‗ondir. 
    Mantiqiy qo„shish amali 
    Amalning umumiy ko‗rinishi quyidagicha: a ||b 
    Bunda ava b lar mantiqiy ifodalar yoki mantiqiy o‗zgaruvchilar. Amal 
    natijasi a va b larning har ikkilasi yolg‗on bo‗lgandagina yolg‗on, boshqa barcha 
    hollarda rost bo‗ladi. Bu amal matematikadagi dizyunksiya amaliga teng kuchli, 
    ya‘ni || belgilari ―yoki‖ so‗ziga mos keladi. 
    Masalan, 
    a=-16; b=32;2*a-b<0||b+a<1; (52+a>5+b)||true ifodalarning qiymatlari rost 
    0||a-b>0 ifodaning qiymati esa yolg‗ondir. 
    Mantiqiy inkor amali 
    Amalning umumiy ko‗rinishi qo‗yidagicha: !a 
    Bunda a mantiqiy ifoda yoki mantiqiy o‗zgaruvchi bo‗lib, agar a ning 
    qiymati true bo‗lsa, amal natijasi false, amal natijasi false bo‗lsa, true bo‗ladi. 
    Masalan, 
    !true; ! (48/4+6==3*6); !3 ifodalar qiymatlari false 
    ! (9*8==64); !(3*8==20 && 100%4==2); 0! ifodalarning qiymatlari esa 
    true bo‗ladi. 
    C++ dasturlash tili mantiqiy ifoda o‗rnida 0 soni yoki qiymati nolga teng 
    bo‗lgan ifoda bo‗sa, uni false deb, 0 dan farqli ixtiyoriy sonni yoki qiymati noldan 
    farqli ifodani true deb qabul qiladi. 
    Mantiqiy ifodani mantiqiy o‗zgaruvchiga qiymat sifatida berish ham 
    mumkin. 
    Mantiqiy o`zgaruvchilar bool kalit so`z bilan e`lon qilinadi. Bu kalit so`z 
    matematik mantiq ilmiga asos solgan ingliz matematigi Jorj Bul sharafiga shunday 
    tanlangan. 
    Misol tariqasida quyidagi dasturni tahlil qiling. 
    #include  
    using namespace std; 
    int main( ) 



    56 
    int x, y, z, x1, y1, z1; 
    float a, b, c; 
    bool n, m, k, p, q; 
    x=16; y=30; z=21;a=19.25; b=0.75; c=40.16; 
    x1=3*z-(y+2); y1=c; n=a-b>b-c; m=(x+y)/2!=z+x1;k=y1-x==z+13; 
    p=k||39-z&&n||x&&!m; 
    q=!p&&!0||c-a>=0||!false&&!(n||m); 
    cout <<"n="<return 0; 

    Bu dasturda n, m, k, p, q o‗zgaruvchilarning turi mantiqiy tur bo‗lib, 
    ular mantiqiy ifodalarni qiymat sifatida olmoqda. 
    Dastur javobi quyidagicha bo`ladi. 
    n=1
    m=1
    k=0 
    p=1
    q=1 
    Murakkab mantiqiy ifodalarni yozishda amalning ikki tarafidan joy 
    qoldirmasa ham bo`ladi. Shuningdek, amalning ikki tarafidagi mantiqiy ifodalarni 
    qavsga olish yoki olmaslikning ham ahamiyati yo`q. Lekin dastur tushunarli 
    bo‗lishi uchun mantiqiy amallarning har ikkala tarafidan bittadan (agar kerak 
    bo`lsa 
    xohlagancha) 
    bo`sh 
    joy 
    qoldirish, 
    zarurat 
    bo`lganda 
    oddiy 
    mantiqiyifodalarni qavsga olish maqsadga muvofiq. 
    Masalan, quyidagi to‗rtta mantiqiy ifodani ham kompilyator xato demaydi. 
    p=k+3>0||x+y-1<=16 && 1; 
    p=k+3>0 || x+y-1 <= 16&& 1; 
    p=(k+3>0)||(x+y-1<=16) && 1; 
    p=(k+3>0) || (x+y-1<=16) && 1; 
    Eslatma: hatto arifmetik amallarning ikkala tarafidan bittadan bo`sh joy 
    (probel) qoldirilsa, dasturni tushunish yengil bo`ladi. Lekin bu aytilganlar qat‘iy 
    talab emas. 
    Masalan, x+3*y+11/3nix + 3 * y + 11/3 kabi yozish ma`qulroq. 
    Biz hozirgacha tanishgan amallarning bir-birlariga nisbatan ustunlik darajasi 
    va bosqichlarga bo`linishi quyida keltirilgan.
    (i++,i--), (++i,--i), !, (*,/,%),(+,-), (<,<=,>,>=), (==,!=), &&, ||, ?:,
    (=,*=, /=,+=,-=,%=) 


    57 
    Bunda qavsga olingan amallar bir bosqich amallari hisoblanadi. Bir bosqich 
    amallari o`rtasida ustunlik daraja bo`lmaydi. Demak, bu amallar ifodada aralash 
    holda kelsa, eng birinchi i++, i-- amallar, eng oxirida =, *=, /=, +=, -=, %= 
    amallar bajariladi. 
    Misollar: Quyidagi shartlar bajarilsa true, aks holda false qiymat oladigan 
    mantiqiy ifodalarni tuzing. 
    a-juft, b esa toq son. 
    a,b,c sonlarning hech bo`lmaganda bittasi musbat. 
    a,b,c mantiqiy o`zgaruvchilardan hech bo`lmaganda bittasi chin. 
    Javoblar: 
    a%2==0&& b%2==1; 
    2. a>o || b>0 || c>0 
    3. a || b || c = true 

    Download 2,67 Mb.
    1   ...   36   37   38   39   40   41   42   43   ...   173




    Download 2,67 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Matematikadagi taqqoslash amali C++ dasturlash tilida yozilishi

    Download 2,67 Mb.
    Pdf ko'rish