- •Қазақстан республикасы білім және ғылым министрлігі қ. Жұбанов атындағы ақтөбе мемлекеттік университеті
- •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. Өзіндік жұмыс тапсырмасын орындаңыз
Өзіндік жұмыс тапсырмалары
№ 2 лабораториялық жұмыстың кластар иерархиясын топ класымен толтыру. Мысалы, ФАКУЛЬТЕТ пәндік облысы үшін «факультет», «студенттік топ», «кафедра» кластарын ұсынуға болады.
Итератор әдісін кластар тобы үшін жазу.
Топқа кіруші барлық объектілер үшін орындалатын процедура немесе функция жазу.
Топтардың объектілері жасалатын, итератордың қолданылуын көрсететін бағдарлама құру.
Объектілер иерархиясы келесі түрде құрылады (ФАКУЛЬТЕТ мысалында):
а) бос ФАКУЛЬТЕТ құрылады
б) бос КАФЕДРА құрылады
в) ОҚЫТУШЫЛАР құрылады және КАФЕДРАҒА енгізіледі
г) КАФЕДРА ФАКУЛЬТЕТКЕ енгізіледі
д) басқа кафедра үшін осы қадамдар қайталанады
е) бос СТУДЕНТТІК ТОП құрылады
ж) СТУДЕНТТЕР құрылады және СТУДЕНТТІК ТОПҚА енгізіледі
з) СТУДЕНТІК ТОП ФАКУЛЬТЕТКЕ енгізіледі
и) басқа студенттік топ үшін осы қадамдар қайталанады
ФАКУЛЬТЕТ кері ретпен өшіріледі (деструкторды шақырған кезде).
Жұмыс есебі
- Жұмыс тақырыбы мен мақсаты;
- Жұмыстың орындалуы кезінде қойылған сұрақтарға жауап беру;
- Өзіндік жұмыс программасының листингі.
Лабораторялық жұмыс бойынша сұрақтар
Объектілер иерархиясы дегеніміз не?
Иерархия қалай құрылады?
Итераторлар дегеніміз не?
Топтар дегеніміз не?
Топ элементтері қалай анықталады?
ЛАБОРАТОРНАЯ РАБОТА № 8
ДОСТЫҚ ФУНКЦИЯЛАР ЖӘНЕ КЛАСТАР
Жұмыс мақсаты: Достық функциялар және кластар механизмімен таныстыру.
Қысқаша теориялық мәліметтер
1.Достық кластар
Класта басқа класты достық ретінде хабарлауға болады. Бір класс басқа класқа барлық жабық мүшелеріне қатынауға рұқсат береді. Әдетте достық кластар екі бір-біріне байланыссыз кластар үшін қолданылады.
class One {
friend class Two; //класс Two One класынын досы
private:
double value; //кластың жабық мүшесі
public:
One() { value = 3.14159; }
};
class Two {
private:
One object;
public:
// value жабық мүшесіне қатынау
void ShowVal(void) { cout << object.value; }
};
//Программа 1 Достық класты хабарлау мысалы
#include <iostream.h>
class One {
friend class Two; //класс Two друг класса One
private:
int x;
protected:
void doublex(void) { x *= x; } //доступен One и Two
public:
One() { x = 100; } //конструктор 1
One(int n) { x = n; } //конструктор 2
};
class Two {
private:
One object; //доступен только Two
public:
void ShowVal(void); //доступна всем
};
void main()
{
Two aTwo;
aTwo.ShowVal();
}
void Two::ShowVal(void)
{
One aOne(1234);
cout << endl << "Before, object.x == " << object.x;
object.doublex();
cout << endl << "After, object.x == " << object.x;
cout << endl << "aOne.x == " << aOne.x << endl;
}
Екі класс бір-бірін достық ретінде хабарлай алады
class Two;
class One {
friend class Two;
. . . . . . . . .
};
class Two {
friend class One;
. . . . . . . . .
};
2.Достық функциялар
Достық функциялар достық кластарға ұқсас, бірақ тиімдірек. Достық функцияны хабарлау оған кластың жабық және қорғалған мүшелеріне қатынауға мүмкіндік береді.
// Программа 2 Достық функцияны хабарлау мысалы
#include <iostream.h>
class Two;
class One {
friend void Show(One& c1, Two& c2);//Дружественная функция
private: //двум классам
char *s1;
public:
One() { s1 = "Testing "; }
};
class Two {
friend void Show(One& c1, Two& c2);
private:
char *s2;
public:
Two() { s2 = "one, two, three"; }
};
void main()
{
One c1;
Two c2;
Show(c1,c2);
}
void Show(One& c1, Two& c2)
{
cout << c1.s1 << c2.s2 << endl;
}
Достық функция класс мүшесі де болуы мүмкін.
// Программа 3
#include <iostream.h>
class One;
class Two {
private:
char *s2;
public:
Two() { s2 = "one, two, three"; }
void Show(One& c1);
};
class One {
friend void Two::Show(One& c1);// Достық функция- мүше
private:
char *s1;
public:
One() { s1 = "Testing "; }
};
void main()
{
One c1;
Two c2;
c2.Show(c1);
}
void Two::Show(One& c1)
{
cout << c1.s1 << s2 << endl;
}