- •Қазақстан республикасы білім және ғылым министрлігі қ. Жұбанов атындағы ақтөбе мемлекеттік университеті
- •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. Литерлік шамаларға қолданылатын функциялар қай кітапханада орналасқан?
- •Келісу парағы
Жұмысты орындау тіртібі
1. Теориялық мәліметпен танысыңыз.
2. 1 – 3-ші программалардың жұмысын талдаңыз.
3. Өзіндік жұмыс тапсырмасын орындаңыз
Өзіндік жұмыс тапсырмалары
Өзіндік жұмыс тапсырмаларын орындау үшін 1-ші лабораториялық жұмыста құрылған кластарды негізге алыңыз.
1. Өрнекті және есептеу нәтижесін экранның сәйкес орнына және файлға шығаруға мүмкіндік беретін туынды класс құрыңыз.
2. Берілген координаттарды масштабтайтын және клавиатурадан енгізілген хабарламаны көпбұрышқа шығаратын туынды класс құрыңыз.
3. Сызылған гистограмма үстіне қисық сызықты салатын туынды класс құрыңыз.
4. Экранды гистограмма құратын және осы гистограмма параметрлерін файлға сақтайтын туынды класс құрыңыз.
5. Енгізілген санға сәйкес ағымдық уақытқа файлдан хабарлама шығаратын туынды класс құрыңыз. Файл аты клавиатурадан егізіледі немесе үнсіз түрдегі параметр болып табылады.
6. Енгізілген күндер санына сәйкес ағымдық уақытты өзгертетін туынды класс құрыңыз.
7. Енгізілген күндер санына сәйкес жаңа айды анықтайтын туынды класс құрыңыз.
8. Әрбір ұшақ үшін енгізілген мәліметті өзгертуге мүмкіндік беретін туынды класс құрыңыз.
9. Жолды шифрлайтын, экранға шығаратын және файлда сақтайтын туынды класс құрыңыз.
10. Екі және одан да көп файлды біріктіретін, біріншісін екіншісіне көшіретін туынды класс құрыңыз. Файл аттары клавиатурадан енгізіледі немесе Үнсіз түрде конструкторда анықталады.
11.Телефон номері бойынша парақтағы таныстарды сұрыптайтын және алфавиттің берілген әрпі бойынша таныстардың тізімін шығаратын туынды класс құрыңыз.
12. Берілген қаладағы немесе брлық қалалар ішіндегі жасы үлкен адамды, берілген көше, үй тұрғындарын анықтайтын туынды класс құрыңыз.
Жұмыс есебі
- Жұмыс тақырыбы мен мақсаты;
- Жұмыстың орындалуы кезінде қойылған сұрақтарға жауап беру;
- Өзіндік жұмыс программасының листингі.
Лабораторялық жұмыс бойынша сұрақтар
1. Тұқымқуалау дегеніміз не? С++-тегі тұқымқуалау механизмін түсіндіріңіз.
2. Тұқымқуалаудың қандай түрлері болады?
3. Жәй және көптік тұқымқуалау қалай жүзеге асырылады?
4. Қандай классты базалық, ал қайсысын туынды деп атайды?
5. Туынды класс мүшелері базалық класс мүшелеріне ену мүмкіндігі қалай анықталады?
6. Кластың қорғалған мүшелері дегеніміз не?
7. public, protect, private спецификаторлары тұқымқуалау статусына қалай әсер етеді?
8. Виртуальді функциялар дегеніміз не және олар базалық және туынды класта қалай анықталады?
9. Полиморфизм дегеніміз не?
10. Қандай функция таза виртуальді деп аталады?
11. Қандай класс абстрактілі деп аталады? Абстрактілі кластың экземплярлары болуы мүмкін бе?
Лабораториялық жұмыс № 6-7 объектілер иерархиясы. Топтар. Итераторлар.
Мақсаты: объектілі топтарды құруды үйрену және итераторлы әдістерді қолдана білу.
Қысқаша теориялық мәліметтер
Топ
Топ бұл басқа объектілер қосылған объект. Топқа кіруші объектілер топ элементтері деп аталады. Топ элементтері топ бола алады.
Топтардың мысалдары:
1. Мәліметтерді, батырмаларды енгізу және редактілеу жолын, таңдау тізімдерін, диалогьік терезелерді және т.б.
2. Өте ұсақ түйіндерден құралған агрегат.
3. Өсімдіктерден, суару жүйелерінен және өсіру жоспарынан құралған бақша.
4. Ұйымдық құрылымдар (мысалы, ФАКУЛЬТЕТ, КАФЕДРА, СТУДЕНТТІК ТОП).
Біз «топты» «контейнерден» ажыратамыз. Контейнер басқа мәліметтерді сақтау үшін қолданылады. Контейнер мысалдары: Turbo Vision кітапханасының TCollection класс объектілері және C++-тегі STL кітапханасынеың контейнерлік кластар объектілері (массивтер, тізімдер, ширеттер).
Контейнерге қарағанда біз топты тек басқа кластар объектілерін сақтайтын класс ретінде ғана емес, сонымен қатар өз элементтері қасиеттерінен шықпайтын меншікті қасиеттеріне ие класс ретінде түсінеміз.
Топ агрегация негізінде салынған иерархияның екінші түрін ( бірінші түрі - мұрагерлік негізіндегі кластар иерархиясы) объектілер иерархиясын (үлгі иерархиясы бүтін/бөлім) береді.
Топты бірнеше тәсілмен жүзеге асыруға болады:
«Топ» класының өрістері объект типті мәліметтерді қамтиды. Осылайша «топ» объектісі мәліметтер ретінде не тікелей өз элементтерін, не оларға көрсеткіштерді қамтиды.
class TWindowDialog: public TGroup
{
protected:
TInputLine input1;
TEdit edit1;
TButton button1;
/*другие члены класса*/
};
Топтарды жүзеге асырудың мұндай әдісі C++Builder-де қолданылады.
Топ топқа қосылған объектілердің байланысқан тізімінің басына сілтейтін TObject* типті last мүше-мәліметін қамтиды. Бұл жағдайда объектілер тізімдегі келесі элементке сілтейтін TObject* типті next өрісін қамтуы қажет. Мұндай әдіс топтарды Turbo Vision-де жүзеге асырған кезде қолданылады.
3. TItem типті құрылымдардың байланысқан тізімі құрылады:
struct TItem
{TObject* item;
TItem* next;};
Item өрісі топқа қосылған объектке сілтейді. Топ TItem типті құрылымдардың байланысқан тізімінің басына сілтейтін TItem * типті last өрісін қамтиды.
Егер топ элементтерінің оның өрістері мен әдістеріне қатынауы қажет болса, онда TObject типті объект сол элементтің өзіне сілтейтін TGroup* типті owner өрісін қамтуы керек.
Топ әдістері.
Топтың жұмыс жасау үшін қажет екі әдіс бар::
1) void Insert(TObject* p);
Топқа элементті кірістіреді.
2) void Show();
Топты қарап шығуға мүмкіндік береді.
Сонымен қатар топ келесі әдістерді қамти алады:
1) int Empty();
Топта ең болмағанда бір элемент бар екендігін көрсетеді.
2) TObject* Delete(TObject* p);
Топтан эелементті өшіреді, бірақ оны жадыда сақтайды.
3) void DelDisp(TObject* p);
Элементті топтан да, жадыдан да өшіреді..