3- variant. 1- laboratoriya ishi



Download 89.34 Kb.
Sana17.05.2021
Hajmi89.34 Kb.

3- variant.

1- LABORATORIYA ISHI

  1. OBYEKTGA YO’NALTIRILGAN DASTURLASH

    1. Noma’lum turlar va noma’lum nomlar fazosi

  1. Telefon va notebook class larini yarating va ularni bog’lovchi funksiyalar yarating

Dastur ko’di:

// Telefon va notebook classlarini bog'lovchi funksiyalar

#include

using namespace std;

class mobile {

private:


int makeyear;

int hotirasi;

public:

mobile ( int makeyear, int hotirasi){

this ->makeyear=makeyear;

this ->hotirasi=hotirasi;

}

virtual int getmakeyear (){



return makeyear;

}

virtual int gethotirasi (){



return hotirasi;

}

};



class Telefon : public mobile {

public:


Telefon ( int makeyear, int hotirasi) : mobile (makeyear, hotirasi){}

};

class Notebook : public mobile {



public:

Notebook (int makeyear, int hotirasi) : mobile ( makeyear , hotirasi){}

};

int main (){



Telefon Tel= Telefon (2019,16);

Notebook Note= Notebook (2016, 1000);

cout<<"\n _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-\n";

cout<<" chiqilgan yili : "<

cout<<" telefon xotirasi GB : "<

cout<<"_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-\n";

cout<<" ishlab chiqilgan yili : "<

cout<<" notebook xotirasi GB : "<

cout<<"_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-\n";

}

Natija:






    1. Classlar o’rtasida vorislikni tashkil qilish. Overriding va overloading bo’ladigan funksiyalarni yaratish

3.

Sana (uchta son):

kun, oy,yil



Dori-darmon:

nomi, ishlab chiqarilgan sanasi, ishlab chiqarish firmasi



Dori-darmon ishlab chiqarilganidan keyin necha kun o’tganligini hisoblang.

Dastur ko’di:

#include

#include

using namespace std;

class Day {

private: int sana, oy, yil;

public:

Day (int san, int o,int y){ sana=san; oy=o; yil= y; }

int getsana (){ return sana; }

int getoy (){ return oy; }

int getyil(){ return yil; }

Day (){}

};

class Dori {



private:

string dorinomi, firmasi;

int chsana, choy, chyil;

public:


Dori (string d, string f, int sa, int oy, int yil){

dorinomi=d; firmasi= f; chsana= sa; choy= oy; chyil=yil; }

string getdorinomi (){ return dorinomi; }

string getfirmasi (){ return firmasi; }

int getchsana (){ return chsana; }

int getchoy (){ return choy; }

int getchyil(){ return chyil; }

Dori (){}

};

class Kun : public Dori , public Day {



private:

Day day; Dori dori;

public:

Kun ( Day day, Dori dori ){

this -> day= day; this -> dori= dori;

}

void Sana (){ int q=0;



q= (day.getyil()- dori.getchyil())*366+(day.getoy()-dori.getchoy())*30+(day.getsana()-dori.getchsana());

cout<<"\n\n";

if (q) {

cout<<"Dori nomi : "<

}

else cout<<" Siz sanani hatoni kiritdingiz hali dori chiqman :) \n\n";



}

};

int main (){



string dor, fir;

int aa,bb,cc; int dd,ee,ff;

cout<<"\n\n ";

cout<<" dori nomini kiriting : "; cin>>dor;

cout<<" dori firmasini kiriting : "; cin>>fir;

cout<<" dorining chiqgan yilni kiriting : "; cin>>aa;

cout<<" dorining chiqgan oyini kiriting : "; cin>>bb;

cout<<" dorining chiqgan sanasini kiriting: "; cin>>cc;

cout<<"============================================================\n\n";

cout<<" bugungi sanani kiriting : "; cin>>dd;

cout<<" bu oyni kiriting : "; cin>>ee;

cout<<" bu yilni kiritng : "; cin>>ff;

cout<<"============================================================\n\n";

Dori dori(dor, fir,cc, bb,aa);

Day day (dd, ee,ff);

Kun kun (day, dori );

kun.Sana();

}

Natija:






    1. OYD ning merosxo’rlik va polimorfizm xususiyatlaridan foydalangan holda vazifaga muvofiq dasturlar yaratish



3

Kompyuter” classini yarating. Maydonlari: Protsessor chastotasi (MGts), yadro soni, operativ xotira hajmi (MB), qattiq disk hajmi (GB), narxi. Ikkita virtual metod yarating: “Narx” metodida quyidagi formula orqali taxminiy narxni hisoblang: protsessor chastotasi 2000 MGts, yadro soni 2 dan kam bo’lmagan operativ xotira hajmi kamida 2048 Mb va qattiq disk hajmi 320 Gb bo’lsa, Protsessor chastotasi * yadro soni / 100 + xotira miqdori / 80 + qattiq disk hajmi / 20 formula orqali narxni($ dollar hisobida) hisoblasin. Mantiqiy tur qaytaruvchi “Yaroqlilik” nomli metod yarating. Ushbu metod Protsessor chastotasi 2000 MGts, yadro soni 2 dan kam bo’lmasa, operativ xotirasi 2048 MB dan kam bo’lmasa va qattiq disk hajmi kamida 320 GB bo’lsa rost(true), aks holda yolg’on(false) qiymat qaytarsin. Bundan tashqari, kompyuterlar haqida ma'lumotlarni chop etuvchi “Print” metodini yarating: protsessor chastotasi, yadro soni, operativ xotira hajmi, qattiq disk hajmi, narxi va ehtiyojlarimiz uchun yaroqliligi.

Shuningdek, “Noutbuk” nomli avlod classini yarating. Qo’shimcha parametri - batareyaning ishlash muddati (daqiqada). Qayta yuklangan ikkita metod: “Narx” metodi oddiy kompyuterning narxiga teng miqdorga + batareya ishlash muddati daqiqalari soni * 10 ($ dollar hisobida) ga teng bo'ladi va “Yaroqlilik” metodi oddiy kompyuter shartlarini bajarganda va batareya ishlash muddati 240 daqiqadan kam bo’lmaganda rost(true), aks holda yolg’on(false) qiymat qaytarsin. Bundan tashqari, kompyuterlar haqida ma'lumotlarni chop etuvchi “Print” metodini yarating: protsessor chastotasi, yadro soni, operativ xotira hajmi, qattiq disk hajmi, narxi va ehtiyojlarimiz uchun yaroqliligi.

Asosiy dasturda kompyuter va noutbuk classlarining obyektlarini yarating va ular haqidagi ma'lumotlarni namoyish qiling.


Dastur ko’di:

#include

using namespace std;
namespace Komp {

class Kompyuter {

private:

double prchas, yadson, operxotira, qattiqdisk, narx;

public:

Kompyuter (){};

Kompyuter(double prchas, double yadson, double operxotira, double qattiqdisk ): prchas(prchas), yadson(yadson),operxotira(operxotira), qattiqdisk(qattiqdisk) {}
virtual int Narx (){

if (prchas >=2000 && yadson >=2 && operxotira >=2048 && qattiqdisk >=320 ){


narx = (prchas*yadson)/100+(operxotira)/80+ (qattiqdisk)/20;

}

else {



narx=0;

cout<<" Kompyuter tekin beriladi :) "<

}

return narx;



}

virtual bool Yaroqlilik (){

bool a=false;

if (prchas>=2000 && yadson>=2 && operxotira>=2048 && qattiqdisk>=320 ){

a=true;

cout<<" Kompyuter yaroqli : "<

}

else {


cout<<" Kompyuter yaroqsiz: "<

}

}



virtual void Print (){
cout<<" Kompyuter chastotasi : "<


cout<<" Kompyuter yadrosi soni : "<

cout<<" Kompyuter operativ hotira : "<

cout<<" Kompyuter qattiq disk hajm: "<

cout<<" Kompyuter narxi : "<

}

};


class Noutbook : public Kompyuter {

private:

double nprchas, nyadson, noperxotira, nqattiqdisk, nnarx;

double Batareya ;

public:

Noutbook(double nprchas, double nyadson, double noperxotira, double nqattiqdisk, double Batareya) :

nprchas(nprchas), nyadson(nyadson), noperxotira(noperxotira), nqattiqdisk(nqattiqdisk), Batareya(Batareya) {}
int Narx() override{

if (nprchas>=2000 && nyadson>=2 && noperxotira>=2048 && nqattiqdisk>=320 ){


nnarx = (nprchas*nyadson)/100+(noperxotira)/80+ (nqattiqdisk)/20+Batareya*10;

}

else {



nnarx=0;

cout<<" Kompyuter tekin beriladi :) "<

}

return nnarx;



}

bool Yaroqlilik ()override {

bool b=false;

if (nprchas>=2000 && nyadson>=2 && noperxotira>=2048 && nqattiqdisk>=320 && Batareya>=240){

b=true;

cout<<" Kompyuter yaroqli : "<

}

else {


cout<<" Kompyuter yaroqsiz: "<

}

}



void Print () override{
cout<<" Noutbook chastotasi : "<

cout<<" Noutbook yadrosi soni : "<

cout<<" Noutbook operativ hotira : "<

cout<<" Noutbook qattiq disk hajm: "<

cout<<" Noutbook batareya o'lchovi:"<

cout<<" Noutbook narxi : "<

}

};


}

using namespace Komp;

int main (){

Kompyuter K= Kompyuter(2050,3,2080,360 );

Noutbook N= Noutbook (2100, 4,2048, 400, 300);

K.Print();

K.Yaroqlilik();

cout<<"___________________________________________________"<

N.Print();

N.Yaroqlilik();

return 0;

}

Natija:




Download 89.34 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2020
ma'muriyatiga murojaat qiling

    Bosh sahifa
davlat universiteti
ta’lim vazirligi
O’zbekiston respublikasi
maxsus ta’lim
zbekiston respublikasi
axborot texnologiyalari
o’rta maxsus
davlat pedagogika
nomidagi toshkent
guruh talabasi
pedagogika instituti
texnologiyalari universiteti
toshkent axborot
xorazmiy nomidagi
rivojlantirish vazirligi
samarqand davlat
haqida tushuncha
navoiy nomidagi
toshkent davlat
nomidagi samarqand
ta’limi vazirligi
Darsning maqsadi
vazirligi toshkent
Toshkent davlat
tashkil etish
kommunikatsiyalarini rivojlantirish
Ўзбекистон республикаси
Alisher navoiy
matematika fakulteti
bilan ishlash
Nizomiy nomidagi
vazirligi muhammad
pedagogika universiteti
fanining predmeti
таълим вазирлиги
sinflar uchun
o’rta ta’lim
maxsus ta'lim
fanlar fakulteti
ta'lim vazirligi
Toshkent axborot
махсус таълим
tibbiyot akademiyasi
umumiy o’rta
pedagogika fakulteti
haqida umumiy
Referat mavzu
fizika matematika
universiteti fizika
ishlab chiqarish
Navoiy davlat