CodeStep
Mavzu masalalariga qaytish

1.3.3 · MAVZU

Namuna masalalar

Tanlash jarayonlariga oid masalalar

Ushbu namunalarda tanlash operatorlari yordamida kiritilgan qiymatga mos natijani topish o‘rganiladi. Python’da match-case, C++ da switch-case operatorlaridan foydalanamiz.

1-NAMUNAVIY MASALA

Hafta kunini aniqlash

Masala sharti

1 dan 7 gacha butun son berilgan. Shu raqamga mos hafta kuni nomini chiqaruvchi dastur tuzing.

Bosqichma-bosqich yechim

  1. Foydalanuvchidan hafta kunining raqamini olamiz. Dushanba 1, yakshanba 7 bilan belgilanadi.

    1 — dushanba, 2 — seshanba, 3 — chorshanba, 4 — payshanba, 5 — juma, 6 — shanba, 7 — yakshanba
  2. Tanlash operatori orqali raqamga mos nomni belgilaymiz. 1–7 oralig‘idan tashqaridagi qiymat uchun xato xabarini chiqaramiz.

  3. Tanlangan hafta kuni nomini ekranga chiqaramiz.

Python yechimi

match-case har bir raqamga mos hafta kunini tanlaydi.

kun = int(input("Hafta kunining raqamini kiriting (1-7): "))

match kun:
    case 1: nom = "Dushanba"
    case 2: nom = "Seshanba"
    case 3: nom = "Chorshanba"
    case 4: nom = "Payshanba"
    case 5: nom = "Juma"
    case 6: nom = "Shanba"
    case 7: nom = "Yakshanba"
    case _: nom = "Noto‘g‘ri raqam"

print(nom)

Namuna kirishi

3

Konsoldagi namuna

Hafta kunining raqamini kiriting (1-7): Chorshanba

C++ yechimi

switch-case operatoridagi har bir case bitta hafta kuniga mos keladi.

#include <iostream>
using namespace std;

int main() {
    int kun;
    cout << "Hafta kunining raqamini kiriting (1-7): ";
    cin >> kun;

    switch (kun) {
        case 1: cout << "Dushanba"; break;
        case 2: cout << "Seshanba"; break;
        case 3: cout << "Chorshanba"; break;
        case 4: cout << "Payshanba"; break;
        case 5: cout << "Juma"; break;
        case 6: cout << "Shanba"; break;
        case 7: cout << "Yakshanba"; break;
        default: cout << "Noto'g'ri raqam";
    }
    return 0;
}

Namuna kirishi

3

Konsoldagi namuna

Hafta kunining raqamini kiriting (1-7): Chorshanba

Yakuniy javob

3 raqami haftaning Chorshanba kuniga mos keladi.

2-NAMUNAVIY MASALA

Tanlangan arifmetik amalni bajarish

Masala sharti

N butun soni 1–4 oralig‘ida, A va B haqiqiy sonlari berilgan (B ≠ 0). N=1 bo‘lsa qo‘shish, N=2 bo‘lsa ayirish, N=3 bo‘lsa ko‘paytirish, N=4 bo‘lsa bo‘lish amalini bajarib, natijani chiqaring.

Bosqichma-bosqich yechim

  1. Amal raqami N va A, B operandlarini kiritamiz. Bo‘lish amalida B nolga teng bo‘lmasligini tekshiramiz.

  2. N ning qiymatiga qarab mos amalni bajaramiz.

    N=1: A+B
    N=2: A-B
    N=3: A*B
    N=4: A/B
  3. N 1–4 oralig‘ida bo‘lmasa, xato xabarini chiqaramiz.

Python yechimi

match-case amal raqamiga mos hisoblashni tanlaydi.

n = int(input("Amal raqamini kiriting (1-4): "))
a = float(input("A ni kiriting: "))
b = float(input("B ni kiriting: "))

match n:
    case 1: natija = a + b
    case 2: natija = a - b
    case 3: natija = a * b
    case 4 if b != 0: natija = a / b
    case 4:
        print("Nolga bo‘lish mumkin emas")
        exit()
    case _:
        print("Noto‘g‘ri amal raqami")
        exit()

print("Natija:", natija)

Namuna kirishi

1
12
5

Konsoldagi namuna

Amal raqamini kiriting (1-4): A ni kiriting: B ni kiriting: Natija: 17.0

C++ yechimi

switch-case mos amalni bajaradi; bo‘lishdan oldin maxraj tekshiriladi.

#include <iostream>
using namespace std;

int main() {
    int n;
    double a, b;
    cout << "Amal raqamini kiriting (1-4): ";
    cin >> n;
    cout << "A va B ni kiriting: ";
    cin >> a >> b;

    switch (n) {
        case 1: cout << "Natija: " << a + b; break;
        case 2: cout << "Natija: " << a - b; break;
        case 3: cout << "Natija: " << a * b; break;
        case 4:
            if (b == 0) cout << "Nolga bo'lish mumkin emas";
            else cout << "Natija: " << a / b;
            break;
        default: cout << "Noto'g'ri amal raqami";
    }
    return 0;
}

Namuna kirishi

1
12 5

Konsoldagi namuna

Amal raqamini kiriting (1-4): A va B ni kiriting: Natija: 17

Yakuniy javob

N=1, A=12 va B=5 bo‘lganda natija 12+5=17 bo‘ladi.