• Algoritm (“sikl” bloki)
  • O’zgaruvchilarni kamayish sikli
  • O’zgaruvchan sikl
  • Sikl necha marta takrorlanadi
  • So’ng shartli tarorlanish operatori
  • So’ng shartli takrorlanish blok-sxemasi
  • So’ng shartli takrorlanish dasturi
  • Dasturlash 1 swd1316 Takrorlanish operatorlari 04




    Download 5.24 Mb.
    bet2/2
    Sana16.12.2022
    Hajmi5.24 Mb.
    #35148
    1   2
    Bog'liq
    1) 4-mavzu (Tarorlanish operatorlari)
    dars ishlanma yuzi, KURGAZMA SEPTEMBER, REQUEST TO THE UN TO SUPPLEMENT THE MATERIAL OF THE, dars tahlili PDF, Навоий ғазал

    Masala.

    • .
    • Butun sonlarning kvadratlarini va kublarini ekranga chiqaring. 1 dan 8 gacha (a dan b gacha). Xossa: bir xil harakatlar 8 marta bajariladi

    Algoritm

    • Boshlash
    • i, i2, i3
    • Tamom
    • yo’q
    • ha
    • i <= 8
    • i = 1;
    • i = i + 1;
    • i2 = i * i;
    • i3 = i2 * i;
    • Shartni tekshirish
    • Kvadrat va kubni hisoblash
    • Natijani chiqarish
    • i ni qiymatini bittaga oshirish

    Algoritm (“sikl” bloki)

    • Boshlanish
    • i, i2, i3
    • Tamom
    • i2 = i * i;
    • i3 = i2 * i;
    • i = 1,8
    • “Sikl" bloki
    • Sikl tanasi

    Dastur

    • int main()
    • {
    • int i, i2, i3;
    • for (i=1; i<=8; i++)
    • {
    • i2 = i*i;
    • i3 = i2*i;
    • printf("%4d %4d %4d\n", i, i2, i3);
    • }
    • }
    • for (i=1; i<=8; i++)
    • {
    • i2 = i*i;
    • i3 = i2*i;
    • printf("%4d %4d %4d\n", i, i2, i3);
    • }
    • Boshlang’ich qiymat
    • Oxirgi qiymat
    • Teng ustunlar
    • Takrorlanish rost qiymatda ishlaydi
    • Sikl
    • Sikl tanasining boshi
    • Sikl tanasining oxiri
    • for (i=1; i<=8; i++)
    • i2 = i*i;
    • i3 = i2*i;
    • printf("%4d %4d %4d\n", i, i2, i3);
    • Sikl tanasi

    O’zgaruvchilarni kamayish sikli

    • Masala. Butun sonlarni kublarini va kvadratlarini ekranga chiqaring. (8 dan 1 gacha kamayish tartibda).
    • Xossa: o’zgaruvchi sikl kamayishi kerak.
    • Yechim:
    • for ( )
    • {
    • i2 = i*i;
    • i3 = i2*i;
    • printf("%4d %4d %4d\n", i, i2, i3);
    • }
    • i = 8; i >= 1; i --

    O’zgaruvchan sikl

    • for (; ; )
    • { // sikl tanasi }
    • Misollar
    • for (a = 2; a < b; a+=2) { ... }
    • for (a = 2, b = 4; a < b; a+=2) { ... }
    • for (a = 1; c < d; x++) { ... }
    • for (; c < d; x++) { ... }
    • for (; c < d; ) { ... }

    O’zgaruvchan sikl

    • Xossa:
      • Shart siklining keying qadami boshlanishdan oldin tekshiriladi, agar u yolg’on bo’lsa sikl bajarilmaydi;
      • Agar shart yolg’on bo’lmasa, sikl to’xtovsiz ishlashi mumin (sikl ichiga tushib qoladi)
      • Agar sikl tanasida bitta amal bo’lsa qavsni {} qo’ymasa ham bo’ladi.
    • for(i=1; i<8; i++) { i--; }
    • Sikl tanasida sikl o’zgaruvchilarni o’zgartirish tavsiya etilmaydi
    • !
    • for (i = 1; i < 8; i++) a += b;

    O’zgaruvchan sikl

    • for (i=8; i>=1; i--) printf("Привет");
    • printf("i=%d", i);
    • for (i=1; i<=8; i++) printf("Salom");
    • printf("i=%d", i);
    • i=9
    • i=0

    Sikl necha marta takrorlanadi

    • a = 1;
    • for(i=1; i<4; i++) a++;
    • a = 4
    • a = 1; b=2;
    • for(i=3; i >= 1; i--)a += b;
    • a = 7
    • a = 1;
    • for(i=1; i >= 3; i--)a = a+1;
    • a = 1
    • a = 1;
    • for(i=1; i<= 4; i--)a ++;
    • Sikl ichida qolish
    • a = 1;
    • for(i=1; i<4; i++) a = a+i;
    • a = 7
    • Noma’lum qadamlar sonidagi sikl
    • Masala: Butun sondagi raqamlar sonini aniqlang.
    • Yechim g’oyasi: oxirgi raqamdan boshlab sanaladi.
    • Muammo: nechta qadam bo’lishi noma’lum
    • Yechim: n=0 bo’lganda to’xtash kerak.
    • Old shartli takrorlanish operatori
    • while takrorlash operatori, operator yoki blokni tarorlash sharti yolg’on (false yoki 0) bo’lguncha takror bajaradi. U quyidagi sintaksisga ega:
    • while () ;
    • Agar rost qiymatli o’zgarmas ifoda bo’lsa, takrorlash cheksiz bo’ladi. Huddi shunday, takrorlash boshlanishida rost bo’lib, uning qiymatiga takrorlash tanasidagi hisoblash ta’sir etmasa, ya’ni uning qiymati o’zgarmasa, takrorlash cheksiz bo’ladi.
    • while(1); // чексиз такрорлаш

    Algoritmi

    • Boshlash
    • count
    • tamom
    • yo’q
    • ha
    • n != 0
    • count = 0;
    • count = count + 1;
    • n = n / 10;
    • Raqamlar sonini hisoblovchi o’zgaruvchi
    • n
    • Shartni bajarish

    Dasturi

    • int main()
    • {long n,n1; int count;
    • cout<<"Butun sonni kiriting\n";
    • cin>>n; n1=n;
    • count = 0;
    • while (n != 0)
    • {count ++;
    • n = n / 10; }
    • cout<
    • }
    • Shartni bajarish
    • long – uzun butun raqam (± 2147483647)
    • “%ld” – kiritish va chiqarish formati
    • Xossalari:
      • Murakkab shartlardan foydalanish mumkin:
      • Agar dastur tanasida faqat bitta ifoda bo’lsa, qavs {} larni yozish shart emas.
    • while ( a < b && b < c ) { ... }
    • while ( a < b ) a ++;
    • Old shartli takrorlanish
    • Xossalari:
      • Sikl sharti har safar tekshiriladi.
      • Agar sikl sharti yolg’on bo’lsa, sikl umuman bajarilmaydi.
      • Agar sikl sharti yolg’on bo’lmasa, dastur takrorlanaveradi.
    • a = 4; b = 6;
    • while ( a > b ) a = a– b;
    • a = 4; b = 6;
    • while ( a < b ) d = a + b;
    • Sikl necha marta takrorlanadi
    • a = 4; b = 6;
    • while ( a < b ) a ++;
    • 2 marta
    • a = 6
    • a = 4; b = 6;
    • while ( a < b ) a += b;
    • 1 marta
    • a = 10
    • a = 4; b = 6;
    • while ( a > b ) a ++;
    • 0 marta
    • a = 4
    • a = 4; b = 6;
    • while ( a < b ) b = a - b;
    • 1 marta
    • b = -2
    • a = 4; b = 6;
    • while ( a < b ) a --;
    • Sikl ichiga tushish
    • for ni while ga almashtirish
    • for( i=1; i<=10; i++)
    • {
    • // sikl tanasi
    • }
    • i = 1;
    • while ( i <= 10 ) {
    • // sikl tanasi
    • i ++;
    • }
    • for ( i=a; i>=b; i--)
    • {
    • // sikl tanasi
    • }
    • i = a;
    • while ( i >= b ) {
    • // sikl tanasi
    • i --;
    • }

    So’ng shartli tarorlanish operatori

    • do-while takrorlash operatori while operatoridan farqli ravishda oldin operator yoki blokni bajaradi, keyin takrorlash shartini tekshiradi. Bu qurilma takrorlash tanasini kamida bir marta bajarilishini ta’minlaydi. do-while takrorlash operatori quyidagi sintaksisga ega:
        • do ;
        • while ();
    • Bunday takrorlash operatorining keng qo‘llaniladigan holatlari - bu takrorlashni boshlamasdan turib, takrorlash shartini tekshirishning iloji bo‘lmagan holatlar hisoblanadi.

    So’ng shartli tarorlanish operatori

    • Masalan, birorta jarayonni davom ettirish yoki to‘xtatish haqidagi so‘rovga javob olish va uni tekshirish zarur bo‘lsin. Hech bo‘lmaganda takrorlash jarayonining bitta qadami amalga oshirilgan bo‘lishi kerak:
    • #include
    • using namespace std;
    • int main()
    • {
    • char javob;
    • do
    • { ... // программа танаси
    • cout<< "Jarayonni to’xtatish (N):_ ";
    • cin>>javob;
    • }
    • while(javob !=N);
    • return 0;
    • }
    • Bu operator ham cheksiz takrorlanishi mumkin: do { } while(1);

    So’ng shartli takrorlanish blok-sxemasi

    • Boshlanish
    • Tamom
    • yo’q
    • ha
    • n <= 0
    • Sikl tanasi
    • Shart
    • “Xususiy jarayon” bloki
    • n
    • Qism dastur

    So’ng shartli takrorlanish dasturi

    • int main()
    • {
    • long n;
    • do {
    • cout<< "Musbat sonni kiriting\n";
    • cin>>n;
    • }
    • while ( n <= 0 );
    • ... }
    • Shart
    • Xossasi: Sikl tanasi har doim hech bo’lmaganda bir marta bajariladi
    • a = 4; b = 6;
    • do { a ++; } while (a <= b);
    • 3 марта
    • a = 7
    • a = 4; b = 6;
    • do { a += b; } while ( a <= b );
    • 1 марта
    • a = 10
    • a = 4; b = 6;
    • do { a += b; } while ( a >= b );
    • a = 4; b = 6;
    • do b = a - b; while ( a >= b );
    • 2 марта
    • b = 6
    • a = 4; b = 6;
    • do a += 2; while ( a >= b );
    • Sikl ichiga tushish
    • Sikl ichiga tushish
    • Sikl necha marta takrorlanadi

    XULOSA

    • Xulosa o’rnida shuni ta’kidlab o’tish joizki, masalaning yechim go’yasiga asosan takrorlanish operatorlarining biridan yoki ichma-ich takrorlanishlarda har qaysidan foydalanish maqsadga mufoviq.
    • Bugungi darsimizda:
      • Parametrli takrorlanish operatori (for)
      • Old shartli takrorlanish operatori (while)
      • So’ng shartli takrorlanish operatori (do while)
    • Operatorlari bilan tanishdik.
    • Gulyamova Dilfuza Raxmatullayevna
    • Informatika asoslari kafedrasi katta o’qituvchisi
    • E’TIBORINGIZ UCHUN RAXMAT!

    Download 5.24 Mb.
    1   2




    Download 5.24 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Dasturlash 1 swd1316 Takrorlanish operatorlari 04

    Download 5.24 Mb.