Ифодалар ва операторлар



Download 0,56 Mb.
Sana21.02.2022
Hajmi0,56 Mb.
#77452
Bog'liq
2. Операторлар ва функциялар

  • 2-маъруза. Операторлар ва функциялар
  • Тармоқланувчи алгоритм
  • Топшириқ. Иккита бутун сонни киритинг ва улардан каттасини экранга чиқаринг.
  • Ечим ғояси: Экранга биринчи сон чиқиши керак, агарда у иккинчи сондан катта бўлса, ёки иккинчи сон чиқиши керак, агарда биринчи сондан катта бўлса.
  • Фарқли томонлари: амални бажарилиши бир неча шартларга боғлиқ (агар … ёки …).
  • Агар алгоритм бажарилиш кетма-кетлиги бир нечта шартларга боғлиқ бўлса у тармоқланувчи деб аталади.
  • http://acm.tuit.uz/forum
  • 15:24
  • 1-вариант. Блок-схема
  • бошланиш
  • max = a;
  • киритиш a,b
  • чиқариш max
  • a > b?
  • max = b;
  • тамом
  • ҳа
  • йўқ
  • Тармоқнинг тўлиқ кўриниши
  • «шарт» блоги
  • Агар a = b?
  • ?
  • http://acm.tuit.uz/forum
  • 15:24

`

  • 1-вариант. Дастур
  • void main()
  • {
  • int a, b, max;
  • printf(«Иккита бутун сонни киритинг\n");
  • scanf("%d%d", &a, &b );
  • if (a > b) {
  • }
  • else {
  • }
  • printf(“Катта сон %d", max); }
  • max = a;
  • max = b;
  • Шартли операторнинг тўлиқ кўриниши
  • http://acm.tuit.uz/forum
  • 15:24
  • Шартли оператор
  • if ( шарт )
  • {
  • // агар шарт тўғри бўлса бажарилади
  • }
  • else
  • {
  • // агар шарт нотўғри бўлса бажарилади
  • }
  • Ўзига хослиги:
    • Иккинчи қисм (else …) йўқ бўлиши мумкин (тўлиқмас форма)
    • Агар блокда битта амал бўлса { } белгини олиб ташлаш мумкин
  • http://acm.tuit.uz/forum
  • 15:24
  • Хато қаерда?
  • if a > b {
  • a = b;
  • }
  • else
  • b = a;
  • if ( a > b ) {
  • a = b;
  • else
  • b = a;
  • if ( a > b )
  • else
  • b = a;
  • if ( a > b )
  • a = b;
  • c = 2*a;
  • else
  • b = a;
  • }
  • (
  • )
  • }
  • {
  • a = b;
  • http://acm.tuit.uz/forum
  • 15:24
  • 2-Вариант. Блок-схема
  • Тармоқнинг тўлиқсиз формаси
  • бошлаш
  • max = a;
  • киритиш a,b
  • чиқариш max
  • max = b;
  • тамом
  • ҳа
  • йўқ
  • b > a?
  • http://acm.tuit.uz/forum
  • 15:24
  • 2- Вариант. Дастур
  • int main()
  • {
  • int a, b, max;
  • printf(“Ikkita butun sonni kiriitn\n");
  • scanf("%d%d", &a, &b );
  • max = a;
  • if (b > a)
  • printf(«Катта сон %d", max);
  • }
  • max = b;
  • Шарт операторининг тўлиқ кўриниши
  • http://acm.tuit.uz/forum
  • 15:24
  • void main()
  • {
  • int a, b, max;
  • printf("Иккита бутун сонни киритинг\n");
  • scanf("%d%d", &a, &b );
  • max = b;
  • if ( ??? )
  • ???
  • printf(«Катта сон %d", max);
  • }
  • 2Б-Вариант. Дастур
  • max = a;
  • a > b
  • http://acm.tuit.uz/forum
  • 15:24
  • Топшириқ
  • "4": Учта сонни киритинг ва улар ичидан энг каттасини топинг.
  • масалан:
  • Учта сонни киритинг:
  • 4 15 9
  • Энг катта сон 15
  • "5": Бешта сонни киритинг ва улар ичидан энг каттасини топинг.
  • масалан:
  • Бешта сонни киритинг:
  • 4 15 9 56 4
  • Энг катта сон 56
  • http://acm.tuit.uz/forum
  • 15:24
  • Танлаш оператори
  • Масала: Ой тартиб рақамини киритинг ва шу ой кунларини чиқаринг.
  • Ечим: Ой бўйича кунлар:
    • 28 кун – 2 (февраль)
    • 30 кун – 4 (апрель), 6 (июнь), 9 (сентябрь), 11 (ноябрь)
    • 31 кун – 1 (январь), 3 (март), 5 (май), 7 (июль), 8 (август), 10 (октябрь), 12 (декабрь)
  • Хосса: Ой тартиб рақамидан иккита эмас, балки бир нечта фарқли боғланиш танлаш керак.
  • Маълум усуллар билан ечиш мумкинми?
  • ?
  • http://acm.tuit.uz/forum
  • 15:24
  • Алгоритм
  • боши
  • тамом
  • Танлаш оператори
  • Бирорта ҳам вариант тўғри келмади
  • M ни кирит
  • ҳа
  • йўқ
  • M = 1?
  • D = 31;
  • йўқ
  • M = 2?
  • D = 28;
  • ҳа
  • йўқ
  • M = 12?
  • D = 31;
  • ҳа
  • D ни чоп
  • этиш
  • хато
  • http://acm.tuit.uz/forum
  • 15:24
  • Дастур
  • int main()
  • {
  • int M, D;
  • cout<<“Oy tartib raqamini kiriting:\n”;
  • cin>>M;
  • 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;
  • }
  • if (D > 0)
  • cout<<“Bu oyda ” <
  • else cout<<“oyning raqami noma’lum”;
  • }
  • Бирорта ҳам вариант тўғри келмади
  • break;
  • break;
  • break;
  • Switch дан чиқиш
  • http://acm.tuit.uz/forum
  • 15:24
  • Танлаш оператори
  • Масала: Ҳарфларни киритинг ва бу ҳарфлардан хайвонлар номини чиқазинг.
  • Хосса: танлаш белгили ўлчам бўйича бўлади.
  • void main()
  • {
  • char c;
  • cout<<“Hayvonlar nomini 1-harfini kiriting:\n”;
  • c = getch();
  • switch ( c ) {
  • case 'а': cout<<"Аyiq”; break;
  • case ‘b': cout<<“Bo’ri”; break;
  • case ‘k': cout<<“Kiyik”; break;
  • default: cout<<“Bilmayman!");
  • }
  • }
  • ҳамма жойдан break ни олиб ташласа нима бўлади?
  • ?
  • 15:24
  • Танлаш оператори
  • Хоссалар:
    • switch дан кейин ўзгарувчининг номи бўлиши мумкин ёки бутун типли арифметик ифода бўлиши мумкин (int, long)
    • ёки символли (белгили) (char) тип бўлиши мумкин иккита бир хил қийматларни қўйиш мумкин эмас:
  • switch ( i+3 ) {
  • case 1: a = b; break;
  • case 2: a = c;
  • }
  • switch ( x ) {
  • case 1: a = b; break;
  • case 1: a = c;
  • }
  • http://acm.tuit.uz/forum
  • 15:24
  • Масала (нотўғри киритилишдан ҳимояланиш)
  • 4: Ой тартиб рақамини киритинг ва ундаги кунлар сонини, ҳамда киритишдаги хатоликлар сонини чиқаринг.
  • Мисол:
  • Ой тартиб рақамини киритинг : Ой тартиб рақамини киритинг :
  • -2 2
  • Ой тартиб рақамини киритинг : Бу ойда 28 кун бор.
  • 11 Сиз 0 марта нотўғри киритдингиз.
  • Бу ойда 30 кун бор.
  • Сиз 1 марта нотўғри киритдингиз.
  • 5: Ой ва кунлар тартиб рақамини киритинг, янги йилгача қанча кун қолганини чиқаринг.
  • Мисол:
  • Ой тартиб рақамини киритинг :
  • 12
  • Кунни киритинг:
  • 25
  • Янги йилгача 6 кун қолди.
  • 15:24
  • Мураккаб шарт
  • Топшириқ. Фирма 25 дан 40 ёшгача бўлга ходимларни олади. Номзоднинг ёшини киритинг ва белгиланг, фирмага тўғри келадими («тўғри келади" ёки «тўғри келмайди» экранга чиқаринг).
  • Ўзига хослик: иккита шарт бирдан бажариладими? Текшириш керак.
  • Машхур усуллар билан хал қилиш мумкинми?
  • ?
  • http://acm.tuit.uz/forum
  • 15:24
  • 1- Вариант. Алгоритм
  • бошлаш
  • киритиш x
  • ‘тўғри келади'
  • тамом
  • ҳа
  • йўқ
  • x >= 25?
  • ҳа
  • йўқ
  • x <= 40?
  • тўғри келмайди'
  • тўғри келмайди'
  • http://acm.tuit.uz/forum
  • 15:24
  • 1- Вариант. Дастур
  • 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");
  • }
  • http://acm.tuit.uz/forum
  • 2- Вариант. Алгоритм
  • бошлаш
  • киритиш x
  • ‘тўғри келади'
  • ҳа
  • йўқ
  • x >= 25 ва
  • x <= 40?
  • тўғри келмайди'
  • тамом
  • http://acm.tuit.uz/forum
  • 15:24
  • 2- Вариант. Дастур
  • 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");
  • }
  • Мураккаб шарт
  • http://acm.tuit.uz/forum
  • 15:24
  • Мураккаб шарт
  • Мураккаб шарт– бу шарт мантиқий амаллар билан боғланган бир нечта оддий шартлардан (муносабатлардан) ташкил топган. Булар:
    • ! – инкор (not, инкор қилиш, инверсия)
    • && – ва (and, мантиқий кшпайтма, конъюнкция, шартлар бир вақтда бажарилади)
    • || – ёки (or, мантиқий қўшиш, дизъюнкция, шартлардан хеч бўлмаганда биттаси бажарилади.)
  • Оддий шарт (муносабат)
  • < <= > >= == !=
  • тенг
  • Тенг эмас
  • http://acm.tuit.uz/forum
  • 15:24
  • Мураккаб шарт
  • Мураккаб шартнинг бажарилиш тартиби:
    • Қавс ичидаги ифода
    • ! (инкор, инкор қилиш)
    • <, <=, >, >=
    • ==, !=
    • && (ва)
    • || (ёки)
  • Мисол:
    • 2 1 6 3 5 4
    • if ( !(a > b) || c != d && b == a)
    • {
    • ...
    • }
  • http://acm.tuit.uz/forum
  • 15:24
  • a = 2; b = 3; c = 4;да рост ёки ёлғон
    • !(a > b)
    • a < b && b < c
    • !(a >= b) || c == d
    • a < c || b < c && b < a
    • a > b || !(b < c)
  • x нинг қандай қийматларида шарт рост бўлади:
    • 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
  • Мураккаб шарт
  • 1
  • 1
  • 0
  • (-, 6)
  • (6, 10)
  • (10, )
  • (-, 10)
  • (-, 6)  (10,)
  • (-, )
  • (6, )
  • x < 6
  • x > 10
  • x < 10
  • x > 6
  • 1
  • 1
  • 15:24
  • Топшириқ
  • "4": Ой тартиб рақамини киритинг ва фасллар номини чиқазинг(аниқланг).
  • Мисол:
  • Ой тартиб рақамини киритинг:
  • 4
  • бахор
  • "5": Киши ёшини киритинг (1 ёшдан 150 ёшгача) ва уни қуйидаги сўзлар билан чиқазинг “йил", “ёшда" ёки “ёш".
  • Мисол:
  • Ёшини киритинг: Ёшини киритинг :
  • 24 57
  • сиз 24 ёшдасиз Сиз 57 ёшсиз
  • http://acm.tuit.uz/forum
  • 15:24

Download 0,56 Mb.

Do'stlaringiz bilan baham:




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