• 2-rasm. if(); else sh art operat o ri n ing bl o k sxemasi
  • in c lude in c lude int m ain ( )
  • 5-ma’ruza. Tarmoqlanuvchi jarayonlarni dasturlash Reja




    Download 90,95 Kb.
    bet3/7
    Sana20.09.2024
    Hajmi90,95 Kb.
    #271786
    1   2   3   4   5   6   7
    if - else operatori. Shart operatorining if - else ko’rinishi quyidagicha:

    if () 1>; else 2>;


    Bu yerda 0 qiymatidan farqli yoki true bo’lsa, 1>, aks holda 2> bajariladi. if-else shart operatori maz-muniga ko’ra algoritmning tarmoqlanuvchi blokini ifodalaydi: - shart bloki (romb) va 1> blokning «ha» shoxiga, 2> esa blokning «yo’q» shoxiga mos keluvchi amallar bloklari deb qarash mumkin (2-rasm).







    2-rasm. if(); else shart operatorining blok sxemasi
    Misol tariqasida diskriminantni hisoblash usuli yordamida ax2+bx+c=0 ko’rinishidagi kvadrat tenglama ildizlarini topish masalasini ko’raylik:


    #include stream.h>
    #include th.h>
    int main()
    {
    float a,b,c;
    float D,x1,x2;
    cout<<”ax^2+bx+c=0 tenglama ildizini topish. ;
    cout<<”\n a - koeffisiyentini kiriting: ”; cin>>a;
    cout<<”\n b - koeffisiyentini kiriting: ”; cin>>b;
    cout<<”\n c - koeffisiyentini kiriting: ”; cin>>c;
    D=b*b-4*a*c; if(D<0)
    {
    cout << Tenglama haqiqiy ildizga ega emas!”;
    return 0;
    }
    if (D==0)
    {
    cout << Tenglama yagona ildizga ega: ; x1=-b/(2*a);
    cout<<”\nx= <1;
    return 0;
    }
    else
    {
    cout << Tenglama ikkita ildizga ega: ;
    x1=(-b+sqrt(D))/(2*a);
    x2=(-b-sqrt(D))/(2*a);
    cout<<”\nx1= “<<x1;
    cout<<”\nx2= “<<x2;
    }
    return 0;
    }


    Programma bajarilganda, birinchi navbatda tenglama koeffi-siyentlari - a, b, c o’zgaruvchilar qiymatlari kiritiladi, keyin diskriminant - D o’zgaruvchi qiymati hisoblanadi. Keyin D qiymati-ning manfiy ekanligi tekshiriladi. Agar shart o’rinli bo’lsa, yaxlit operator sifatida keluvchi ‘{‘ va ‘}’ belgilari orasidagi operator-lar bajariladi va ekranga “Tenglama haqiqiy ildizlarga ega emas” xabari chiqadi va programma o’z ishini tugatadi (“return 0;” operatorini bajarish orqali). Diskriminant noldan kichik bo’lmasa, navbatdagi shart operatori uni nolga tengligini tekshiradi. Agar shart o’rinli bo’lsa, keyingi qatorlardagi operatorlar bloki bajariladi - ekranga “Tenglama yagona ildizga ega:” xabari, hamda x1 o’zgaruvchi qiymati chop etiladi va programma shu yerda o’z ishini tugatadi, aks holda, ya’ni D qiymati noldan katta holati uchun else kalit so’zidan keyingi operatorlar bloki bajariladi va ekranga “Tenglama ikkita ildizga ega: “ xabari, hamda x1 va x2 o’zgaruvchilar qiymatlari chop etiladi. Shu bilan shart operatoridan chiqiladi va asosiy funksiyaning return ko’rsatmasini bajarish orqali programma o’z ishini tugatadi.
    O’z navbatida 1> va 2> ham shartli operator bo’lishi mumkin. Ifodadagi har bir else kalit so’zi, oldindagi eng yaqin if kalit so’ziga tegishli hisoblanadi (xuddi ochiluvchi va yopiluvchi qavslardek). Buni inobatga olmaslik mazmunan xatolik-larga olib kelishi mumkin.
    Masalan:

    Download 90,95 Kb.
    1   2   3   4   5   6   7




    Download 90,95 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    5-ma’ruza. Tarmoqlanuvchi jarayonlarni dasturlash Reja

    Download 90,95 Kb.