• While takrorlash operatori.
  • For takrorlash operatori.
  • Break va continue.
  • O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi buxoro davlat universiteti




    Download 221 Kb.
    bet10/25
    Sana29.01.2024
    Hajmi221 Kb.
    #147850
    1   ...   6   7   8   9   10   11   12   13   ...   25
    Bog'liq
    O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi b

    Takrorlash operatorlari. 
    Goto takrorlash operatori. Goto operatori boshqa barcha takrorlash operatorlari 
    uchun asosiy mezon bo’lib xizmat qiladi. Lekin shu bilan birgalikda unda juda
    ko’p o’tishlar amalga oshiriladi va buning natijasida dastur chalkashliklarga yo’l 
    qo’yadi.Professional dasturchilar odatda unda foydalanihmaydi, lekin C# tilini

    29
    mukammal o’rganish uchun bu operator haqida qisqacha aytib o’tamiz va unga 


    doir misol:


    using

    System;
    using

    System.Text;
    namespace
    ok
    {
    class
    Program

    {


    static

    void


    Main(
    string

    [] args)



    int

    a,b=0;
    a1: a = 


    int
    .Parse(

    Console
    .ReadLine()); 


    Console
    .WriteLine(
    "a="
    );

    if
    ((a > 99) && (a < 1000)){ 


    b = a % 10;


    b += a / 100; 
    b+=(a/10)%10;
    Console

    .WriteLine(


    "a sonning raqamlar yig'indisi!!! "
    +b);

    else
    {


    Console


    .WriteLine(
    "musbat son kiriting!"
    ) ; }
    goto

    a1;


    Console
    .ReadKey(); 
    }}
    }

    }
    Bu dastur berilgan a sonning raqamlar yig’indisini 


    hisoblaydi.

    While takrorlash operatori. 
    Bu takrorlash operatori “shart qanoatlantiradi – ish davom etadi” qoidasi 

    bo’yicha ishlaydi. Bunda bool tipiga tegishli qiymat qaytariladi.


    30
    while(shart) amal; 




    while(shart) {

    amal1;

    amal2;

    }
    Misol:

    using
    System; 


    using
    System.Text; 

    namespace


    factor

    {

    class


    Program

    {


    static

    void


    Main(
    string

    [] args)



    int

    n, k = 5, t = 0;


    n = 
    int
    .Parse(

    Console
    .ReadLine());


    Console

    .WriteLine(


    "son kiriting! N="
    );

    while
    (k <= n) 


    {
    t = t + (n / k); 
    k = k * 5;

    Console

    .WriteLine(


    "n "

    + t +
    " ta nol bilan tugaydi!"


    );

    Console
    .ReadKey(); 


    }
    }

    }
    Quyida berilgan dastur berilgan son nechta nol bilan tugashini hisoblaydi. 




    31
    Agar shart tekshirilganda rost bo’lsa, instruksiyalar bloki bajariladi, aks holda 


    while dastur ishlashini to’xtatadi.


    do … while takrorlash operatori. 
    Shunday hollar bo’ladiki, while takrorlash operatori sizning talablaringizga javob
    bermaydi, bunday hollarda do… while takrorlash operatoridan foydalanish 
    qulayroq. Masalan oddiy maxgacha ko’paytirish maslasini ko’rinishi:
    using

    System;
    using

    System.Text;
    namespace
    aaaa
    {
    class
    Program

    {


    static

    void


    Main(
    string

    [] args)



    int

    s = 1;
    int


    max = 5; 

    int


    i = 1;
    do




    s *= i;
    i++; 
    }
    while
    (i <= max); 

    Console


    .WriteLine(
    " s="

    +s);
    Console


    .ReadKey(); 
    }
    }

    }
    Natija : Berilgan sonlar ko’paytmasini chop etadi! 




    32
    Do … While operatori “amal bajar, agar shart bajarilsa, yana bir bor bajar” 


    qoidasi bo’yicha ishlaydi. While operatori bu holda birorta ham amal bajarmas edi.


    For takrorlash operatori. 
    Agar yana bir bor yuqoridagi barcha takrorlash operatorlari (while, 

    do…while, goto) ga e’tibor bersak, shuni aniqlash mumkinki, ularda doimo oldin i


    o’zgaruvchisi inisializatsiya (nomlash) qilinadi, keyin u 1 taga ortiriladi va 
    takrorlanish sharti (i
    instruksiyaga birlashtiradi. 


    for(inisializatsiya, shart, bajarilish tartibi) amal; 

    yoki 

    For ([inisializatsiya(nomlash) ]; [ifoda] ; [i ni ortirish])



    instruksiya 


    Yuqoridagi misolni for takrorlanish operatori bilan yechamiz : 
    using
    System; 

    using
    System.Text; 


    namespace
    aaaa

    {

    class


    Program

    {


    static

    void


    Main(
    string

    [] args)



    int

    i,s=1;
    int


    max = 6; 

    for


    (i=1;i
    s=s*i; 
    Console

    .WriteLine(


    "Ko'paytmasi s="
    +s);

    Console
    .ReadKey(); 




    33


    }
    }


    Natija : Berilgan sonlar ko’paytmasini chop etadi! 


    Break va continue. 
    Dastur bajarilishida shunday holatlar bo’ladiki, dastur ishini to’xtashish yoki 

    ma’lum qismini bajarmaslik zarur bo’lib qoladi. Bunday hollarda break va


    continue instruksiyalaridan foydalanish qulay. Agar sizga dastur ishini ma’lum 
    paytda (holatda) to’xtatish, oxirigacha bajarmaslik zarur bo’lsa, u holda break dan
    foydalanish kerak : 


    using System; 

    class Values 



    static void Main( ) 



    //oddiy sonlar uchun belgi qo’yamiz 

    bool a; 

    for(int i =100; i > 1; i --) 



    //belgi qo’yamiz 

    a = true; 

    for (int j = i-1; j > 1; j--) 

    //agar nol qoldiqli bo’luvchi bo’lsa

    if(i%j == 0) 



    //belgini tashlaymiz 

     a = false; 

    // agar birorta bo’luvchi topilmasa 

    //nol qoldiqli 

    if(a) 

    34



    Console.WriteLine("(0} = oddiy son ", i);}} 
    Continue instruksiyasi dastur ishini to’xtatmaydi, balki, u shu takrorlanish
    bajaradigan amalni bekor qiladi xolos. 


    for (int j = 0; j 



    if (j%2 = = 0) 

    continue; 

    Console.WriteLine("{0}", j);} 
    Bu misol ekranga barcha 100 gacha bo’lgan toq sonlarni chiqarib beradi.Agarda 
    tekshirish paytida juft son kelib qolsa, u holda hech qanday amal bajarilmaydi va
    takrorlanish birta keyinga o’tkaziladi. 



    Download 221 Kb.
    1   ...   6   7   8   9   10   11   12   13   ...   25




    Download 221 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi buxoro davlat universiteti

    Download 221 Kb.