Wordbuilder
Download 0.55 Mb.
|
6-10 amaliyot-2-deadline(1) (2)
AMALIY MASHG'ULOT-6 Mavzu: Sinflarni qo'llash. Sinflarning konstruktor va destruktorlari. Qayta yuklash va qayta aniqlash usullari. Sinflarni qo'llash. Do'stona va virtual funksiyalar. Ishdan maqsad: Ushbu laboratoriya ishining maqsadi talabalar Sinflar mavjudligini va ularning samaradorliklarini baholashni o'rganishlari kerak. Shu asosda sinflar usullarini qiyosiy tahlil qilishlari, C++ dasturlash tilida sinflar bilan ishlashni va ularga oid dasturlar tuzishni o'zlashtirishlari 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. #include using namespace std; class Geeks { // Kirish spetsifikatori public: // Ma'lumotlar a'zolari string geekname; // Funksiya() a’zolari void printname() { cout << "Geekname bu: " << geekname; } }; int main() { // Geeks sinfi ob'ektini e'lon qilish Geeks obj1; // ma'lumotlar a'zosiga kirish obj1.geekname = "quti"; // a'zo funktsiyasiga kirish obj1.printname(); return 0; } AMALIY MASHG'ULOT-7 Mavzu: Konteynerlar ro'yxati. Ro'yxat operatsiyalari. Bog'langan ro'yxat. Birgalikda bog'langan ro'yxat bilan ishlash. Ishdan maqsad: Ushbu laboratoriya 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. 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. #include #include using namespace std; int main(){ list my_list.push_back(15); my_list.push_front(19); for (auto i=my_list.begin(); i!=my_list.end(); i++) cout<<*i<<" "; my_list.pop_back(); cout<<"\n Hajmi: "< } AMALIY MASHG'ULOT-8 Mavzu: Bog'langan ro'yxat. Ikkala bog'langan ro'yxat bilan ishlash. Konteyner steki. Stackning asosiy operatsiyalari. Ishdan maqsad. Ushbu laboratoriya ishida talabalar ikki tomonlama bog'langan ro'yxat(double linked list)lar bilan ishlashni,STL komponentalaridan biri bo'lgan stek bilan tanishib chiqishi hamda stekda mavjud bo'lgan funksiyalar bilan ishlashni o'rganishlari 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. #include #include using namespace std; int main() { stack mystack.push(5); mystack.push(6); mystack.push(7); // Stack 5, 6, 7, bo’ladi mystack.pop(); mystack.pop(); // Stack 5, bo’ladi while (!mystack.empty()) { cout << ' ' < } } . Mavzu: Stekning tuzilishi. Massiv va ro'yxatlar bilan stackni tuzish. Navbat. Navbatdagi asosiy operatsiyalar. Ishdan maqsad. Ushbu laboratoriya ishida talabalar STL komponentalaridan biri bo'lgan stek bilan tanishib chiqishi hamda stekda mavjud bo'lgan funksiyalar bilan ishlashni o'rganishlari 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. #include #include using namespace std; int main() { queue cout << "Foydalanuvchi 6 ta raqamni kiriting: " << endl; for (int h = 0; h < 6; h++) { int a; cin >> a; q.push(a); // elementlarni navbatga qo'shish } cout << endl; cout << "Navbatdagi birinchi element: " < q.pop(); // elementni navbatdan olib tashlash cout << "Yangi birinchi element (o'chirilgandan so'ng): " < if (!q.empty()) cout << "Navbat bo'sh emas!"; // navbatning bo'shligini system("pause"); return 0; } . AMALIY MASHG'ULOT-10 Mavzu: Navbat tuzilmasi. Ro'yxatlar yordamida navbatni amalga oshirish. Dek tuzilmasi. Asosiy operatsiyalar. Ishdan maqsad. Ushbu laboratoriya ishida talabalar ro'yxatlar yordamida navbatni amalga oshirishni, talabalarSTL komponentlaridan biri bo'lgan dek(deque) bilanishlashni o'rganishlari 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. #include #include using namespace std; void showdq(deque { deque for (it = g.begin(); it != g.end(); ++it) cout << '\t' << *it; cout << '\n'; } int main() { deque gquiz.push_back(33); gquiz.push_front(45); gquiz.push_back(54); gquiz.push_front(81); gquiz.push_front(77); gquiz.push_front(18); cout << "Bu dek : "; showdq(gquiz); cout << "\ngquiz.size() : " << gquiz.size(); cout << "\ngquiz.max_size() : " << gquiz.max_size(); cout << "\ngquiz.at(2) : " << gquiz.at(2); cout << "\ngquiz.front() : " << gquiz.front(); cout << "\ngquiz.back() : " << gquiz.back(); cout << "\ngquiz.pop_front() : "; gquiz.pop_front(); showdq(gquiz); cout << "\ngquiz.pop_back() : "; gquiz.pop_back(); showdq(gquiz); return 0; } XULOSA
2-amaliy ishda konteynerlar ro’yxati. Ro’yxat operatsiyalari.Bog’langan ro’yxat.Birgalikda bog’langan ro’yxat bilan ishlashni o’rgandim. 3-amaliy ishda bog’langan ro’yxat. Ikkala bog’langan ro’yxat bilan ishlash.Konteyner steki.Stackning asosiy operatsiyalarini bu amaliy mashg’ulotda c++dasturida o’rganib chiqtim. 4-amaliy ishda stekning tuzilishi. Massiv va ro’yxatlar bilan stackni tuzish. Navbat.Navbatdagi asosiy operatsiyalarni o’rganib chiqtim. Oxirgi 5-amaliy ishda Navbat tuzilmasi. Ro’yxatlar yordamida navbatni amalga oshirish.Dek tuzilmasi.Asosiy operatsiyalarni o’rgandim. Download 0.55 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling