- •Қазақстан республикасы білім және ғылым министрлігі қ. Жұбанов атындағы ақтөбе мемлекеттік университеті
- •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. Литерлік шамаларға қолданылатын функциялар қай кітапханада орналасқан?
- •Келісу парағы
2. Орындауға арналған тапсырмалар:
Дата класымен жұмыс жасайтын программа құрыңыз. Программа берілген класпен енгізу, мәнді шығару амалдарын орындасын.
Жол класымен жұмыс жасайтын программа құрыңыз. Класс келесі өрістерді қосуы керек: жол массиві, оның ұзындығы, құрылған уақыты. Программа берілген класпен жұмыс жасайтын қарапайым функцияларды қамтуы керек: жолды өзгерту, жолды енгізу, жолдан жол бөлігін табу.
Өз бетімен орындауға арналған тапсырмалар (үй тапсырмасы):
Призма бетінің ауданын және көлемін есептеу мүмкіндігін беретін объект құрылымын сипаттау. Берілген объект көмегімен призма бетінің ауданы мен көлемін есептейтін программа жазу.
Жолдарға арналған класс құру. Жол символдар масссиві ретінде сақталуы қажет. Класта ішкі жолдарды алу, барлық символдарды жоғарғы және төменгі регистрлерге ауыстыру әдістері қарастырылу қажет.
Кез келген өлшемді матрицаны сипаттайтын класс құру. Жолдар мен бағандар санын өзгерту мүмкіндігін, кез келген өлшемді ішкі матрицаны және барлық матрицаны экранға шығару мүмкіндігін қарастыру. Осы класпен жұмыс жасайтын программа жазу. Программада кластың барлық әдістерін тексеруге мүмкіндік беретін мәзір болуы қажет.
БЛИЦ-ТЕСТ
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
ӘДЕБИЕТТЕР:
Г.С. Иванова и др. ООП: Учебник для вузов, М., Изд-во МГТУ им.Баумана, 2003.- 368 с.
Павловская Т.А. С и С++. Программирование на языке высокого уровня.
Р.Вайнер, Л.Пинсон. С++ ИЗНУТРИ.
Р. Лафоре. Объектно-ориентированное программирование в С++.4-е издание. Питер.2004
Г. Шилдт. Самоучитель C++. - Санкт-Петербург, Изд. BHV, 2004.
А.В. Замулин. Курс лекций: Объектно-ориентированное программирование (С++)
Подбельский В.В., Фомин С.С. Программирование на языке Си: Учебное пособие. – М.: Финансы и статистика, 2004
Практикалық жұмыс №2 конструкторларды және деструкторларды құру
ЖҰМЫС МАҚСАТЫ: конструкторлардың әртүрлі типтерінің ерекшеліктерін меңгерту, деструкторлардың қолданылу жағдайларын қарастыру.
ПРАКТИКАЛЫҚ САБАҚ ЖОСПАРЫ:
Негізгі теориялық мәліметтерді қайталау.
Шығарылған мысал есептерді талқылау.
Тапсырма ретінде берілген есептерді шығару.
Өз бетімен орындауға үй тапсырмасын беру.
Сабақты қорытындылау. Блиц-тест.
БАҚЫЛАУ СҰРАҚТАРЫ:
class-тың struct-тан айырмашылығы неде?
Конструктор дегеніміз не, ол не үшін қажет, қашан шақырылады?
Деструктор дегеніміз не, ол не үшін қажет, қашан шақырылады?
Көшіру конструкторының ерекшелігі неде және қай кезде қажет?
Конструктордың түрлері қандай?
ГЛОССАРИЙ
Конструктор – класс айнымалыларын инициализациялауға және жадыдан орын бөлуге арналған айрықша функция.
Қалыпты жағдайда берілген конструктор – инициализациялауға арналған айқын мәндер болмаған кезде объект құруға пайдаланылатын конструктор.
Деструктор - өшірілген объекті орын алатын динамикалық жадыны босату үшін қызмет ететін арнайы функция.
Объект – класс типті айнымалы.
Төменде келтірілген мысалдарды талқылаңыз:
1-мысал.
Есептің берілгені: Time класына параметрлі конструкторды қолдану арқылы мән беру.
Программасы:
#include<iostream.h>
#include<conio.h>
Class Time(int h,int m,int s){
{
Public:
Time();
Void settime(int,int,int);
Void print();
Privaite:
Int hour;
Int minute;
Int second; };
Time::Time();
Hour=minute=recond=0; }
Void Time::Settime (int h,int m, int s){
If ((h>=0)&&(h<24) hour=h; else hour=0;
If ((m>=0)&&(m<60)minute=m; else minute=0;
If ((s>=0)&&(s<60) second=s; else second=0;
/* hour=((h>=0)&&(h<24))?h:0;
minute=(m>=0 && m<60)?m:0;
second=(s>=0 && s<60)?s:0;
void Time::printMlitary()}
cout<<hour<<”:”<<minute<<”:”<<second; }
Main()
{ Time t;
Cout<<”уақытты енгізу”;
t.print();
cout<<endl.
t.Settime(13,27,6);
cout<<endl;
t.print();
getch(); }
2-мысал. Конструктор sstr класының объект өрістерін инициализациялайды және жол ұзындығын тексеруді орындайды.
#include <string.h>
#include <iostream.h>
#include <conio.h>
class sstr
{private: char strl[40];
public: int x,y;
void print(void)
{cout«" жалпы өрістер мазмұны: " « endl;
cout«"x= "«x«"y= "«y«endl;
cout«"жасырылған өрістер мазмұны:" « endl;
cout«" str1=" «strl«endl;}
sstr(int vx, int vy, char *vs) // sstr класының конструкторы
{ int len=strlen(vs);
if(len>=40) {strncpy(strl,vs,40);str1[40]=’\0’;} elsestrcpy(str1,vs);
x=vx;y=vy; }
} :
Void main()
{ clrscr();
sstr аа(200, 150,'' конструктора мысалы '');
aa.print();
getch();
}