Dasturlash 1 swd1316 Takrorlanish operatorlari 04



Download 5,31 Mb.
bet2/2
Sana30.12.2022
Hajmi5,31 Mb.
#897205
1   2
Bog'liq
1) 4-mavzu (Tarorlanish operatorlari)

Algoritm

  • Boshlash
  • i, i2, i3
  • Tamom
  • yo’q
  • ha
  • i <= 8
  • i = 1;
  • i = i + 1;
  • i2 = i * i;
  • i3 = i2 * i;
  • 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
  • Har qadamda i ning bittaga oshishi
  • Takrorlanish rost qiymatda ishlaydi
  • Sikl
  • Sikl tanasining boshi
  • Sikl tanasining oxiri
  • Sikl sarlavhasi
  • 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 ++;
  • 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.

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
  • Old shartli takrorlanish operatori
  • Huddi for operatoridek, ‘,’ yordamida da bir nechta amallar sinxron ravishda bajarish mumkin. Masalan son va uning kvadratlarini chop qiladigan dasturda ushbu holat ko’rsatilgan:
  • #include
  • using namespace std;
  • int main()
  • {
  • int n,n2;
  • cout<<"Sonni kiriting(1..10):_";
  • cin>>n;
  • n++;
  • while(n--,n2=n*n,n>0)
  • cout<<" n="<<n<<" n^2="<<n2<
  • return 0;
  • }
  • Old shartli takrorlanish
  • 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 --;
  • 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.
  • MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
  • ISHNIYAZOV ODIL
  • OLIMOVICH
  • Informatika asoslari kafedrasi katta o’qituvchisi
  • E’TIBORINGIZ UCHUN RAXMAT!

Download 5,31 Mb.

Do'stlaringiz bilan baham:
1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish