Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
304
a`zolalar aniqlansin.
5. Ko’phad darajasi va koeffitsientlari bilan berilgan bitta o’zgauvchili ko’phadni xotirada
saqlash, qiymat o’qish va chop qilish amalini bajaruvchi KO_PHAD tayanch sinfi
yaratilsin. Ushu sinf vorisi sifatida berilgan butun k soni uchun k-tartibli Chebishev
ko’phadi koeffitsentlarini hisoblaydigan va berilgan haqiqiy turdagi argumenti uchun
ko’phad qiymatini hisoblovchi SHEBISHEV sinfi yaratilsin.
Chebishev ko'phadlari Tn(x) quyidagi formula bilan aniqlanadi:
T0(x)=1, T1(x)=x; Tn(x)=2xTn-1 (x) - Tn-2(x), n=2,3,...
6. Kitobning nomi,
muallifi, nashriyoti nomi va chop qlingan yili bo’yicha berilganlarni
xotirada xotirada saqlash, qiymat o’qish va chop qilish amalini bajaruvchi KITOB taynch
sinfi yaratilsin. Uning vorisi bo’lgan UY_KUTUBXONASI sinfida - uy manzili,
kutubxona egasi familiya, ismi haqida ma’lumotlar va unda ixtiyoriy sondagi kitoblar bilan
ishlash, qandaydir alomati boyocha kitobni izlash (muallif yoki yil bo’yicha), yangi kitobni
qo’shish va o’chirish imkoniyatlari bo’lsin.
7. Yon daftarni o’zida aks ettiruvchi YON_DAFTAR sinfi yartilsin. Unda ixtiyoriy sondagi
yozuvlar bilan ishlash, qandaydir alomati boyocha yozuvni izlash (familiya, tug’ilgan yili
yoki telefon nomeri bo’yicha), yangi yozuvni qo’shish va o’chirish imkoniyatlari bo’lsin.
8. Shaxsning familiyasi va ismi, tug’ilgan yili, jinsi, yashash manzili va telefon nomeri
bo’yicha ma’lumotlarni
xotirada xotirada saqlash, qiymat o’qish va chop qilish amalini
bajaruvchi SHAXS sinfi yaratilsin. Uning vorisi qilib talabalar guruhini tavsivlovchi
TALABA_GURUHI sinfi yaratilsin. Unda qo’shimcha ravishda talabaning o’qiydigan
guruh nomi, kursi haqida ma’lumotlar bo’lishi, hamda ixtiyoriy sondagi talalbalar bilan
ishlash, qandaydir alomati boyocha talabani izlash (familiya, tug’ilgan yili yoki telefon
nomeri bo’yicha), yangi yozuvni qo’shish, o’chirish va tartiblash amallari bajarilsin.
9. Vector yordamida to’plamni hosil qilish amalinini bajaruvchi, to’plamda qiymatlarni chop
qiluvchi TO‘PLAM sinfi yaratilsin. To’plam ustida asosiy amallarni – to’plamga yangi
element qo’shish va o’chirish, tuplamlar keshishmasini, birlashmasini,
hamda ayirmasini
bajaradigan funksiyalar-a`zolari bo’lgan TO‘PLAM_AMALLARI sinfi TO‘PLAM sinfi
vorisi qilib aniqlansin.
10. Berilgan satrni oqimdan o’qish, saqlash, chop qilish amallarini bajaradigan MATN sinfi
yaratilsin. Uning vorisi sifatida faqat lotin harfida yozilgan matnni shifrlaydigan va qayta
tiklaydigan SHIFRLASH sinfi aniqlansin. Shifrlash uchun lotin harflar alfaviti olinadi.
Jarayon matndagi har bir harf bo’yicha chapdan o’ng tomonga ketma-ket ravishda amalga
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
305
oshiriladi. Har qadamda alfavitni ko’rsatilgan songa siklik chapga suriladi va matndagi
ayni harfni uning hosil bo’lgan alfavitdagi o’rnidagi (indexidagi) harf bilan almashtiriladi.
Har bir qadam uchun alfavitni surish soni beriladi. Masalan, 5,3,2,4 sonlari berilgan
bo’lsin. Birinchi qadamda (matnning birinchi harfini kodlashda) alfavit 5 marta chapga
siklik suriladi va yani paytda qaralayotgan harf uning hosil bo’lgan alfavitdagi o’rni-soni
bilan almashtiriladi. Ikkinchi qadamda alfavit yana 3 marta chapga suriladi va hakoza.
To’rtinchi
qadamdan keyin, ya`ni alfavit 4 marta chapga surilgandan keyin, surilshlar
ro’xati takrorlanadi.
11. Stekni amalga oshiruvchi STEK sinfi aniqlansin. Unda stekni tozalash, unga qiymat
joylashtirish, o’chirish amallari bajarilsin. Ushbu sinfning vorisi bo’lgan LABIRINT
sinfidan labirintdan chiqish masalasini echishda foydalanilsin. Labirint kvadratlardan
tashkil topgan matritsa ko’rinishida beriladi. Har bir kvadrat ochiq yoki yopiq bo’ladi.
Yopiq kvadratga kirish mumkin emas. Agar kvadrat ochiq bo’lsa
uning yon tomonidan
kirish mumkin (burchagidan kirish mumkin emas). Har bir kvadrat uning matritsadagi
koordinatalari bilan beriladi. Labirintdan chiqich amalga oshirilganda topilgan yo’l chop
qilinadi (kvadratlar koordinatalari juftliklarining ketma-ketligi).
12. Shaxmat katagi ikkita belgidan tashkil topgan k katak ko’rinishida berilgan: lotin harfi (a
dan h gacha) va raqam (1 dan 8 gacha), masalan a2 yoki g5. Ularni farzin joylashgan
shaxmat taxtasidagi katak koordinatalari sifatida qarab, farzin «uradigan» kataklarni «X»,
boshqa kataklarni «0» bilan belgilab, shaxmat taxtasining ko'rinishi chop qilish imkonin
beruvchi SHAXMAT sinfi aniqlansin.
13. Ko’rsatgich asosida yaratilgan butun sonlardan iborat navbatni tavsivlovchi NAVBAT
sinfida navbat bilan ishlash, ya'ni elementlar oxiriga qo'shish, boshidan o'chirish («birinchi
kelgan – birinchi ketadi») bilan bog’liq quyidagi funksiya aniqlanishi zarur bo'ladi:
Tozalash()- bo'sh navbatni yaratuvchi (navbatni tozalovchi);
BushNavbat()- navbatni bo'shligini tekshiruvchi;
Navbatga() - navbat oxiriga yangi element qo'shuvchi;
Navbatdan()- navbatdagi birinchi elementni qaytaruvchi va uni navbatdan o’chiruvchi.
NAVBAT sinfining vorisi sifatida sonlarning umumiy navbatidan
sonlarni musbat sonlar
navbatiga
va
musbat
bo’lmagan
sonlar
navbatiga
ajratuvchi
MUSBAT_MANFIY_NAVBATLAR sinfi aniqlansin.
14. Tassodifiy son hosil qiluvchisini shakllarning yuzasini va hajmini hisoblashda qo’llash
mumkin. Shunday usullardan birini Monte-Karlo usuli deyiladi va uning mohiyati
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
306
quyidagicha: faraz qilaylik, M shakl birlik kvadrat ichida to’laligicha yotibdi. Tassodifiy
son hosil qiluvchisi yordamida birlik kvadrat ichida n son tanlandi va
( )
n
orqali M shakl
ichiga tushgan sonlar miqdorini belgilaylik. U holda geometrik ma’lumki, M shakl yuzasi
taqriban
( )