- MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
- Tarmoqlanish va uzilishlarni tashkil etish operatorlari. Tarmoqlanuvchi operatorlar(if va switch) va ularni ishlash ketma ketliklari.
- ISHNIYAZOV ODIL
- OLIMOVICH
- Informatika asoslari kafedrasi katta o’qituvchisi
Mа’ruza rejasi - Shart opеratori. To`liq tarmoqlanish. To`liq bo’lmagan tarmoqlanish
- Tanlash opеratori (switch).
- Agar algoritm bajarilish ketma – ketligi bir nechta shartlarga bog’liq bo’lsa u tarmoqlanuvchi deb ataladi.
- Topshiriq. Ikkita butun son kiriting va ulardan kattasini ekranga chiqaring.
- Yechim g’oyasi: Agar birinchi son ikinchi sondan katta bo’lsa, ekranga birinchi son chiqishi kerak, aks holda ekranga ikkinchi son chiqishi kerak.
- Tarmoqlanishning
- to’liqsiz formasi
Shart operatori - if ( Shart )
- {
- // agar shart to’g’ri bo’lsa bajariladi
- }
- else
- {
- // agar shart noto’g’ri bo’lsa bajariladi
- }
- O’ziga xosligi:
- Ikkinchi qism (else …) yo’q bo’lishi mumin (To’liqmas forma)
- Agar blokda bitta amal bo’lsa { } belgini olib tashlash mumkin.
Xatolarni toping ! - if a > b {
- a = b;
- }
- else
- b = a;
- if ( a > b ) {
- a = b;
- else
- b = a;
- if ( a > b )
- a = b; c = 2*a;
- else
- b = a;
` - 1 variant. Dastur (formatli kiritish-chiqarish)
- int main()
- { int a, b, max;
- printf(“Ikkita butun sonni kiriting\n");
- scanf("%d%d", &a, &b );
- if (a > b) {
-
- }
- else {
-
- }
- printf(“Katta son %d", max);
- return 0; }
- Shart
- operatorning to’liq ko’rinishi
` - int main()
- { int a, b, max;
- cout<<"a ni kiriting="; cin>>a;
- cout<<"b ni kiriting="; cin>>b;
- if (a > b) {
-
- }
- else {
-
- }
- cout<<"Natija="<
- return 0; }
- Shart
- operatorning to’liq ko’rinishi
- 1 variant. Dastur (oqimli kiritish chiqarish)
- 2 variant. Dastur (formatli kiritish chiqarish)
- int main()
- { int a, b, max;
- printf("a va b sonini kiriting\n");
- scanf("%d%d", &a, &b );
- max = a;
- if (b > a)
-
- printf(“Katta son %d”, max);
- }
- Shart
- operatoring to’liq ko’rinishi
- 2 variant. Dastur (oqimli kiritish chiqarish)
- int main()
- {
- int a, b, max;
- cout<<"a va b sonini ni kiriting=";
- cin>>a>>b;
- max = a;
- if (b > a)
-
- cout<<“Katta son ="<
- }
- Shart
- operatoring to’liq ko’rinishi
- “1": Uchta sonni kiriting va ular ichidan eng kattasini toping.
- Masalan:
- Uchta sonni kiriting:
- 5 20 9
- Eng katta son 20
- “2": Beshta sonni kiriting va ular ichidan eng kattasini toping.
- Masalan:
- Beshta sonni kiriting :
- 5 27 20 26 24
- Eng katta son 27
Tanlash operatori - Masala: Oy tartib raqamini kiriting va shu oy kunlarini chiqaring.
- Yechim: Oy bo’yicha kunlar:
- 28 kun – 2 (fevral)
- 30 kun – 4 (aprel), 6 (iyun), 9 (sentabr), 11 (noyabr)
- 31 kun – 1 (yanvar), 3 (mart), 5 (may), 7 (iyul), 8 (avgust), 10 (oktabr), 12 (dekabr)
- Хосса: Oy tartib raqamidan ikkita emas, balki bir nechta farqli bog’lanishlarni tanlash kerak.
- Birorta ham variant to’g’ri kelmadi
- int main()
- { int M, D;
- cout<<“ Oy tartib raqamini kiriting:\n";
- cin>>M;
-
-
- if (D > 0)
- cout<<"Bu oyda " <
- else cout<<"oyning raqami noma’lum";
- }
- switch ( M ) {
- case 2: D = 28;
- case 4: case 6: case 9:
- case 11:D = 30;
- case 1: case 3: case 5: case 7:
- case 8: case 10: case 12: D = 31;
- default: D = -1;
- }
- Birorta ham variant to’g’ri kelmadi
Tanlash operatori - int main()
- {
- char c;
- cout<<"Hayvonlar nomini 1-harfini kiriting:\n";
- c = getch();//conio.h kutubxonasi kerak bo’ladi
- switch ( c ) {
- case 'a': cout<<"Ayiq"; break;
- case 'b': cout<<"Bo’ri"; break;
- case 'k': cout<<"Kiyik"; break;
- default: cout<<"Bilmayman!";
- }
- }
- hamma joydan break ni olib tashlasa nima bo’ladi?
Tanlash operatori - Xossalar:
- switch dan keyin o’zgaruvchining nomi bo’lishi mumkin yoki butun tipli arifmetik ifoda bo’ishi mumkin (int, long)
- switch ( i+3 ) {
- case 1: a = b; break;
- case 2: a = c;
- }
Tanlash operatori - Simvolli (belgili) (char) tip bo’lishi mumkin ikkita bir xil qiymatlarni qo’yish mumkin emas:
- switch ( x ) {
- case 1: a = b; break;
- case 1: a = c;
- }
Murakkab shart - Murakab shart – bu mantiqiy amallar bilan bog’langan bir nechta oddiy shartlardan (munisabatlardan) tashkil topadi.
- ! - inkor (not, inkor qilish, inversiya)
- && - va (and, mantiqiy ko’paytma kon'yunksiya)
- || - yoki (or, mantiqiy qo’shish, diz'yunksiya)
- Masala. Tashkilot 25 dan 40 yoshgacha bo’lgan dasturchilarni ishga oladi. Nomzodning yoshini kiriting va tashkilotga to’g’ri keladimi (“to’g’ri keladi” yoki “to’g’ri kelmaydi” deb ekrakga chiqaring).
Masalani yechish algoritm blok-sxemasi Masala dasturi. 1-variant (1-usul) - int main()
- { int x;
- printf("Yoshni kiriting\n");
- scanf("%d", &x);
- if (x >= 25)
- if (x <= 40)
- printf("to'g'ri keladi");
- else printf("to'g'ri kelmaydi“);
- else
- printf("to'g'ri kelmaydi");
- }
Masala dasturi. 1-variant (2-usul) - int main()
- { int x;
- cout<<"Yoshni kiriting=";
- cin>>x;
- if (x >= 25)
- if (x <= 40)
- cout<<"to'g'ri keladi";
- else cout<<"to'g'ri kelmaydi";
- else
- cout<<"to'g'ri kelmaydi";
- }
- Masalani yechish algoritm blok-sxemasi
Masala dasturi. 2-variant - int main()
- {
- int x;
- printf("Yoshni kiriting\n");
- scanf("%d", &x);
- if ( x >= 25 && x <= 40 )
- printf("to'g'ri keladi");
- else printf("to'g'ri kelmaydi");
- }
Murakkab shart - Murakkab shartning bajarilish tartibi:
- Qavs ichidagi ifoda
- ! (inkor, inkor qilish)
- <, <=, >, >=
- ==, !=
- && (va)
- || (yoki)
- Мisol:
- 2 1 6 3 5 4
- if ( !(a > b) || c != d && b == a)
- { ... }
Murakkab shart - a = 2; b = 3; c = 4 bo’lganda natija rost yoki yolg’on ekanligini aniqlaymiz.
- !(a > b)
- a < b && b < c
- !(a >= b) || c == d
- a < c || b < c && b < a
- a > b || !(b < c)
Murakkab shart - x ning qanday qiymatlarida shart rost bo’ladi:
- x < 6 && x < 10
- x < 6 && x > 10
- x > 6 && x < 10
- x > 6 && x > 10
- x < 6 || x < 10
- x < 6 || x > 10
- x > 6 || x < 10
- x > 6 || x > 10
Masala. Kiritilgan son musbat yoki manfiy? - #include
- using namespace std;
- int main()
- { int n; cout << "Butun son kiriting:";
- cin >> n;
- if ( n > 0)
- {cout<<"Siz kiritgan son musbat:"<
- if ( n < 0)
- {cout <<"Siz kiritgan son manfiy:"<
- else
- {cout <<"Siz kiritgan son nol: "<
- return 0;
- }
XULOSA - Shartga oid masalalarni algoritm va dasturini tuzishda. Masala yechimini ishlab chiqish holatiga qarab
- shartni tekshirish operatori (if () else ) yoki
- tanlash operatori (switch() case )
- dan foydalanish maqsadga muvofiq.
- MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
- ISHNIYAZOV ODIL
- OLIMOVICH
- Informatika asoslari kafedrasi katta o’qituvchisi
- E’TIBORINGIZ UCHUN RAXMAT!
Do'stlaringiz bilan baham: |