![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
ПРАКТИКАЛЫҚ ЖҰМЫС №1
С++ ТІЛІНІҢ ОБЪЕКТІЛІ-БАҒ ЫТТАЛҒ АН Қ Ұ РАЛДАРЫ. КЛАСТАР ЖӘ НЕ ОБЪЕКТІЛЕР ЖҰ МЫС МАҚ САТЫ: С++ ортасында класс қ ұ ру, қ ұ рылғ ан класпен жұ мыс жасау біліктілігін қ алыптастыру, класс типті айнымалы – объект қ ұ руды ү йрету, кластардың функция мү шелерін қ олдану тә сілдерін мең герту. ПРАКТИКАЛЫҚ САБАҚ ЖОСПАРЫ: 1. Негізгі теориялық мә ліметтерді қ айталау. 2. Шығ арылғ ан мысал есептерді талқ ылау. 3. Тапсырма ретінде берілген есептерді шығ ару. 4. Ө з бетімен орындауғ а ү й тапсырмасын беру. 5. Сабақ ты қ орытындылау. Блиц-тест. БАҚ ЫЛАУ СҰ РАҚ ТАРЫ: 1. Класс дегеніміз не? 2. Объект дегеніміз не? 3. Ә дістер қ алай анық талады? 4. Класс ә дістерін сипаттау жә не шақ ыру қ алай орындалады? 5. Объект ө рістері қ алай инициализацияланады? ГЛОССАРИЙ Класс - мә ліметтердің қ ұ рылымдық типі. Объект – класс типті айнымалы. Ә діс - функциялар немесе компонентті функциялар. Private – кластың ішкі компоненттері. Protected – кластың қ орғ алғ ан компоненттері. Public – кластың жалпы компоненттері. 1. Тө менде келтірілген мысалдарды талқ ылаң ыз: 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; } 2. Орындауғ а арналғ ан тапсырмалар: 1. Дата класымен жұ мыс жасайтын программа қ ұ рың ыз. Программа берілген класпен енгізу, мә нді шығ ару амалдарын орындасын. 2. Жол класымен жұ мыс жасайтын программа қ ұ рың ыз. Класс келесі ө рістерді қ осуы керек: жол массиві, оның ұ зындығ ы, қ ұ рылғ ан уақ ыты. Программа берілген класпен жұ мыс жасайтын қ арапайым функцияларды қ амтуы керек: жолды ө згерту, жолды енгізу, жолдан жол бө лігін табу.
3. Ө з бетімен орындауғ а арналғ ан тапсырмалар (ү й тапсырмасы): 1. Призма бетінің ауданын жә не кө лемін есептеу мү мкіндігін беретін объект қ ұ рылымын сипаттау. Берілген объект кө мегімен призма бетінің ауданы мен кө лемін есептейтін программа жазу. 2. Жолдарғ а арналғ ан класс қ ұ ру. Жол символдар масссиві ретінде сақ талуы қ ажет. Класта ішкі жолдарды алу, барлық символдарды жоғ арғ ы жә не тө менгі регистрлерге ауыстыру ә дістері қ арастырылу қ ажет. 3. Кез келген ө лшемді матрицаны сипаттайтын класс қ ұ ру. Жолдар мен бағ андар санын ө згерту мү мкіндігін, кез келген ө лшемді ішкі матрицаны жә не барлық матрицаны экранғ а шығ ару мү мкіндігін қ арастыру. Осы класпен жұ мыс жасайтын программа жазу. Программада кластың барлық ә дістерін тексеруге мү мкіндік беретін мә зір болуы қ ажет.
БЛИЦ-ТЕСТ 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
Ә ДЕБИЕТТЕР: 6. Г.С. Иванова и др. ООП: Учебник для вузов, М., Изд-во МГТУ им.Баумана, 2003.- 368 с. 7. Павловская Т.А. С и С++. Программирование на языке высокого уровня. 8. Р.Вайнер, Л.Пинсон. С++ ИЗНУТРИ. 9. Р. Лафоре. Объектно-ориентированное программирование в С++.4-е издание. Питер.2004 10. Г. Шилдт. Самоучитель C++. - Санкт-Петербург, Изд. BHV, 2004. 11. А.В. Замулин. Курс лекций: Объектно-ориентированное программирование (С++) 12. Подбельский В.В., Фомин С.С. Программирование на языке Си: Учебное пособие. – М.: Финансы и статистика, 2004
|