Дістемелік кешен


Төменде келтірілген мысалдарды талқылаңыз



бет47/112
Дата22.12.2021
өлшемі0,85 Mb.
#127596
түріПрограмма
1   ...   43   44   45   46   47   48   49   50   ...   112
Байланысты:
ооп лекция

Төменде келтірілген мысалдарды талқылаңыз:

1-мысал.

Есептің берілгені:

Комплекс сандарды сипаттайтын класс құру. Комплекс сандардың қосындысын, айырмасын және көбейтіндісін есептеуді ұйымдастыру. Программада барлық әдістерді тексеретін меню құру.



Алгоритм:

Slog() – екі комплекс санның қосындысы,

Umnog() – екі комплекс санның көбейтіндісі,

Vich() – екі комплекс санның айырмасы.



Программасы:

#include

#include

#include

class Komp{

int a,b;


public:

void Vvod();

void Slog();

void Umnog();

void Vich(); };

void Komp::Vvod()

{cout<<"Санның нақты бөлігін енгізіңіз:";

cout<

cin>>a;

cout<<"Санның жорамал бөлігін енгізіңіз:";

cout<

cin>>b;


cout<cout<< a<<"+i*"<< b;

cout<

void Komp::Slog()

{int t,d,x,z;

cout<<"Бірінші санның нақты бөлігін енгізіңіз:";

cout<

cin>>t;


cout<<"Бірінші санның жорамал бөлігін енгізіңіз:";

cout<

cin>>d;

cout<

cout<<"Екінші санның нақты бөлігі:";

cout<

cin>>x;

cout<<"Екінші санның жорамал бөлігі:";

cout<

cin>>z;


a=(t+x);

b=(d+z);


cout<<"Қосынды:";

cout<

cout<< a<<"+i*"<< b;

cout<

void Komp::Umnog()

{int t,d,x,z;

cout<<" Бірінші санның нақты бөлігін енгізіңіз:";

cout<

cin>>t;

cout<<" Бірінші санның жорамал бөлігін енгізіңіз:";

cout<

cin>>d;


cout<cout<<" Екінші санның нақты бөлігін енгізіңіз:";

cout<

cin>>x;


cout<<" Екінші санның жорамал бөлігін енгізіңіз:";

cout<

cin>>z;

a=(t*x-d*z);

b=(t*z+d*x);

cout<<"Көбейтінді: ";

cout<

cout<< a<<"+i*"<< b;cout<

void Komp::Vich()

{int t,d,x,z;

cout<<"Бірінші санның нақты бөлігі:";

cout<

cin>>t;

cout<<"Бірінші санның жорамал бөлігі:";cout<

cin>>d;

cout<

cout<<"Екінші санның нақты бөлігі: ";

cout<

cin>>x;

cout<<"Екінші санның жорамал бөлігі: ";cout<

cin>>z;

a=(t-x);


b=(d-z);

cout<<"Айырмасы:";

cout<

cout<< a<<"+i*"<< b;cout<

void main()

{ Komp c;

int v;

v=1;


while(v!=0)

{cout<

cout<<"1-санды енгізу";cout<

cout<<"2-сандарды қосу "; cout<

cout<<"3-сандарды көбейту";cout<

cout<<"4-сандар айырмасы";cout<

cout<<"0-шығу";cout<

cin>>v;


if (v==1)

{c.Vvod();}

if (v==2)

{c.Slog();}

if (v==3)

{c.Umnog();}

if (v==4)

{c.Vich();}} }


2-мысал.

Есептің берілгені: жолды инициализациялауды, сақтауды және шығаруды қамтамасыз ететін класты сипаттау қажет болсын.

Программасы:

include

#include

class String //класс сипаттамасының басы

{ private: char str[25]; //класс өрісі – 25 символдан тұратын жол



public:

// компоненттік функциялардың (әдістердің) прототиптері



void setjstr (char *); //жол инициализациясы

void displayjstr(void); //жолды экранға шығару

char * returnjstr(void); //жол мазмұнын алу

};

// компоненттік функцияларды кластан тыс сипаттау



void String::setjstr(char * s) { strcpy(str,s);}

void String::display_str(void) { cout« str « endl; }

char * String::return_str(void) {return str; }
2. Орындауға арналған тапсырмалар:

  1. Дата класымен жұмыс жасайтын программа құрыңыз. Программа берілген класпен енгізу, мәнді шығару амалдарын орындасын.

  2. Жол класымен жұмыс жасайтын программа құрыңыз. Класс келесі өрістерді қосуы керек: жол массиві, оның ұзындығы, құрылған уақыты. Программа берілген класпен жұмыс жасайтын қарапайым функцияларды қамтуы керек: жолды өзгерту, жолды енгізу, жолдан жол бөлігін табу.




  1. Өз бетімен орындауға арналған тапсырмалар (үй тапсырмасы):

  1. Призма бетінің ауданын және көлемін есептеу мүмкіндігін беретін объект құрылымын сипаттау. Берілген объект көмегімен призма бетінің ауданы мен көлемін есептейтін программа жазу.

  2. Жолдарға арналған класс құру. Жол символдар масссиві ретінде сақталуы қажет. Класта ішкі жолдарды алу, барлық символдарды жоғарғы және төменгі регистрлерге ауыстыру әдістері қарастырылу қажет.

  3. Кез келген өлшемді матрицаны сипаттайтын класс құру. Жолдар мен бағандар санын өзгерту мүмкіндігін, кез келген өлшемді ішкі матрицаны және барлық матрицаны экранға шығару мүмкіндігін қарастыру. Осы класпен жұмыс жасайтын программа жазу. Программада кластың барлық әдістерін тексеруге мүмкіндік беретін мәзір болуы қажет.

БЛИЦ-ТЕСТ

1. Класс типті айнымалылар қалай аталады?

a) өрістер b) әдістер c) объектілер d) мұрагерлік

2. Класс функциялары бұл -

a) өрістер b) әдістер c) объектілер d) полиморфизм

3. Қай бөлімде жарияланған класс компоненттері қорғалған деп аталады?

a) public b) private c) protected d) class

4. Қай бөлімде жарияланған класс компоненттері ішкі деп аталады?

a) public b) private c) protected d) class

5. Қай бөлімде жарияланған класс компоненттері жалпы деп аталады?

a) public b) private c) protected d) class


ӘДЕБИЕТТЕР:

  1. Г.С. Иванова и др. ООП: Учебник для вузов, М., Изд-во МГТУ им.Баумана, 2003.- 368 с.

  2. Павловская Т.А. С и С++. Программирование на языке высокого уровня.

  3. Р.Вайнер, Л.Пинсон. С++ ИЗНУТРИ.

  4. Р. Лафоре. Объектно-ориентированное программирование в С++.4-е издание. Питер.2004

  5. Г. Шилдт. Самоучитель C++. - Санкт-Петербург, Изд. BHV, 2004.

  6. А.В. Замулин. Курс лекций: Объектно-ориентированное программирование (С++)

  7. Подбельский В.В., Фомин С.С. Программирование на языке Си: Учебное пособие. – М.: Финансы и статистика, 2004




Достарыңызбен бөлісу:
1   ...   43   44   45   46   47   48   49   50   ...   112




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет