Microsoft Word 2-deadline shablon docx




Download 0,91 Mb.
Pdf ko'rish
Sana11.12.2023
Hajmi0,91 Mb.
#115417
Bog'liq
2-deadline



6-Amaliy mashg‘ulot: Ma’lumotlarni saralash algoritmlari va dasturlarini ishlab 
chiqish. 
Ishdan maqsad: Ushbu amaliyot ishining maqsadi talabalar qanday saralash 
usullari va algoritmlari mavjudligini va ularning samaradorliklarini baholashni 
o‘rganishlari kerak. Shu asosda saralash usullarini qiyosiy tahlil qilishlari, C++ 
dasturlash tilida fayllar bilan ishlashni va ularga oid dasturlar tuzishni o‘zlashtirishlari 
kerak. 
Qo‘yilgan masala: Talabalar topshiriq variantiga mos saralash usuli yordamida 
masalani yechish dasturini yaratish ko‘nikmasiga ega bo‘lishlari kerak. 
Ish tartibi: 
1. 
Tajriba ishi nazariy ma’lumotlarini o‘rganish; 
2. 
Berilgan topshiriqning algoritmini ishlab chiqish; 
3. 
C++ dasturlash muhitida dasturni yaratish; 
4. 
Natijalarni tekshirish; 
5. 
Hisobotni tayyorlash va topshirish. 
Pufakchali usuli bilan saralash algoritmi. 
Bunday usul karta o‘yinida keng qo‘llaniladi. Elementlar (kartalar) hayolan 
“tayyor” a(1),...,a(i-1) va boshlang‘ich ketma-ketliklarga bo‘linadi. Har bir qadamda 
(i=2 dan boshlanib, har bir qadamda bir birlikka oshirib boriladi) boshlang‘ich ketma-
ketlikdan i-chi element ajratib olinib tayyor ketma-ketlikning kerakli joyiga qo‘yiladi. 
Pufakcha orqali saralash algoritmi quyidagicha bo‘ladi: 
for (int i = n-1; i >= 1; i--) 

for (int j = 0; j < i; j++) 

if (a[j] > a[j+1]) 

swap(a[j],a[j+1]);}} 
for (int i = 0; i < n; i++) 
cout<Amaliy qism: 
Ixtiyoriy nomdagi ro’yxat elementlari e’lon qilinsin va ixtiyoriy qiymatlar bilan 
kiritilsin. Insert() funksiyasida foydalangan xolda qo’shimcha qiymatlar kiritilsin. 
Unique() funksiyasidan foydalanibelementlar saralansin, natijalar ekranga chop etilsin. 


7-Amaliy mashg‘ulot: Chiziqli ma’lumotlar tuzilmalarini qayta ishlash 
algoritmlari va dasturlarini tuzish. 
Ishdan maqsad: Ushbu amaliyot ishining maqsadi talabalar ma’lumotlar 
tuzilmalarini qayta ishlash algoritmlari va dasturlarini tuzishni va va ularga oid 
dasturlar tuzishni o‘zlashtirishlari kerak. 
Qo‘yilgan masala: Talabalar topshiriq variantiga mos ro‘yxatlar yordamida 
masalani yechish dasturini yaratish ko‘nikmasiga ega bo‘lishlari kerak. 
Ish tartibi: 
1. 
Tajriba ishi nazariy ma’lumotlarini o‘rganish; 
2. 
Berilgan topshiriqning algoritmini ishlab chiqish; 
3. 
C++ dasturlash muhitida dasturni yaratish; 
4. 
Natijalarni tekshirish; 
5. 
Hisobotni tayyorlash va topshirish. 
Amaliy qism: 
1. 
Navbat konteyneri asosida push()funksiyasidan foydalanib string tipidagi 
ma’lumotlar kiritilsin, birinchi va oxirgi elementlari ekranga chiqarilsin, hajmi topilsin. 


8-Amaliy mashg‘ulot: Chiziqli bog‘langan ro‘yxatlar bilan ishlash algoritmlari va dasturlarini tuzish.
Ishdan maqsad: Ushbu amaliyot ishining maqsadi talabalar ro‘yxatlar 
mavjudligini va ularning samaradorliklarini baholashni o‘rganishlari kerak. Shu asosda 
sinflar usullarini qiyosiy tahlil qilishlari, C++ dasturlash tilida ro‘yxatlar bilan ishlashni 
va ularga oid dasturlar tuzishni o‘zlashtirishlari kerak. 
Qo‘yilgan masala: Talabalar topshiriq variantiga mos ro‘yxatlar yordamida 
masalani yechish dasturini yaratish ko‘nikmasiga ega bo‘lishlari kerak. 
Ish tartibi: 
6. Tajriba ishi nazariy ma’lumotlarini o‘rganish; 
7. Berilgan topshiriqning algoritmini ishlab chiqish; 
8. C++ dasturlash muhitida dasturni yaratish; 
9. Natijalarni tekshirish; 
10. Hisobotni tayyorlash va topshirish. 
Array va Vector bir-biriga yaqin konteynerlardir, ya’ni ular o‘zlarining 
ma’lumotlarini doimiy xotirada saqlaydilar, shuning uchun vektor / massivning 
o‘rtasiga qo‘shib qo‘yish juda qimmatga tushadi (operaton soni va ishlov berish vaqti 
bo‘yicha), chunki biz barcha elementlarni almashtirishimiz kerak, bog‘langan ro‘yxat 
ushbu muammoni engib chiqadi. Bog‘langan ro‘yxat ro‘yxat konteyneridan 
foydalanish orqali amalga oshirilishi mumkin. 
Amaliy qism:
Ikki tomonlama navbat tuzilmasidan foydalanib, char tipidagi elementlarini 
push_front() va push_back funksiyalari yordamida qo’shing. Front() va back() 
funksiyalaridan 
foydalaning.


9-Amaliy mashg‘ulot: Stek, navbat va dek bilan ishlash algoritmlari va 
dasturlarini tuzish. 
Ishdan maqsad. Ushbu amaliyot ishida talabalar STL komponentalaridan biri 
bo‘lgan stek bilan tanishib chiqishi hamda stekda mavjud bo‘lgan funksiyalar bilan 
ishlashni o‘rganishlari kerak.
Qo‘yilgan masala. Talabalar topshiriq variantiga mos ravishda steklar ustida 
berilgan funksiyalar bilan ishlash ko‘nikmasiga ega bo‘lishlari kerak. 
Ish tartibi: 
 Tajriba ishi nazariy ma’lumotlarini o‘rganish; 
 Berilgan topshiriqning algoritmini ishlab chiqish; 
 C++ dasturlash muhitida dasturni yaratish; 
 Natijalarni tekshirish; 
 Hisobotni tayyorlash va topshirish. 
Stakning barcha elementlari bir xil bo‘lganligi sababli, C yoki C ++ dagi Arrays 
yordamida stekni amalga oshirish juda oson. Stakning birinchi elementini birinchi qator 
uyasiga, stackning ikkinchi elementini ikkinchi qator uyasiga va hokazolarni qo‘yish 
mumkin. Stekning yuqori qismi bu stekka qo‘shilgan so‘nggi elementning indeksidir. 
Stekni amalga oshirishda stack elementlari massivda saqlanadi.
STACK bu ma’lumotlar strukturasi bo‘lib, unda elementlarga faqat bitta uchida, 
ya’ni Last In First Out ma’lumotlar tuzilmasida kirish mumkin (ochilgan yoki 
itarilgan). Shunday qilib, stack elementiga faqat tepadan kirish mumkin, pastki yoki 
o‘rtadan emas.Stekning bu xususiyati juda muhimdir va uni yaxshi tushunish kerak. 
Massivning yuqori holatini kuzatib borish uchun biz shunchaki Top of Stack deb 
nomlangan boshqa o‘zgaruvchini e’lon qilishimiz mumkin. 
Stack LIFO algoritmini, ya’ni Last In First Out (LIFO) tuzilmasidan foydalanadi. 
Yangi boshlanuvchilar uchun bu biroz chalkash, ammo bu juda oson tushuncha(5-rasm) 
Amaliy qism:
1. 
Ikki tomonlama navbat tuzilmasidan foydalanib, char tipidagi elementlarini 
push_front() va push_back funksiyalari yordamida qo’shing. Front() va back() 
funksiyalaridan foydalaning. 


10-Amaliy mashg‘ulot: Daraxtsimon ma’lumotlar tuzilmalarini qayta ishlash 
algoritmlari va dasturlarini tuzish. 
Ishdan maqsad. Ushbu amaliyot ishida talabalar daraxtsimon ma’lumotlar 
tushunchasi bilan tanishib chiqishi hamda daraxt balandligi va binar daraxtlar ustida 
amallar bajarish 
Qo‘yilgan masala. Talabalar topshiriq variantiga mos ravishda binar darxtlar 
ustida berilgan amallar bilan ishlash ko‘nikmasiga ega bo‘lishlari kerak. 
Ish tartibi: 
 Tajriba ishi nazariy ma’lumotlarini o‘rganish; 
 Berilgan topshiriqning algoritmini ishlab chiqish; 
 C++ dasturlash muhitida dasturni yaratish; 
 Natijalarni tekshirish; 
 Hisobotni tayyorlash va topshirish. 
Amaliy qism:
vector  list; dan foydalangan xolda swap() va emplace() funksiyalaridan 
foydalaning va natijalar ekranga chiqarilsin. 



Download 0,91 Mb.




Download 0,91 Mb.
Pdf ko'rish