Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМКД_ОБП_Урдабаева.doc
Скачиваний:
113
Добавлен:
01.03.2016
Размер:
1.29 Mб
Скачать

3. Практикалық және лабораториялық сабақтарды орындау

Практикалық сабақтар:

  1. С++ тілінің объектілі-бағытталған құралдары. Кластар және объектілер

Орындауға арналған тапсырмалар:

  1. Дата класымен жұмыс жасайтын программа құрыңыз. Программа берілген класпен енгізу, мәнді шығару амалдарын орындасын.

  2. Жол класымен жұмыс жасайтын программа құрыңыз. Класс келесі өрістерді қосуы керек: жол массиві, оның ұзындығы, құрылған уақыты. Программа берілген класпен жұмыс жасайтын қарапайым функцияларды қамтуы керек: жолды өзгерту, жолды енгізу, жолдан жол бөлігін табу.

Өз бетімен орындауға арналған тапсырмалар (үй тапсырмасы):

  1. Призма бетінің ауданын және көлемін есептеу мүмкіндігін беретін объект құрылымын сипаттау. Берілген объект көмегімен призма бетінің ауданы мен көлемін есептейтін программа жазу.

  2. Жолдарға арналған класс құру. Жол символдар масссиві ретінде сақталуы қажет. Класта ішкі жолдарды алу, барлық символдарды жоғарғы және төменгі регистрлерге ауыстыру әдістері қарастырылу қажет.

  3. Кез келген өлшемді матрицаны сипаттайтын класс құру. Жолдар мен бағандар санын өзгерту мүмкіндігін, кез келген өлшемді ішкі матрицаны және барлық матрицаны экранға шығару мүмкіндігін қарастыру. Осы класпен жұмыс жасайтын программа жазу. Программада кластың барлық әдістерін тексеруге мүмкіндік беретін мәзір болуы қажет.

  1. Конструкторларды және деструкторларды құру

Орындауға арналған тапсырмалар:

1. Time класында уақытқа уақыт қосу, уақытты шегеру әдістерін анықтаңыз.

2. Жол класын сипаттаңыз. Жолға мән беру үшін параметрлі конструкторды пайдаланыңыз.

Өз бетімен орындауға арналған тапсырмалар (үй тапсырмасы):

  1. «Электроэнергия» программасы. Программа санағыш көрсеткіштері бойынша электроэнергия үшін төленетін төлем сомасын есептеу қажет. Санағыштың бастапқы мәндерін беру үшін конструкторды қолданыңыз.

  2. Қиық пирамида бетінің ауданын және көлемін есептеу мүмкіндігін беретін объект құрылымын сипаттау. Берілген объект көмегімен қиық пирамида бетінің ауданы мен көлемін есептейтін программа жазу. Қиық пирамида өлшемдері конструктор арқылы берілу қажет.

  1. Мұрагерлік. Жалғызданған және көпше түрдегі мұрагерлік

Орындауға арналған тапсырмалар:

  1. Аты-жөнін, телефонын, туған күнін және туған күніне дейінгі күндер санын есептейтін функцияны қосатын «жазба кітапшасы» класы;

  2. Дисциплинаны, аудиторияны, басталу уақытын және сабақтың басталуына дейінгі уақытты есептейтін функцияны қосатын «сабақ кестесі» класы;

  3. Жолды, құрылған уақытын, ағымдық уақытты және жолдың бар уақытын есептейтін функцияны қосатын «жол» класы;

  4. Терезе координаты мен түсін, терезедегі тексті, текст түсін және терезеде тексті өзгерту функциясын қосатын «терезе» класы;

  5. Стандартты және экспоненциалды түрдегі комплекстік санды және санның экспоненциалды түрін есептейтін функцияны қосатын «комплексті сан» класы.

Өз бетімен орындауға арналған тапсырмалар (үй тапсырмасы):

  1. Студент, Оқытушы, Кафедра меңгерушісі кластар иерархиясын құру.

  2. Жұмысшы, Бөлім меңгерушісі, Директор кластар иерархиясын құру.

  3. Жануар, Жыртқыш, Сүтқоректі кластар иерархиясын құру.

  1. Полиморфизм. Амалдарды қайта анықтау

Орындауға арналған тапсырмалар:

  1. Арифметикалық амалдарды қайта анықтауды қолдана отырып «Полярлы координаталар» класын құру.

  2. «Кафедра» класын құру кезінде полиморфизм принципін қолдану.

  3. Қайта анықталған арифметикалық амалдарды «Таймер» бағдарламасын жүзеге асыру кезінде қолдану.

Өз бетімен орындауға арналған тапсырмалар (үй тапсырмасы):

  1. Амалдарды қайта анықтауды матрицаларға, массивтерге, жиындарға арифметикалық амалдар қолдану кезінде қолдану.

  2. Полиморфизм принципіне сүйене отырып «Отбасы» класын құру.

  3. Авиабилет сұраныстарын есепке алу бағдарламасын құру кезінде амалдарды қайта анықтау.

  1. Функциялардың және операторларды қайта жүктеудің бірге қолданылуы

Орындауға арналған тапсырмалар:

  1. Нақты сандар үшін +, -, * операторларын қайта жүктеңіз.

  2. Жолдар үшін жол ұзындығын есептеу, жолды жолға жалғау амалдарын қайта анықтаңыз.

  3. Нақты сандар үшін сандығы цифрлар санын есептеу, санды дәрежелеу, санды дөңгелектеу функцияларын қайта жүктеңіз.

Өз бетімен орындауға арналған тапсырмалар (үй тапсырмасы):

  1. Операторларды қайта жүктеу арқылы қарапайым калькулятор құру.

  2. Бүтін сандар үшін анықталған функцияларды нақты сандар үшін қайта жүктеу.

  3. Жол үшін анықталған функцияны символ үшін қайта жүктеу.

  1. Енгізу-шығару ағындары

Орындауға арналған тапсырмалар:

  1. Алдыңғы жұмыста орындалған тапсырма үшін класс объектілерін енгізу-шығару амалдарын қайта жүктеу, жеке объектіні және кластың барлық объектілерінің тізімін консольдан текстік файлға немесе керісінше ыңғайлы түрде енгізу-шығаруды жүзеге асыруға мүмкіндік беретін функцияны өңдеу.

  2. Демонстрациялық программаны, оған объектілер санын өзгерту үшін конструкторлар мен деструкторлардың өңделген функцияларын шақыруды қоса отырып өзгерту.

  3. «Кітапхана» класын сипаттау. Кітаптардың кез келген санымен жұмыс жасау мүмкіндігін, қандай да бір параметрі бойынша (мысалы, авторы бойынша немесе шығарылған жылы бойынша) кітапты іздеу мүмкіндігін, кітапханаға кітап қосу, кітапты өшіру, әртүрлі өрістері бойынша кітаптарды сұрыптау мүмкіндіктерін қарастыру. Осы класпен жұмыс жасайтын программа жазу. Бастапқы мәліметтерді файлдан оқып алып, нәтижені екінші файлға жазу.

  4. «Көрсеткіш» класын сипаттау. Көрсеткіштің әр компоненті сөзді және осы сөз кездесетін беттер номерлерін қамтиды. Бір сөзге қатысты беттер саны 1-ден 10-ға дейін. Көрсеткішті клавиатурадан және файлдан құру, көрсеткішті шығару, берілген сөз үшін тиісті беттер номерлерін шығару, көрсеткіштен элементті өшіру мүмкіндіктерін қарастыру. Осы класпен жұмыс жасайтын программа жазу. Программада кластың барлық әдістерін тексеруге мүмкіндік беретін мәзір болуы қажет.

Өз бетімен орындауға арналған тапсырмалар (үй тапсырмасы):

  1. Кластарды сипаттау кезінде класс объектілеріне көрсеткіштің статикалық массивін енгізіңіз.

  2. Конструкторларды жазу кезінде осы көрсеткіштерді құрылатын объектілердің адресін сақтау үшін қолданыңыз.

  3. Деструкторларды жазу кезінде статистикалық массивтен жойылатын объектілердің адресін өшіріңіз.

  4. Жеке консольмен және файлмен жұмыс жасау үшін кластың объектілерін енгізу –шығару үшін орналастыру және шығару амалдарын қайта жүктеңіз.

  5. Барлық класс объектілерінің тізімін шығару үшін жеке функцияны өңдеңіз.

Лабораториялық сабақтар:

  1. С++-ТЕГІ КЛАССТАР ЖӘНЕ ОБЪЕКТІЛЕР

Өзіндік жұмыс тапсырмалары:

1. СТУДЕНТ класын құру. Өрістері: аты, курсы, жынысы. 1-курс студенттері туралы мәліметтерді экранға шығаратын әдіс құру.

2. АДРЕС класын құру. Өрістері: көше аты, үй номері, үй иесінің аты-жөні. Клавиатурадан енгізілген адресте орналасқан үй иесінің аты-жөнін экранға шығаратын әдіс құру.

3. ЦЕХ класын құру. Өрістері: аты, басшысы, жұмыскерлер саны. Клавиатурадан енгізілген цехтың басшысы және жұмыскерлер саны туралы ақпаратты экранға шығаратын әдіс құру.

4. МЕМЛЕКЕТ класын құру. Өрістері: аты, жер көлемі, халық саны. Халқының саны берілген аралықта жататын мемлекет туралы ақпаратты экранға шығаратын әдіс құру.

5. ҚЫЗМЕТКЕР класын құру. Өрістері: аты-жөні, жасы, жұмыс стажы. Қызметкерлер тізімінен клавиатурадан енгізілген қызметкер туралы ақпаратты экранға шығаратын әдіс құру.

6. ЖАНУАР класын сипаттау. Өрістері: аты, класы, орташа салмағы. Клавиатурадан енгізілген класқа жататын жануарлар тізімін экранға шығаратын әдіс құру.

7. ЕМТИХАН класын сипаттау. Өрістері: студент аты, күні, бағасы. Емтиханнан өтпей қалған студенттер тізімін экранға шығаратын әдіс құру.

8. АВТОМОБИЛЬ класын сипаттау. Өрістері: маркасы, қуаттылығы, бағасы. Автомобильдер тізімін маркасы бойынша топтап экранға шығаратын әдіс құру.

9. КВИТАНЦИЯ класын сипаттау. Өрістері: нөмірі, күні, суммасы. Квитанциялар бойынша жалпы сумманы есептеп, экранға шығаратын әдіс құру.

10. ТОВАР класын сипаттау. Өрістері: аты, саны, бір бірлігінің бағасы. Жалпы товарлардың бағасын есептеп, экранға шығаратын әдіс құру.

  1. КОНСТРУКТОРЛАР. ДЕСТРУКТОРЛАР. ІШТЕСТІРІЛГЕН КЛАСТАР.

Өзіндік жұмыс тапсырмалары:

1. Командалық жолдан енгізілетін екі операндпен есептеулер орындайтын класс құрыңыз. Амал таңбасы да командалық жолда көрсетіледі. Нәтижені экранға шығаруды қамтамасызетіңіз.

2. Компьютер экранында берілген координаттарымен көпбұрыш сызатын класс құрыңыз. Координаттар конструктор координаталары ретінде беріледі. Егер координата 0-ге тең болса, онда бұрыш болмайды.

3. histogram конструкторының параметрлері ретінде берілетін белгілі бір интервалдағы сандарды есептеуді жүргізетін histogram (гистограмма) класын анықтаңыз. Гистограмма үшін мәліметтер тексттік файлда берілген. Гистограмманы экранға шығару функциясын қамтамасыз етіңіз.

4. Қалыпты түрде таратылған сандарды генерациялайтын класты анықтаңыз. Класта тарату параметрлерін беретін конструктор және мәліметтер кестесін экранға және файлға шығаратын функция болады.

5. Уақыт түсінігін жүзеге асыратын Time класын анықтаңыз. Алдыңғы және кейінгі уақытты есептейтін, экранға шығаратын программа құрыңыз. Ағымдық уақыт клавиатурадан енгізіледі немесе компьютердің жүйелік уақытан оқылады.

6. Дата түсінігін жүзеге асыратын Date класын анықтаңыз. Құрылған класты қолданатын программа құрыңыз. Ол алдынғы және кейінгі күнді есептеуі керек. Клавиатурадан енгізілген немесе жүйелік датаны алып, ағымдық датаны тағайындап, баспаға шығаруы керек.

7. Жылдағы ай түсінігін жүзеге асыратын MeсяцГода класын анықтаңыз. Осы клаты қолданатын программа құрыңыз. Ол алдынғы және кейінгі айды есептеуі керек. Клавиатурадан енгізілген немесе жүйелік датаны алып, ағымдық датаны тағайындап, баспаға шығаруы керек.

8. Шейхтың ұшақтары бар. Енгізілген идентификатор бойынша әрбір ұшақ туралы ақпарат шығаратын программа құрыңыз. Маңызды болып есептелетін 3-4 қасиетті ғна алыңыз.

Мысал:

Аты: Боинг 4HG23

Жылдамдығы: 1223

Макс.биіктігі: 234

Пассажирлер саны: 121

Статусы: кеше құлаған

9. СтрокаВвода деп аталатын класс анықтаңыз және оны қолданатын программа құрыңыз. Жолдармен жұмыс жасауға арналған функцияларды анықтаңыз.

10. Файлдармен жұмыс жасауға арналған File класын анықтаңыз. File класының С тіліндегі файлдармен жұмыс жасауға арналған стандартты функциялармен әрекетесу мүмкіндігі болуы керек.

11. Жазба кітапшасында мынадай ақпарат сақталған:

Парақ: таныс, телефон номері

Таныс: фамилиясы, аты, әкесінің аты

Парақтағы жазба саны – 1…20

А…Я-ға дейінгі парақтар саны

Жазба кітапшасына мәліметтер клавиатурадан енгізіледі.

Берілген фамилия бойынша мәліметтің бар-жоқтығын немесе номер телефоны бойынша иесін анықтайтын программа құрыңыз.

12. Қала тұрғындарының мәліметтер қоры бар:

Тұрғын: фамилия, қала

Адрес: көше, үй, пәтер

Мәліметтер қорға файлдан оқылады.

Әр түрлі қалаларда, бірақ бірдей адресте тұратын екі тұрғын туралы мәлімет шығарыңыз.

  1. МҰРАГЕРЛІК ЖӘНЕ ВИРТУАЛЬДІ ФУНКЦИЯЛАР

Өзіндік жұмыс тапсырмалары:

Өзіндік жұмыс тапсырмаларын орындау үшін 1-ші лабораториялық жұмыста құрылған кластарды негізге алыңыз.

1. Өрнекті және есептеу нәтижесін экранның сәйкес орнына және файлға шығаруға мүмкіндік беретін туынды класс құрыңыз.

2. Берілген координаттарды масштабтайтын және клавиатурадан енгізілген хабарламаны көпбұрышқа шығаратын туынды класс құрыңыз.

3. Сызылған гистограмма үстіне қисық сызықты салатын туынды класс құрыңыз.

4. Экранды гистограмма құратын және осы гистограмма параметрлерін файлға сақтайтын туынды класс құрыңыз.

5. Енгізілген санға сәйкес ағымдық уақытқа файлдан хабарлама шығаратын туынды класс құрыңыз. Файл аты клавиатурадан егізіледі немесе үнсіз түрдегі параметр болып табылады.

6. Енгізілген күндер санына сәйкес ағымдық уақытты өзгертетін туынды класс құрыңыз.

7. Енгізілген күндер санына сәйкес жаңа айды анықтайтын туынды класс құрыңыз.

8. Әрбір ұшақ үшін енгізілген мәліметті өзгертуге мүмкіндік беретін туынды класс құрыңыз.

9. Жолды шифрлайтын, экранға шығаратын және файлда сақтайтын туынды класс құрыңыз.

10. Екі және одан да көп файлды біріктіретін, біріншісін екіншісіне көшіретін туынды класс құрыңыз. Файл аттары клавиатурадан енгізіледі немесе Үнсіз түрде конструкторда анықталады.

11.Телефон номері бойынша парақтағы таныстарды сұрыптайтын және алфавиттің берілген әрпі бойынша таныстардың тізімін шығаратын туынды класс құрыңыз.

12. Берілген қаладағы немесе брлық қалалар ішіндегі жасы үлкен адамды, берілген көше, үй тұрғындарын анықтайтын туынды класс құрыңыз.

  1. ОБЪЕКТІЛЕР ИЕРАРХИЯСЫ. ТОПТАР. ИТЕРАТОРЛАР.

Өзіндік жұмыс тапсырмалары:

  1. № 2 лабораториялық жұмыстың кластар иерархиясын топ класымен толтыру. Мысалы, ФАКУЛЬТЕТ пәндік облысы үшін «факультет», «студенттік топ», «кафедра» кластарын ұсынуға болады.

  2. Итератор әдісін кластар тобы үшін жазу.

  3. Топқа кіруші барлық объектілер үшін орындалатын процедура немесе функция жазу.

  4. Топтардың объектілері жасалатын, итератордың қолданылуын көрсететін бағдарлама құру.

Объектілер иерархиясы келесі түрде құрылады (ФАКУЛЬТЕТ мысалында):

а) бос ФАКУЛЬТЕТ құрылады

б) бос КАФЕДРА құрылады

в) ОҚЫТУШЫЛАР құрылады және КАФЕДРАҒА енгізіледі

г) КАФЕДРА ФАКУЛЬТЕТКЕ енгізіледі

д) басқа кафедра үшін осы қадамдар қайталанады

е) бос СТУДЕНТТІК ТОП құрылады

ж) СТУДЕНТТЕР құрылады және СТУДЕНТТІК ТОПҚА енгізіледі

з) СТУДЕНТІК ТОП ФАКУЛЬТЕТКЕ енгізіледі

и) басқа студенттік топ үшін осы қадамдар қайталанады

ФАКУЛЬТЕТ кері ретпен өшіріледі (деструкторды шақырған кезд

  1. ДОСТЫҚ ФУНКЦИЯЛАР ЖӘНЕ КЛАСТАР

Өзіндік жұмыс тапсырмалары:

1. string класын анықтаңыз. Ол үшін "+" және "соңына жалғау" ("+=") достық функцияларын анықтаңыз.

2. DATA класын анықтаңыз, ол үшін "+", "-" амалдары орындалады. Достық функцияны қолданыңыз.

3. INT класын анықтаңыз. Ол үшін "+", "-" амалдары орындалады. Достық функцияны қолданыңыз.

4. TIME класын анықтаңыз. Ол үшін "+", "-" амалдары орындалады. Достық функцияны қолданыңыз.

5. FLOAT класын анықтаңыз. Ол үшін "+", "-" амалдары орындалады. Достық функцияны қолданыңыз.

6. VECTOR класын анықтаңыз. Ол үшін "+", "-" амалдары орындалады. Достық функцияны қолданыңыз.

7. MATRIX класын анықтаңыз. Ол үшін "+", "-" амалдары орындалады. Достық функцияны қолданыңыз.

  1. ПОЛИМОРФИЗМ. ОПЕРАТОРЛАРДЫ ҚАЙТА ЖҮКТЕУ.

Өзіндік жұмыс тапсырмалары:

  1. Нақты сандар үшін +, - , * амалдарын қайта жүктеу.

  2. Жолдар үшін =, <> амалдарын қайта жүктеу.

  3. Символдар үшін +, =, <> амалдарын қайта жүктеу.

  4. Символдар үшін жоғарғы және төмен регистрлерге ауыстыру операторларын қайта анықтау.

  5. Жолдар үшін жолды жолға жалғау, жол ұзындығын есептеу амалдарын қайта жүктеу.

  6. Бүтін сандар үшін дәрежені есептеу, түбірді есептеу амалдарын қайта жүктеу.

  1. ОҚИҒАЛАРДЫ ӨҢДЕУ

Өзіндік жұмыс тапсырмалары:

1.Қосымшада келтірілген мысалды талдау. Келесі срақтарға жауап беру:

а) мұндағы кластардың иерархиясы қандай?

б) мұндағы объектілердің иерархиясы қандай?

в) операцияның аргументтері КАЛЬКУЛЯТОРҒА қалай беріледі? Олар қайда сақталады? ҚОСУ, АЗАЙТУ және т.б. амалдар оған қалай қолжетімді?

г) оқиға топпен қалай өңделеді?

д) TEvent оқиғасының барлық маршруттары қандай?

е) барлық класстардың HandleEvent қалай орындалады?

2. Оқиғаны өңдейтін объектілер тобын таңдау (бұл қосымшада келтірілген объектілер болуы мүмкін емес).

3. Таңдалған объектілер үшін қолданушының командасы бойынша орындалатын операциялар тізімін анықтау.

4. Командалық жолдың түрін анықтау<операция коды><параметрлер>. Сұрақтарды шешу:

Операциялар қалай кодталады? Қандай параметрлер беріледі?

5. Объектілердің иерархиясын анықтау, егер жаңа объектілер (объектілер тобын) қосу қажет болса.

6. егер жаңа класс қосу қажет болса, класстар иерархиясын анықтау.

7. Программада қандай объект қосымша қызметін атқаратынын анықтау. Қажет болған жағдайда класстар иерархиясына TApp класын қосу. Оқиғаны өңдеудің негізгі циклын ұйымдастыратын Execute әдісі қай класта болатынын анықтау.

8. Оқиғаны өңдеуге қажет әдістерді анықтау және жүзеге асыру.

9. (main) негізгі функциясын жазу.

  1. ПРАКТИКАЛЫҚ ЖӘНЕ ЛАБОРАТОРИЯЛЫҚ САБАҚТАРДЫ ТАПСЫРУҒА ДАЙЫНДАЛУ:

Практикалық сабақтар:

  1. С++ ТІЛІНІҢ ОБЪЕКТІЛІ-БАҒЫТТАЛҒАН ҚҰРАЛДАРЫ. КЛАСТАР ЖӘНЕ ОБЪЕКТІЛЕР

БАҚЫЛАУ СҰРАҚТАРЫ:

  1. Класс дегеніміз не?

  2. Объект дегеніміз не?

  3. Әдістер қалай анықталады?

  4. Класс әдістерін сипаттау және шақыру қалай орындалады?

  5. Объект өрістері қалай инициализацияланады?

  1. КОНСТРУКТОРЛАРДЫ ЖӘНЕ ДЕСТРУКТОРЛАРДЫ ҚҰРУ

БАҚЫЛАУ СҰРАҚТАРЫ:

  1. class-тың struct-тан айырмашылығы неде?

  2. Конструктор дегеніміз не, ол не үшін қажет, қашан шақырылады?

  3. Деструктор дегеніміз не, ол не үшін қажет, қашан шақырылады?

  4. Көшіру конструкторының ерекшелігі неде және қай кезде қажет?

  5. Конструктордың түрлері қандай?

  1. МҰРАГЕРЛІК. ЖАЛҒЫЗДАНҒАН ЖӘНЕ КӨПШЕ ТҮРДЕГІ МҰРАГЕРЛІК

БАҚЫЛАУ СҰРАҚТАРЫ:

  1. Мұрагерлік дегеніміз не?

  2. Мұрагерліктің қандай түрлерін ажыратуға болады?

  3. Туынды класта және структурада public, private және protected мүмкіндікті компоненттер қалай мұра етіледі?

  4. Мүрагерлік жиынында бірмәнділік еместікті қалай орнатуға болады?

  5. Туынды класта конструкторларды мен деструкторларды шақыру реті және мұрагерлік.

  1. ПОЛИМОРФИЗМ. АМАЛДАРДЫ ҚАЙТА АНЫҚТАУ

БАҚЫЛАУ СҰРАҚТАРЫ:

    1. Полиморфизм дегеніміз не?

    2. Полиморфизмнің түрлері қандай?

    3. Амалды қайта анықтаудың мақсаты неде?

    4. Қандай амалдар достас функциялар, ал қандай амалдар мүшелер болуы қажет?

    5. Қайта анықталған амалдардың нәтижені қайтару әдістері.

    6. Қандай амалдарды қайта анықтауға болмайды?

  1. ФУНКЦИЯЛАРДЫҢ ЖӘНЕ ОПЕРАТОРЛАРДЫ ҚАЙТА ЖҮКТЕУДІҢ БІРГЕ ҚОЛДАНЫЛУЫ

БАҚЫЛАУ СҰРАҚТАРЫ:

  1. Оператор дегеніміз не?

  2. Функция түсінігі.

  3. Функция түрлері.

  4. Функцияны қайта жүктеу кезінде қандай ережелер сақталуы қажет?

  5. Функция параметрлері.

  1. ЕНГІЗУ-ШЫҒАРУ АҒЫНДАРЫ

БАҚЫЛАУ СҰРАҚТАРЫ:

  1. Ағын дегеніміз не?

  2. Ағынның қандай түрлері бар?

  3. Файлдық ағындар.

  4. Жолдық ағындар.

  5. С++ тіліндегі стандартты ағындар?

Лабораториялық сабақтар:

  1. С++ - тегі кластар және объектілер.

  2. Конструкторлар. Деструкторлар. Іштестірілген кластар.

  3. Мұрагерлік және виртуальді функциялар.

  4. Объектілер иерархиясы. Топтар. Итераторлар.

  5. Достық функциялар және кластар.

  6. Полиморфизм. Операторларды қайта жүктеу.

  7. Оқиғаларды өңдеу.

  8. Ағындық кластар.

  9. Функциялар және кластар шаблондары.

  10. Шаблондардың стандартты кітапханасы.

  11. Стандартты контейнерлі кластар

  12. Төтенше жағдайлар механизмі және қателерді өңдеу.

  1. АРАЛЫҚ БАҚЫЛАУДЫ ТАПСЫРУҒА ДАЙЫНДАЛУ

Коллоквиум сұрақтары:

  1. Объектілі-бағытталған программалаудың негізгі концепциясы.

  2. Кластар сипаттамасы.

  3. Кластар компоненттері.

  4. Объектілерді құру.

  5. Мәліметтерге байланысу және әдістерді шақыру.

  6. Кластар компоненттеріне байланысуды шектеу құралдары.

  7. Кластарды, өрістерді және әдістерді мұра ету.

  8. Туынды кластардың іс-әрекеті.

  9. Кластың виртуальді және статикалық әдістері.

  10. Базалық класс компоненттеріне байланысу.

  11. Кластың функциялары мен әдістерінің бірге қолданылуы.

  12. Операторларды қайта жүктеу.

  13. Конструкторлар мен деструкторлардың жұмысы.

  14. Параметрсіз конструкторлар.

  15. Конструкторлар мен деструкторлар жұмыстарының ерекшеліктері.

  16. Ерекше жағдайларды өңдеу құралы.

  17. Ерекше жағдайлар кластарының иерархиясын өңдеу.

  18. Достық функциялар.

  19. Достық кластар.

  20. Контейнерлік кластар.

  21. Төтенше жағдайларды өңдеу.

  22. Полиморфим.Жай полиморфизм.

  23. Күрделі полиморфизм.

  24. Жалғызданған мұрагерлік.

  25. Көпше түрдегі мұрагерлік.

  26. Көшіру конструкторы.

  27. Параметрлі конструктор.

  28. Виртуальді функциялар.

  29. Абстрактілі кластар.

  30. Файлдық ағындар.

  31. Жолдық ағындар.

  32. Шаблондық функциялар. Шаблондық кластар.

  33. Әдістерді жүзеге асыру.

  34. Стандартты шаблондық контейнерлі кластар.

  35. Итераторлар. Топтар.Кластар иерархиясы.

Курстық жұмыс тақырыптары:

  1. Көпмүшелік дәрежесімен және коэффициенттер массивімен берілетін бір айнымалылы көпмүшелік класын құру.

  2. Объектілі-бағытталған программалауды қолданып жолдарға арналған класс құру.

  3. Қайта анықталған арифметикалық амалдарды «Конвертор» бағдарламасын жүзеге асыру кезінде қолдану.

  4. Амалдарды қайта анықтау арқылы «Пошталық адрес» класын құру.

  5. Ұялы телефоннан қоңырау шалу бағасын есептейтін бағдарлама құру барысында объектілі-бағытталған программалауды қолдану.

  6. Банктегі салым пайдасын есептеуге мүмкіндік беретін класс құру.

  7. «Жемістер» класын модельдеу кезінде мұрагерлік принципін жүзеге асыру.

  8. «Баспа компаниясы» кластар иерархиясын жобалау және құру.

  9. «Маршрут» класын жобалау және құру.

  10. Объектілі-бағытталған программалау технологияларын қолдана отырып «Поезд» класын құру.

  11. «Басқарушы менеджер» класын құру кезіндегі жалғызданған мұрагерлік.

  12. Мұрагерлік принципін «Британдық төлем жүйесі» класын жобалау кезінде қолдану.

  13. Қайта анықталған арифметикалық амалдарды «Калькулятор» бағдарламасын жүзеге асыру кезінде қолдану.

  14. Мұрагерлік принципін қолдана отырып «Теңіз ұрысы» ойынын жобалау.

  15. Пәтер сатып алу сұраныстарын тіркейтін және мүмкін нұсқаларды іздейтін бағдарлама жобалау.

  16. Ағылшын тілінен орыс тіліне және керісінше аударатын сөздік құру кезінде объектілі-бағытталған программалау технологияларын қолдану.

  17. «Зодиак белгісі» класын құру кезінде полиморфизм принципін қолдану.

  18. Амалдарды қайта анықтауды матрицаларға арифметикалық амалдар қолдану кезінде қолдану.

  19. Мұхиттың экологиялық жүйесін модельдеу кезінде объектілі-бағытталған программалауды қолдану.

  20. «Ордер» класын жобалау және құру.

  21. Объектілі-бағытталған программалауды қолдана отырып «Студент» класын жүзеге асыру.

  22. «Жұмысшы» класын амалдарды қайта анықтауды қолдана отырып құру.

  23. «Автобус паркі» класын модельдеу және жүзеге асыру.

  24. «Прайс-лист» класын жобалау және құру кезінде объектілі-бағытталған программалауды қолдану.

  25. Объектілі-бағытталған программалауды «Аэрофлот» класын құруда қолдану.

  26. «Полярлы координаталар» класын арифметикалық амалдарды қайта анықтау арқылы құру.

  27. Өлшемдері бекітілген жолдардан тұратын бір өлшемді массивтерді анықтайтын класс құру және оны жүзеге асыру.

  28. Полиморфизм принципіне сүйене отырып «Студенттік топ» класын құру.

  29. Объектілі-бағытталған программалауды қолдана отырып бүтін сандардан тұратын бір өлшемді массивтерді (векторларды) анықтайтын класс жобалау және құру.

  30. «Телефон анықтамасы» класын құру кезінде объектілі-бағытталған программалау принциптерін жүзеге асыру.

  31. Кітапханадағы кітаптарды есепке алу жұмысын орындайтын бағдарлама құру.

  32. Объектілі-бағытталған программалау принциптерін «Пәндік көрсеткіш» класын құру кезінде жүзеге асыру.

  33. «Жиын» класын жобалау және құру кезінде объектілі-бағытталған программалау технологияларын қолдану.

  34. «Өнім» класын жобалау және құру.

  35. Үш өлшемді кеңістікте шет нүктелерінің координаталарымен берілетін объект-векторлар үшін класс сипаттамасын құру.

  36. «Үй кітапханасы» класын жобалау және құру кезінде полиморфизм принципін жүзеге асыру.

  37. «Жазба» класында амалдарды қайта анықтау.

  38. «Жазба кітапшасы» класын құру кезінде объектілі-бағытталған программалау принциптерін жүзеге асыру.

  39. Авиабилет сұраныстарын есепке алу бағдарламасын құру.

  40. Призма бетінің ауданын және көлемін есептеу мүмкіндігін беретін объект құрылымын сипаттау.

  41. Қиық пирамида бетінің ауданын және көлемін есептеу мүмкіндігін беретін объект құрылымын сипаттау.

  1. БАҚЫЛАУ ЖҰМЫСЫН ОРЫНДАУ

Вариант №1

  1. «Жиын» класын сипаттау. Класс жиындарға қолданылатын негізгі амалдарды, яғни жиынға элемент қосуды және өшіруді, жиындардың қиылысуын, бірігуін және айырмасын орындау мүмкіндіктерін қарастыру қажет. Осы класпен жұмыс жасайтын программа жазу. Программада кластың барлық әдістерін тексеруге мүмкіндік беретін мәзір болуы қажет.

  2. Студент, Оқытушы, Каферда меңгерушісі кластар иерархиясын құрыңыз.

Вариант №2

  1. Көпмүшелік дәрежесімен және коэффициенттер массивімен берілетін бір айнымалылы көпмүшелік класын сипаттау. Берілген аргумент үшін көпмүшелік мәнін есептеу әдісін, көпмүшеліктерді қосу, алу және көбейту арқылы жаңа көпмүшелік алу әдісін, көпмүшелікті экранға шығару әдістерін қарастыру. Осы класпен жұмыс жасайтын программа жазу. Программада кластың барлық әдістерін тексеруге мүмкіндік беретін мәзір болуы қажет.

  2. Деталь, Механизм, Өнім кластар иерархиясын құрыңыз.

Вариант №3

  1. Кез келген өлшемді матрицаны сипаттайтын класс құру. Жолдар мен бағандар санын өзгерту мүмкіндігін, кез келген өлшемді ішкі матрицаны және барлық матрицаны экранға шығару мүмкіндігін қарастыру. Осы класпен жұмыс жасайтын программа жазу. Программада кластың барлық әдістерін тексеруге мүмкіндік беретін мәзір болуы қажет.

  2. Журнал, Кітап, Оқулық кластар иерархиясын құрыңыз.

Вариант №4

  1. Матрицаларға арифметикалық амалдар қолдану. Қолданушы матрица өлшемін өз бетінше таңдап, кез келген амалды орындау мүмкіндігін қарастыру.

  2. Автокөлік, Поезд, Ұшақ кластар иерархиясын құрыңыз.

  1. ЕМТИХАНҒА ДАЙЫНДАЛУ

Емтихан сұрақтары:

  1. Объектілі-бағытталған программалаудың негізгі концепциясы.

  2. Программаларды объектілі-бағытталған өңдеудің негізгі әдістері.

  3. C++ тілінің негізге түсініктері.

  4. Мәліметтер типі, әрекеттер, көрсеткіштер.

  5. С++ тілінің негізгі конструкциясы.

  6. Кластар сипаттамасы.

  7. Кластар компоненттері.

  8. Объектілерді құру.

  9. Мәліметтерге байланысу және әдістерді шақыру.

  10. Кластар компоненттеріне байланысуды шектеу құралдары.

  11. Кластарды, өрістерді және әдістерді мұра ету.

  12. Туынды кластардың іс-әрекеті.

  13. Кластың виртуальді және статикалық әдістері.

  14. Базалық класс компоненттеріне байланысу.

  15. Кластың функциялары мен әдістерінің бірге қолданылуы.

  16. Операторларды қайта жүктеу.

  17. Конструкторлар мен деструкторлардың жұмысы.

  18. Параметрсіз конструкторлар.

  19. Динамикалық жадымен жұмыс.

  20. Конструкторлар мен деструкторлар жұмыстарының ерекшеліктері.

  21. Енгізу-шығаруағындарының стандартты кластары.

  22. Қолданушы кластары үшін енгізу-шығаруды ұйымдастыру

  23. Жадыда енгізу-шығару үшін файлдар мен буферлерді қолдану.

  24. Форматтап шығару құралы.

  25. Ерекше жағдайларды өңдеу құралы.

  26. Ерекше жағдайлар кластарының иерархиясын өңдеу.

  27. Программалар компиляциясының, тақырыптық файлдардың және жүзеге асырудың бірліктері.

  28. Достық функциялар.

  29. Достық кластар.

  30. Контейнерлік кластар.

  31. Төтенше жағдайларды өңдеу.

  32. Полиморфим.

  33. Жай полиморфизм.

  34. Күрделі полиморфизм.

  35. Жалғызданған мұрагерлік.

  36. Көпше түрдегі мұрагерлік.

  37. Көшіру конструкторы.

  38. Параметрлі конструктор.

  39. Виртуальді функциялар.

  40. Абстрактілі кластар.

  41. Файлдық ағындар.

  42. Жолдық ағындар.

  43. Препроцессор директивалары, макростар.

  44. Атаулар кеңістігін ұйымдастыру.

  45. Стандартты кітапханаларға арналған атаулар кеңістігі.

  46. Шаблондық функциялар. Сипаттау және қолдану.

  47. Шаблондық кластар. Сипаттау және қолдану.

  48. Әдістерді жүзеге асыру.

  49. Стандартты шаблондық контейнерлі кластар. Негізгі әдістер.

  50. Итераторлар. Топтар.

  51. Кластар иерархиясы.

Әдебиеттер:

  1. Г.С. Иванова и др. ООП: Учебник для вузов, М., Изд-во МГТУ им.Баумана, 2003.- 368 с.

  2. А.В. Замулин. Курс лекций: Объектно-ориентированное программирование (С++)

  3. А.В. Замулин. Курс лекций: ООП (С++, Ява, C#)

  4. Бьерн Страуструп. Язык программирования С++. Третье издание. - М.: Изд. Бином, Невский Диалект, 1999.

  5. Г. Шилдт. Самоучитель C++. - Санкт-Петербург, Изд. BHV, 2004.

  6. Гради Буч. Объектно - ориентированный анализ и проектирование с примерами приложений на С++. - М.: Изд. Бином, Невский Диалект, 1998.

  7. Павловская Т.А. С и С++. Программирование на языке высокого уровня.

  8. Р.Вайнер, Л.Пинсон. С++ ИЗНУТРИ.

  9. Р. Лафоре. Объектно-ориентированное программирование в С++.4-е издание. Питер.2004

  10. К.Паппас, У.Мюррей Программирование на С/С++, Киев,2000 – 320 с.

  11. Подбельский В.В., Фомин С.С. Программирование на языке Си: Учебное пособие. – М.: Финансы и статистика, 2004