1.3.80-masala
Hafta kunining tartib raqamiga qarab (1, 2, ..., 7) uning nomini (dushanba, seshanba, ..., yakshanba) ko‘rsatadigan dastur tuzing.
CodeStep
1.3.3 · MAVZU
23 ta masala. Masala shartini ko‘rib, yechishni boshlang.
Hafta kunining tartib raqamiga qarab (1, 2, ..., 7) uning nomini (dushanba, seshanba, ..., yakshanba) ko‘rsatadigan dastur tuzing.
Oy kunining tartib raqamiga qarab (1, 2, ..., 12) uning nomini (yanvar, fevral, ..., dekabr) ko‘rsatadigan dastur tuzing.
Oy kunining tartib raqamiga qarab (1, 2, ..., 12) ushbu oy tegishli bo‘lgan yil faslini ko‘rsatadigan dastur tuzing.
Oyning tartib raqamiga qarab (1, 2, ..., 12) ushbu oydagi kunlar sonini ko‘rsatadigan dastur tuzing. Ikki holatni ko‘rib chiqish dasturini tuzing:
Muayyan kunning sanasi uchta natural son bilan tavsiflanadi: g (yil), m (oyning tartib raqami) va n (kun). Berilgan yil, oy va kun uchun quyidagilarni aniqlash dasturini tuzing:
Uzoq Sharqning ayrim mamlakatlarida (Xitoy, Yaponiya va boshqalar) biz ishlatadigan kalendardan farq qiladigan taqvim ishlatilgan (va hozirda norasmiy ravishda qo‘llanilmoqda). Bu kalendar 60 yillik siklik tizimdir. Har bir 60 yillik sikl beshta 12 yillik ichki sikldan iborat. Yilning har bir kichik siklida hayvonlarning nomlari mavjud: kalamush, sigir, yo‘lbars, quyon, ajdaho, ilon, ot, qo‘y, maymun, xo‘roz, it va cho‘chqa. Bundan tashqari, yil nomi tabiatning besh elementi — Yog‘och (yashil), olov (qizil), Yer (sariq), Metall (oq) va Suv (qora) bilan bog‘liq rangni o‘z ichiga oladi. Har bir rang ikki yil davom etadi va 60 yildan keyin yil nomi takrorlanadi. 1984-yil Yashil kalamush yili deb nomlanadi. n yilni hisobga olib, uning nomini “Kalamush, Yashil” ko‘rinishida chiqaradigan dastur tuzing. Ikki holatni ko‘rib chiqing:
1–7 oralig‘idagi butun son berilgan. Shu songa mos keladigan hafta kuni nomini ekranga chiqarish dasturini tuzing.
Bahoni anglatadigan K soni berilgan. Agar K = 1 bo‘lsa “yomon”, K = 2 bo‘lsa “qoniqarsiz”, K = 3 bo‘lsa “qoniqarli”, K = 4 bo‘lsa “yaxshi”, K = 5 bo‘lsa “a’lo” so‘zlaridan birini, agar K bu oraliqda yotmasa “xato” so‘zini ekranga chiqarish dasturini tuzing.
1–12 oralig‘idagi sonlarga mos keluvchi oy raqamlari berilgan. Shu oylarga mos keladigan yil fasllarini ekranga chiqarish dasturini tuzing.
1–12 oralig‘idagi sonlarga mos keluvchi oy nomeri berilgan. Shu oyga mos keluvchi kunlar sonini aniqlash dasturini tuzing.
Arifmetik amallar quyidagi ko‘rinishda nomerlangan: 1 — “qo‘shish”, 2 — “ayirish”, 3 — “ko‘paytirish”, 4 — “bo‘lish”. N butun soni 1–4 orasida berilgan bo‘lib, A va B (B ≠ 0) haqiqiy sonlari berilganda N ga mos keluvchi amal bajarilsin va ekranga chiqarish dasturini tuzing.
Birliklar quyidagi ko‘rinishda nomerlangan: 1 — km, 2 — m, 3 — dm, 4 — sm, 5 — mm. Kesma uzunligi (haqiqiy son ko‘rinishida) berilib, uning birligi tanlanganda metr dagi ifodasi topish dasturini tuzing.
Massa birliklari quyidagi ko‘rinishda nomerlangan: 1 — mg, 2 — gr, 3 — sentner, 4 — tonna, 5 — kg. Jism massasi berilganda va uning birligi tanlanganda kg dagi ifodasi topish dasturini tuzing.
To‘g‘ri sanani ifodalovchi kabisa bo‘lmagan yilning (D) kuni va (M) oyi butun sonlar ko‘rinishida berilgan. Berilgan sanadan oldingi kunni topib, ekranga chiqarish dasturini tuzing.
To‘g‘ri sanani ifodalovchi kabisa bo‘lmagan yilning (D) kuni va (M) oyi butun sonlar ko‘rinishida berilgan. Berilgan sanadan keyingi kunni topib, ekranga chiqarish dasturini tuzing.
Robot to‘rtta yo‘nalish bo‘yicha harakatlanishi mumkin (1 — Shimol, 2 — G‘arb, 3 — Janub, 4 — Sharq) va uch xil sonli burilish buyrug‘ini qabul qiladi: 0 — harakatni davom ettirish, 1 — chapga burilish, −1 — o‘ngga burilish. C robotning berilgan yo‘nalishi, N esa uzatilgan buyruq bo‘lsin. Buyruq bajarilgandan keyingi robot yo‘nalishini ekranga chiqarish dasturini tuzing.
Lokator dunyoning biror tomoniga qarashga mo‘ljallangan (1 — Shimol, 2 — Sharq, 3 — Janub, 4 — G‘arb) va uch xil sonli burilish buyruqlarini qabul qilishi mumkin: 1 — chapga burilish, −1 — o‘ngga burilish, 2 — 180° ga burilish. C belgisi yordamida yo‘nalish, N₁ va N₂ lar yordamida buyruqlar berilsa, lokatorning buyruqlar bajarilgandan keyingi yo‘nalishini aniqlash dasturini tuzing.
Doira elementlari quyidagi ko‘rinishda nomerlangan: 1 — radius, 2 — diametr D = 2R, 3 — uzunlik L = 2πR, 4 — yuza S = πR². Bu elementlardan birining nomeri va son qiymati berilgan. Berilgan doiraning qolgan elementlari haqidagi ma’lumotlarni ekranga chiqarish dasturini tuzing (π = 3,14).
Teng yonli to‘g‘ri burchakli uchburchak elementlari berilgan: 1 — katet a, 2 — gipotenuza c, c = a·√2, 3 — balandlik h (gipotenuzaga tushirilgan), h = c/2, 4 — yuza S = c·h/2. Bu elementlardan birining nomeri va son qiymati berilganda qolgan elementlarning qiymatlarini ekranga chiqarish dasturini tuzing.
Teng tomonli uchburchakning elementlari quyidagicha nomerlangan: 1 — tomoni a, 2 — ichki chizilgan aylananing radiusi R₁ = (√3/6)·a, 3 — tashqi chizilgan aylananing radiusi R₂ = 2R₁, 4 — yuza S = a²·√3/4. Bu elementlardan birining nomeri va son qiymati berilganda qolgan elementlarning qiymatlarini ekranga chiqarish dasturini tuzing.
Yoshni anglatuvchi 20–69 gacha bo‘lgan butun son berilgan. Berilgan yoshni so‘z bilan ifodalab ekranga chiqarish dasturini tuzing.
10–40 oralig‘idagi ayrim o‘quv topshiriqlarining sonini bildiruvchi butun son berilgan. Topshiriqlar soni berilganda ekranga ularni satr ko‘rinishida chiqarish dasturini tuzing.
100–999 oralig‘idagi butun son berilgan. Bu sonlarni satr ko‘rinishida ifodalab chiqarish dasturini tuzing.
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
1 dan 7 gacha butun son berilgan. Shu raqamga mos hafta kuni nomini chiqaruvchi dastur tuzing.
Foydalanuvchidan hafta kunining raqamini olamiz. Dushanba 1, yakshanba 7 bilan belgilanadi.
1 — dushanba, 2 — seshanba, 3 — chorshanba, 4 — payshanba, 5 — juma, 6 — shanba, 7 — yakshanbaTanlash operatori orqali raqamga mos nomni belgilaymiz. 1–7 oralig‘idan tashqaridagi qiymat uchun xato xabarini chiqaramiz.
Tanlangan hafta kuni nomini ekranga chiqaramiz.
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)
3 Hafta kunining raqamini kiriting (1-7): Chorshanba
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;
}
3 Hafta kunining raqamini kiriting (1-7): Chorshanba
3 raqami haftaning Chorshanba kuniga mos keladi.2-NAMUNAVIY MASALA
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.
Amal raqami N va A, B operandlarini kiritamiz. Bo‘lish amalida B nolga teng bo‘lmasligini tekshiramiz.
N ning qiymatiga qarab mos amalni bajaramiz.
N=1: A+B
N=2: A-B
N=3: A*B
N=4: A/BN 1–4 oralig‘ida bo‘lmasa, xato xabarini chiqaramiz.
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)
1
12
5 Amal raqamini kiriting (1-4): A ni kiriting: B ni kiriting: Natija: 17.0
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;
}
1
12 5 Amal raqamini kiriting (1-4): A va B ni kiriting: Natija: 17
N=1, A=12 va B=5 bo‘lganda natija 12+5=17 bo‘ladi.