
- •Программалаудың парадигмалары: құрылымдық, модулдік және объектілі-бағытталған программалау.
- •2.Компьютердің логикалық схемасы. Программалау, компиляциялау және программаның орындалу орталары.
- •Программалау тілдерінің негізгі нысандары: типтер, тұрақтылар, айнымалылар, процедуралар. Олардың мақсатыжәне ара қатынасы.
- •5 Кіріс-шығыс операторлары.Кіріс-шығыс функциялары мен кітапханасы.
- •6.Функциялар және процедуралар, параметрлерді беру тәсілдері. Функция және процедура мысалдары.
- •10.2 Процедуралар
- •7.Циклды бағдарламалау орталары. Циклдан шығу әдістері. Цикл операторларына мысал. Рекурсивті функциялар.
- •8.Функциялар. Функцияның фактілі және формальды параметрлері. Айнымалы санды параметрлі функциялар. Рекурсивті функциялар.
- •9.Программаларды өңдеудің негізгі принциптері. Құрылымдық программалау, принциптері
- •10.Функциялар және көрсеткіштер. Көрсеткішпен жіберуде көрсеткіштерді функцияның нақты аргументі ретінде пайдалану.
- •12.Қолданбалы функцияларды құру.№есептеу үшін функцияларды тестілеу және анықтау. Көрсеткіш сілтемесімен берілетін фактілі аргументтер, функцияларды құру.
- •13.Алгоритм түсінігі. Алгоритмдерді талдау принциптері. O-нотация.
- •15,Сызықтық және циклдік тізімдер, стектер, дектер, кезек(файл) және екілік ағаштарды өңдеу, инициализациялау, хабарлау.
- •Сұрыптаудың негізгі алгоритмдері: қосу бойынша, таңдау бойынша сұрыптау.
- •18. Сұрыптаудың негізгі алгоритмдері: көпіршік бойынша сұрыптау. Сұрыптау алгоритмін талдау.
- •19.Сұрыптаудың негізгі алгоритмдері: шейкер сұрыптау, Шелл әдісі бойынша сұрыптау. Сұрыптау алгоритмін талдау.
- •20.Сұрыптаудың негізгі алгоритмдері: қосылу бойынша сұрыптау, тез сұрыптау. Сұрыптау алгоритмін талдау.
- •Жүктелуші модуль
- •Абсолютті модуль
- •24.Бағдарламаны тестілеу және қайта ретке келтіру.
- •Объектіге-бағытталған тілдер бағдарламасының негізгі конструкциялары. Операция және функцияларды қайта жүктеу түсінігі.
- •Объект және кластарды сипаттау. Конструктор және деструктор. Класс элементтеріне қол жетімділікті басқару сұрақтары.
- •Бірлік және көптік мұралау концепциялары. Туынды кластарды ашу және жабу.
- •Бірлік мұралау
- •Көптік мұралау
- •Полиморфизм принциптері. Абстрактілі кластар. Контейнерлі кластар.
- •29. Полиморфизм принциптері. Полиморфизм әр түрлілгі және оларды іске асыру.
- •Класс және функция шаблондары. Шешуші жағдайларда өңдеу және генерациялау.
- •Объектіге – бағытталған бағдарламалауды талдау және жобалау концерциялары. Бағдарламалық өнімдердің өмірлік циклдері.
- •Объектіге – бағытталған бағдарламалаудың құралдары және оларды объектіге – бағытталған талдауда қолдану.
Класс және функция шаблондары. Шешуші жағдайларда өңдеу және генерациялау.
Шаблондар (templates) – өте мықты құрал.
Шаблонды функциялардың қарапайым мысалы:
Type square (Type a)
{
Type b;
b = a*a;
return b;
}
int x = 5;
int i;
i = square(5);
float y = 0.5;
float f;
f = square(y);
Егер қарапайым түрде функция құратын болсақ, екі түрлі функция жазу керек: int типі үшін және float типі үшін. Ал егер тағы да басқа типті қолданатын осындай функция қажет болса,онда оны қайтадан тағы жазу керек болады. Шаблондарды қолданып функцияның тек бір ғана экземплярын қолдануға болады. Функцияда нақты типтің орнына параметрлік тип немесе басқаша шаблон аргументі қолданылады
Төмендегі мысалда Type идентификаторы параметрлік тип болып табылады. . Функцияда бұл идентификатор 3 рет кездеседі: қайтарылатын мән, функция аргументі және b айнымалысының анықтамасы. Яғни Type кез келген қарапайым тип ретінде қолданылады. Ол үшін функция алдында келесі жолды қосу керек:
template<class Type> Type square (Type a)
template<class Type>
Type square (Type a)
template< class Type >
Type square (Type a)
template< class Type > Type square (Type a)
Функция алдында template (шаблон) кілттік сөзі тұру керек, ал бұрыштық жақшаларда кілттік сөзі class болатын параметрлік типтің атын көрсету керек. class кілттік сөзінің орнына type сөзін қолдануға болады. Параметрлік тип идентификаторы кез келген бола алады.
31. Borland C++ Builder, Microsoft C++, Java секілді объектіге – бағытталған бағдарламалаудың әртүрлі инструментальды құралдары.
Объектіге бағдарланған программалауды жүзеге асыратын программалау орталарына Visual Basic, C++ Builder және т.б. жатады. ОБП-дың мағынасы мынада: программаның құрамындағы көптеген элементтер (мысалы, терезелер, мәзірлер, батырмалар және т.б.), программаға тұтастай қойылатын және программистің басқаруына ыңғайланған белгілі бір объектілер ретінде қарастырылады. Бұл объектілердің инкапсуляция, қабылдаушылық және полиморфизм принциптеріне негізделген ерекше қасиеттері, әдістері және әрекеттері болады. Объектіге бағдарланған программалаудың негізін құрайтын да осы инкапсуляция, қабылдаушылық және полиморфизм принциптері.
Класс. Инкапсуляция, қабылдаушылық және полиморфизм принциптеріне сәйкес анықталатын объектілерді программада сипаттау және қолдану үшін класс деп аталатын жаңа құрылымдық тип қарастырылады. Кез-келген объект белгілі бір кластың өкілі, бір данасы немесе айнымалысы болып есептеледі. Кластың құрамына өрістер, әдістер және қасиеттер кіреді.
Тума кластар өздерінде түпкі кластың барлық өрістерін сақтап калады және оны өзгерте алмайды, алып тастауға да болмайды, тек жаңа өрістермен толықтыруға болады. Түпкі класстың программадағы сипатталуы немесе кластың жаңа данасын құру программа модулінде келесі түрде жазылады.:
class кластың аты
{
private:
< жабық элементтер немесе мәліметтер>
жабық конструкторлар>
< жабық функция-элементтер>
рrotected:
< қорғалған элементтер немесе мәліметтер>
< қорғалған конструкторлар>
< қорғалған функция-элементтер>
рublic:
< ашық элементтер немесе мәліметтер>
< ашық конструкторлар>
< ашық деструкторлар>
< ашық функция-элементтер>
};
Мысалы: rectangle деп аталатын класты анықтау
class rectangle // кластың аты
{
private:
double length; // ұзындығы жабық элемент
double width; // ені жабық элемент
public:
rectangle() // конструктор үнсіздік бойынша
{assign(0,0);}
rectangle (double Len, double Wide) //конструктор
{assign(Len,Wide);}
double Length() // функция -элемент
{return length;}
double Width() // функция -элемент
{return width;}
double Area() // // функция -элемент
{return length*width;}
void assign(double Len, double Wide); // // функция -элемент
};
Мұндағы, private, protected, public бөлімдері класс құрамындағы элементтерді пайдаланудың ережелерін немесе приоритеттерін анықтайды. Ол бөлімдердің әрқайсысының қызметі бар.
Класстың функция-элементтері дегеніміз, бұл – бірнеше операторлардан тұратын, класстан тыс анықталатын функциялар. Бұл функциялар сол класс анықталған файлда болуы да мүмкін, бұл функция мен оның прототипінің берілуі сияқты болып келеді. Әдетте, функция-элементтер өз алдына бөлек *.h немесе *.сpp файлдарда жинақталады және оны анықтағанда әуелі оның класының атын жазып, сонан соң «::» /екі рет қос нүкте/ белгісін қойып, сонан соң барып функцияның аты жазылады, мысалы:
class rectangle // кластың аты
{
private:
... ... ...
public:
... ... ...
void assign(double Len, double Wide); // функция -элемент
}; // классты анықтау бітті
void rectangle :: assign(double Len, double Wide)
// функция-элементтің өзінің анықталуы
{ length=Len;
width=Wide;
}
Конструкторлар классқа жататын объектілерді дұрыс құру үшін қолданылады. Конструктордың анықталуы келесі түрде болады:
class rectangle // кластың аты
{
private:
... ... ...
public:
rectangle() // конструктор үнсіздік бойынша
{assign(0,0);}
rectangle (double Len, double Wide) //конструктор
{assign(Len,Wide);}
... ... ...
};
Конструктор үнсіздік бойынша болғанда оның параметрлері берілмейді немесе оның мәні нақты көрсетіліп беріледі, мысалы:
class rectangle // кластың аты
{
private:
... ... ...
public:
rectangle() // конструктор үнсіздік бойынша
{assign(0,0);}
rectangle (double Len, double Wide) //конструктор
{assign(Len,Wide);}
rectangle (double Len=10, double Wide=12) //конструктор үнсіздік мәні бойынша
... ... ...
};
Деструкторлар классқа жататын объектілерді автоматты түрде жою үшін қолданылады. Деструктордың анықталуы келесі түрде болады, мысалы:
class rectangle // кластың аты
{
private:
... ... ...
public:
rectangle(); // конструктор
... ... ...
~rectangle (); //деструктор
... ... ...
};