- •Қазақстан республикасы білім және ғылым министрлігі қ. Жұбанов атындағы ақтөбе мемлекеттік университеті
- •050602 - «Информатика» мамандығы күндізгі бөлімінің
- •«Obp 4301 Объектіге бағытталған программалау» пәнінен
- •II кафедраның әдістемелік секциясы отырысында талқыланды
- •Пән мазмұны
- •Лабораториялық сабақтардың тақырыптарының үлгілі тізімі
- •Өзіндік жұмыстардың тақырыптарының үлгілі тізімі
- •Ұсынылған әдебиеттер тізімі
- •Оқу пәнінің жұмыс бағдарламасы
- •I жұмыс бағдарламасы дайындалып енгізілді
- •II кафедра отырысында талқыланды
- •IV факультеттің оқу-әдістемелік комиссиясына бекітуге ұсынылды
- •V алғашқы тексеру мерзімі 2011 ж. Тексеру мерзімділігі 1 жыл
- •Дәрістер
- •Практика сабақтары
- •Лаборатория сабақтары
- •Негізгі әдебиеттер
- •Оқу пәнінің жұмыс бағдарламасы
- •Пәннің тақырыптық жоспары
- •Өзіндік жұмыс тапсырмалары
- •1. Жұмыс түрлері:
- •2. Жұмыс түрлерін бағалау критериилері:
- •Курстық жұмыстың тақырыптары
- •Пән бойынша тапсырмаларды орындау және тапсыру графигі
- •Пәннің оқу-әдістемемен қамтамасыз ету картасы
- •Қр білім және ғылым министрлігі
- •2. Көпше түрдегі мұрагерлік
- •2. Операторларды қайта анықтаудың түрлері.
- •3. Унарлы операторларды қайта анықтау
- •4. Бинарлы операторларды қайта анықтау
- •5. Меншіктеу операторларын қайта анықтау
- •6. New және delete операторларын қайта анықтау
- •Жәй және күрделі полиморфизм
- •Виртуальді функциялар
- •Иерархия схемасы
- •Қр білім және ғылым министрлігі
- •2. Орындауға арналған тапсырмалар:
- •Практикалық жұмыс №2 конструкторларды және деструкторларды құру
- •2. Орындауға арналған тапсырмалар:
- •3. Өз бетімен орындауға арналған тапсырмалар (үй тапсырмасы):
- •Практикалық жұмыс №3-4 мұрагерлік. Жалғызданған және көпше түрдегі мұрагерлік
- •2. Орындауға арналған тапсырмалар:
- •3. Өз бетімен орындауға арналған тапсырмалар (үй тапсырмасы):
- •Практикалық жұмыс №5-6 полиморфизм. Амалдарды қайта анықтау
- •3. Өз бетімен орындауға арналған тапсырмалар (үй тапсырмасы):
- •5. Литерлік шамаларға қолданылатын функциялар қай кітапханада орналасқан?
- •Практикалық жұмыс №7-8 функциялардың және операторларды қайта жүктеудің бірге қолданылуы
- •3. Өз бетімен орындауға арналған тапсырмалар (үй тапсырмасы):
- •Практикалық жұмыс №9-10 енгізу-шығару ағындары
- •2. Өз бетімен орындауға арналған тапсырмалар (үй тапсырмасы):
- •Қр білім және ғылым министрлігі
- •Жұмысты орындау тәртібі
- •Өзіндік жұмыс тапсырмалары
- •Жұмыс есебі
- •Жұмысты орындау тіртібі
- •Өзіндік жұмыс тапсырмалары
- •Жұмыс есебі
- •Жұмысты орындау тіртібі
- •Өзіндік жұмыс тапсырмалары
- •Жұмыс есебі
- •Лабораторялық жұмыс бойынша сұрақтар
- •Лабораториялық жұмыс № 6-7 объектілер иерархиясы. Топтар. Итераторлар.
- •Қысқаша теориялық мәліметтер
- •Объектілер иерархиясы.
- •Мұндағы gr топ-объект.
- •Жұмысты орындау тәртібі
- •Өзіндік жұмыс тапсырмалары
- •Жұмыс есебі
- •2.Достық функциялар
- •Іі. Жұмыстың орындалу реті
- •Ііі. Өзіндік жұмыс тапсырмалар
- •Жұмыс есебі
- •Іі. Жұмыстың орындалу реті
- •Бүтін сандармен жұмыс жасайтын объект-калькулятор.
- •Жұмысты орындау реті.
- •Әдістемелік нұсқау.
- •Есеп берудің мазмұны.
- •Калькулятор
- •Қр білім және ғылым министрлігі
- •3. Практикалық және лабораториялық сабақтарды орындау
- •Қр білім және ғылым министрлігі
- •Тақырыбы: Конструкторлар және деструкторлар
- •Тақырыбы: Мұрагерлік
- •Тақырыбы: Операторларды қайта жүктеу
- •Тақырыбы: Ағындық кластар
- •Бақылау-өлшеу материалдары
- •21. Литерлік шамаларға қолданылатын функциялар қай кітапханада орналасқан?
- •Келісу парағы
Қр білім және ғылым министрлігі
Қ. Жұбанов атындағы Ақтөбе мемелекеттік университеті
Информатика және ЕТ кафедрасы
050602 - «Информатика» мамандығы күндізгі бөлімінің
4-курс студенттеріне арналған
«OBP 4301 Объектіге бағытталған программалау» пәнінен
практикалық сабақтарды жүргізуге арналған әдістемелік нұсқау
ПРАКТИКАЛЫҚ ЖҰМЫС №1
С++ ТІЛІНІҢ ОБЪЕКТІЛІ-БАҒЫТТАЛҒАН ҚҰРАЛДАРЫ. КЛАСТАР ЖӘНЕ ОБЪЕКТІЛЕР
ЖҰМЫС МАҚСАТЫ: С++ ортасында класс құру, құрылған класпен жұмыс жасау біліктілігін қалыптастыру, класс типті айнымалы – объект құруды үйрету, кластардың функция мүшелерін қолдану тәсілдерін меңгерту.
ПРАКТИКАЛЫҚ САБАҚ ЖОСПАРЫ:
Негізгі теориялық мәліметтерді қайталау.
Шығарылған мысал есептерді талқылау.
Тапсырма ретінде берілген есептерді шығару.
Өз бетімен орындауға үй тапсырмасын беру.
Сабақты қорытындылау. Блиц-тест.
БАҚЫЛАУ СҰРАҚТАРЫ:
Класс дегеніміз не?
Объект дегеніміз не?
Әдістер қалай анықталады?
Класс әдістерін сипаттау және шақыру қалай орындалады?
Объект өрістері қалай инициализацияланады?
ГЛОССАРИЙ
Класс - мәліметтердің құрылымдық типі.
Объект – класс типті айнымалы.
Әдіс - функциялар немесе компонентті функциялар.
Private – кластың ішкі компоненттері.
Protected – кластың қорғалған компоненттері.
Public – кластың жалпы компоненттері.
Төменде келтірілген мысалдарды талқылаңыз:
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; }