• 4.4. [N…M] oraliqdagi sonlarni ko‘paytirish
  • BigInteger da siz 1000! ni ham, 10000! va hattoki 100000! hisoblay olsiz. Bu  biroz vaqt oladi, ammo OverflowException




    Download 6,33 Mb.
    Pdf ko'rish
    bet82/194
    Sana20.02.2024
    Hajmi6,33 Mb.
    #159185
    1   ...   78   79   80   81   82   83   84   85   ...   194
    BigInteger da siz 1000! ni ham, 10000! va hattoki 100000! hisoblay olsiz. Bu 
    biroz vaqt oladi, ammo OverflowException natija paydo bo‘lmaydi. BigInteger klassi 
    katta imkoniyatlarga ega, ammo int va long ga qaraganda sekin ishlaydi. Bizda "big 
    decimal" degan klass mavjud emas, lekin .NET FRAMEWORK da faqatgina "big 
    integer" klass mavjud . 
    4.4. [N…M] oraliqdagi sonlarni ko‘paytirish 


    Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
    139 
    Do-while sikli bilan ishlashga doir misol ko‘rib chiqamiz. Bu misolda ko‘zlangan 
    maqsad [N…M] oraliqdagi sonlarni ko‘paytirishdan iborat. Quyida ushbu masalaning 
    yechimi ko‘rsatilgan. 
    Bu misol kodida num ning qiymatlarini n dan boshlab, m gacha ketma – ket 
    ravishda oshirib borib, product o‘zgaruvchisiga ularning ko‘paytmasini berib 
    boramiz. Biz foydalanuvchidan n va m sonlarini kiritishni so‘raymiz va n, m dan kichik 
    bo‘lishi kerak. Aks holda dastur natijasi sifatida n ni chiqarib beradi. 
    Agar n=2 va m=6 sonlari uchun dasturni ishlatsak, quyidagi natijaga erishamiz: 
    Ehtiyot bo‘ling: ko‘paytma juda tez o‘sadi, shuning uchun siz long tipining 
    o‘rniga BigInteger dan foydalanishingiz mumkin, chunki aniq natijaga erishish uchun 
    va long tipidan oshib ketishi mumkin. Ko‘rib chiqilmagan dastur kodi qiymat oshib 
    ketganda xatolikni ko‘rsatmasdan xato javob chiqarib berishi mumkin. Bundan siz 
    tekshirish kalit so‘zi” orqali xatolikni aniqlashingiz mumkin. 
    5. For sikli 


    Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
    140 
    For sikli while va do - while sikliga qaraganda bir – oz murakkab, lekin boshqa 
    tomondan for sikli orqali ancha murakkab masalalarni boshqa sikllarga qaraganda 
    kam kod bilan amalga oshiriladi. Quyida sikl jarayonini sintaksisi va blok sxemasi 
    berilgan. 
    Ular (A) boshlash bloki, (B) shart, (D) tana va o‘zgaruvchilarning ishga 
    tushishi(C) bloklarini o‘z ichiga oladi. Biz ular haqida qisqacha ma’lumot beramiz. 
    Oldin keling for siklining dastur kodini ko‘rib chiqaylik: 
    Ushbu kod sanagichning boshlang‘ich qiymati ( misol uchun int i =0 ), mantiqiy 
    shart (i<10), hisoblagichning ishga tushishi (i++, yoki i-- bo‘lishi mumkin misol uchun 
    i=i+3 ) va siklning tana qismidan iborat.
    Bu siklning hisoblagichi siklning boshqa tiplaridan farq qiladi.
    Ko‘pincha hisoblagich qiymati berilgan dastlabki qiymatdan oxirgi 
    qiymatgacha tartib bo‘yicha o‘zgaradi. Siklda berilgan qiymatni oxiriga borguncha 


    Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
    141 
    hisoblaydi misol uchun 1 dan 100 gacha. Kod ishga tushishi boshlanishidan oldin 
    odatda for sikli necha marta takrorlanishlar soni aniq. For sikli har birini ola oladi 
    yoki oddiy sikl qiymatlari tartib bilan ko‘tarilishi yoki tushishi yoki biz bergan qiymat 
    asosida oshishi yoki kamayishi mumkin. Ehtimol birinchi siklning qiymati oshadi va 
    boshqasi kamayadi. Hattoki ikkini ko‘paytirish natijasida siklning natijasi 2 dan 1024 
    gacha o‘zgarishi mumkin. Keyingisida faqat sikl qo‘shishni o‘z ichiga ola olmaydi, 
    ammo boshqa arifmetik jarayonini bajaradi.
    For siklining elementlarida hech narsa bo‘lmasligi mumkin va bunda sikl 
    cheksiz davom etadi va u quyidagicha: 

    Download 6,33 Mb.
    1   ...   78   79   80   81   82   83   84   85   ...   194




    Download 6,33 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    BigInteger da siz 1000! ni ham, 10000! va hattoki 100000! hisoblay olsiz. Bu  biroz vaqt oladi, ammo OverflowException

    Download 6,33 Mb.
    Pdf ko'rish