Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМКД_ОБП_Урдабаева.doc
Скачиваний:
113
Добавлен:
01.03.2016
Размер:
1.29 Mб
Скачать

Қр білім және ғылым министрлігі

Қ. Жұбанов атындағы Ақтөбе мемелекеттік университеті

Информатика және ЕТ кафедрасы

050602 - «Информатика» мамандығы күндізгі бөлімінің

4-курс студенттеріне арналған

«OBP 4301 Объектіге бағытталған программалау» пәнінен

практикалық сабақтарды жүргізуге арналған әдістемелік нұсқау

ПРАКТИКАЛЫҚ ЖҰМЫС №1

С++ ТІЛІНІҢ ОБЪЕКТІЛІ-БАҒЫТТАЛҒАН ҚҰРАЛДАРЫ. КЛАСТАР ЖӘНЕ ОБЪЕКТІЛЕР

ЖҰМЫС МАҚСАТЫ: С++ ортасында класс құру, құрылған класпен жұмыс жасау біліктілігін қалыптастыру, класс типті айнымалы – объект құруды үйрету, кластардың функция мүшелерін қолдану тәсілдерін меңгерту.

ПРАКТИКАЛЫҚ САБАҚ ЖОСПАРЫ:

  1. Негізгі теориялық мәліметтерді қайталау.

  2. Шығарылған мысал есептерді талқылау.

  3. Тапсырма ретінде берілген есептерді шығару.

  4. Өз бетімен орындауға үй тапсырмасын беру.

  5. Сабақты қорытындылау. Блиц-тест.

БАҚЫЛАУ СҰРАҚТАРЫ:

  1. Класс дегеніміз не?

  2. Объект дегеніміз не?

  3. Әдістер қалай анықталады?

  4. Класс әдістерін сипаттау және шақыру қалай орындалады?

  5. Объект өрістері қалай инициализацияланады?

ГЛОССАРИЙ

Класс - мәліметтердің құрылымдық типі.

Объект – класс типті айнымалы.

Әдіс - функциялар немесе компонентті функциялар.

Private – кластың ішкі компоненттері.

Protected – кластың қорғалған компоненттері.

Public – кластың жалпы компоненттері.

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

1-мысал.

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

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

Алгоритм:

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

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

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

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

#include <iostream.h>

#include <stdlib.h>

#include <time.h>

class Komp{

int a,b;

public:

void Vvod();

void Slog();

void Umnog();

void Vich(); };

void Komp::Vvod()

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

cout<<endl;

cin>>a;

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

cout<<endl;

cin>>b;

cout<<endl; cout<<"Комплекс сан: ";

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

cout<<endl;}

void Komp::Slog()

{int t,d,x,z;

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

cout<<endl;

cin>>t;

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

cout<<endl;

cin>>d;

cout<<endl;

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

cout<<endl;

cin>>x;

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

cout<<endl;

cin>>z;

a=(t+x);

b=(d+z);

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

cout<<endl;

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

cout<<endl;}

void Komp::Umnog()

{int t,d,x,z;

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

cout<<endl;

cin>>t;

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

cout<<endl;

cin>>d;

cout<<endl;

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

cout<<endl;

cin>>x;

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

cout<<endl;

cin>>z;

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

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

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

cout<<endl;

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

void Komp::Vich()

{int t,d,x,z;

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

cout<<endl;

cin>>t;

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

cin>>d;

cout<<endl;

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

cout<<endl;

cin>>x;

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

cin>>z;

a=(t-x);

b=(d-z);

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

cout<<endl;

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

void main()

{ Komp c;

int v;

v=1;

while(v!=0)

{cout<<endl;

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

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

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

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

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

cin>>v;

if (v==1)

{c.Vvod();}

if (v==2)

{c.Slog();}

if (v==3)

{c.Umnog();}

if (v==4)

{c.Vich();}} }

2-мысал.

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

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

include <iostream.h>

#include <string.h>

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; }