Wordbuilder


Download 0.55 Mb.
Sana14.12.2022
Hajmi0.55 Mb.
#1003709
Bog'liq
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= {};
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: "<return 0;
}

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;
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 << ' ' <mystack.pop();
}

}

.

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 // navbat kutubxonasini ulash
using namespace std;
int main() {
queue q; // q navbat yaratatish
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: " <// navbat elementi
q.pop(); // elementni navbatdan olib tashlash
cout << "Yangi birinchi element (o'chirilgandan so'ng): " <<< endl;
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 g)// “showdq” nomli dekni ko’rsatuvchi funksiya
{
deque :: iterator it;
for (it = g.begin(); it != g.end(); ++it)
cout << '\t' << *it;
cout << '\n';
}
int main()
{
deque gquiz;
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
Men 1-amaliy ishni bajarib sinflarni qo’llash. Sinflarning konstruktor va destruktorlari. Qayta yuklash va qayta aniqlash usullari. Sinflarni qo’llashni bu labaratoriyada o’rganib chiqtim.


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