Навчальна програма дисципліни об’єктно орієнтоване програмування бакалаврський напрям 050201 Системна інженерія

Вид материалаДокументы

Содержание


Бакалаврський напрям 6.050201 “ Системна інженерія ”
Загальна характеристика курсу
Контрольні роботи
Мета та задачі дисципліни
Зміст дисципліни
Мета та задачі курсу
Основи програмування на С++
Основні принципи розробки класів та об’єктів
Конструктори та деструктори.
Покажчики та посилання
Розміщення об’єктів у динамічній пам’яті.
Масиви та покажчики, індексування, ініціалізація. Передача масивів функціям, приклади програм.
Принципи спадкування
Віртуальні класи
Вкладені класи
Шаблони та обробка виняткових ситуацій
Бібліотека стандартних шаблонів STL. Структура та організація бібліотеки. Спеціалізовані контейнери та ітератори.
Шаблон класу
Шаблон класу map.
Шаблон класу algoritm.
...
Полное содержание
Подобный материал:
Міністерство освіти і науки України

Вінницький національний технічний університет

Інститут автоматики, електроніки та комп’ютерних систем управління

Факультет автоматики та комп’ютерних систем управління


ЗАТВЕРДЖЕНО

Вченою Радою ВНТУ

Протокол №_________

від “___” _________ 2008 р.

Проректор з науково-педагогічної роботи по організації навчального процесу та його науково-методичного забезпечення


В.О. Леонтьєв


Навчальна програма дисципліни



ОБ’ЄКТНО – ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ


Бакалаврський напрям 6.050201 “ Системна інженерія



Освітньо-кваліфікаційний рівень бакалавра



Автор______________________ Москвина С.М., доцент кафедри КСУ


Програма розглянута і затверджена на засіданні кафедри КСУ

Протокол N0_____ від _______________________ 2008 р.

Зав. кафедрою КСУ _______________________проф. В.М.Дубовой


Програма прорецензована _______________________________________

та______________ на засіданні кафедри ______________­­­_____________

Протокол №_______ від ___________________ 2008 р.

Зав. кафедри ________________________________________________


Програма розглянута та схвалена на засіданні методичної комісії ІнАЕКСУ Протокол N0_____ від _______________________ 2008 р.

Голова комісії _____________________________ проф. А.С.Васюра


Розглянуто та схвалено на засіданні Ученої ради Інституту АЕКСУ

Протокол N0_____ від _______________________ 2008 р.

Голова Вченої ради __________________________ проф. А. С. Васюра




Програма розглянута і схвалена на засіданні Методичної ради ВНТУ

Протокол №________ від “___”_____________2008 р.

Голова Методичної ради ___________________В.О.Леонтьєв

Загальна характеристика курсу






Денне навчання

Заочне навчання

Денне навчання

Заочне навчання

Курс


3

2

3

3

Триместр

(семестр для ЗН)

7

4

9

5

Лекції (годин)

16

6

28

8

Лабораторні заняття (годин)

32

6

14

6

Практичні заняття (годин)

-

-

14

-

Курсова робота (семестр/ СРС годин)


-

4/18

9/18


-

Контрольні роботи


(семестр/ СРС годин)

-


-

-



3/18


СРС (+Курсова робота) (годин)

24

132

88

58

Всього за триместр

(годин/кредитів)

72/2

144/4

144/4

72/2

Всього за курс

(годин/кредитів)

216/6

Підсумковий контроль

Диф. залік

+

-

-

+

Іспит

-

+

+

-



Мета та задачі дисципліни


Ускладнення процесу розробки програмного забезпечення сучасних комп’ютерних систем управління (КСУ) в умовах обмеження витрат часу та коштів на проведення проектних робіт потребує від спеціалістів, що розробляють такі системи, обов’язкового оволодіння сучасними технологіями проектування та методами підвищення ефективності своєї праці. Одним з найперспективніших шляхів в цьому напрямку є застосування принципів об’єктно-орієнтованного проектування та програмування, сучасних мов програмування та середовищ візуального проектування програмних засобів КСУ.

Метою даної дисципліни є формування у студентів вміння і навиків формалізації та алгоритмізації різних інженерних завдань, вивчення та практичне застосування принципів побудови та використання сучасних технологій розробки програмного забезпечення комп’ютерних систем управління (ПЗ КСУ) на різних рівнях їх функціонування; освоєння практичних навичок роботи в сучасних середовищах проектування ПЗ, принципів та методик розробки ПЗ КСУ з використанням методів сучасного об’єктно-орієнтованного проектування (ООП) програм, шляхів та методів забезпечення режиму реального часу роботи програм; ознайомлення з головними тенденціями розвитку програмних засобів такого призначення.

Для закріплення знань та практичних навичок самостійної роботи студентів з технологіями, методами та середовищами сучасного об’єктно-орієнтованного проектування та розробки програмного забезпечення комп’ютерних систем управління різними реальними інженерними об’єктами, передбачається курсова робота.

В процесі вивчення дисципліни студент повинен

знати: основні принципи об’єктно-орієнтованного проектування та програмування; основи та основні принципи сучасної теорії класів та об’єктів; основи сучасних об’єктно-орієнтованих мов програмування; основи мови формалізації та алгоритмізації інженерних завдань UML; принципи, методи та особливості розробки програмного забезпечення в середовищах візуального проектування (RAD системи); основні принципи верифікації сучасного програмного забезпечення КСУ.

вміти: формалізувати поставлене завдання та розробити ієрархічну структуру програмного забезпечення для його розв’язання; розробити проект розробки програмного забезпечення КСУ як послідовність UML діаграм; обґрунтувати та спроектувати ієрархію класів та об’єктів проекту; вибрати мову та середовище проектування та розробки програмного забезпечення; розробити програмне забезпечення з використанням принципів об’єктно-орієнтованого програмування; проводити тестування розробленого програмного забезпечення на ЕОМ;

мати уяву: про ієрархічну структуру програмного забезпечення КСУ, про основні методи та принципи об’єктно-орієнтованного проектування та програмування; про методи формалізації та алгоритмізації інженерних завдань, про процес розробки проекту програмного забезпечення (ПЗ)КСУ як послідовність UML діаграм; про ієрархію класів та об’єктів проекту ПЗ КСУ, про методи про основи сучасних об’єктно-орієнтованих мов програмування, про середовища візуального проектування (RAD системи) та розробки ПЗ КСУ.

Курс базується на дисциплінах: „Вища математика”, „Алгоритмічні мови та програмування”, “Дискретна математика”. Курс використовується при вивченні дисциплін: «Програмні засоби систем управління», «Проектування комп’ютеризованих систем управління», а також використовується при виконанні бакалаврських, дипломних та магістерських робіт.

Зміст дисципліни



Основи об’єктно-орієнтованого проектування


Мета та задачі курсу. Сучасні технології проектування програм. Структурне, модульне, подійно-орієнтоване та об'єктно-орієнтоване програмування. Порівняльна характеристика. Візуальне програмування. RAD-системи. Об’єктно-орієнтовані мови програмування, призначення, особливості, порівняльна характеристика

Основи програмування на С++

Мова С++ та об'єктно-орієнтоване програмування. Стандарт ANSI. Середовище розробки, компіляція, вихідний код програми. Цикл розробки.

Структура програми на мові C++. Змінні та константи: Вирази та основні оператори мови C++: Принципи розробки функцій в C++. Основні поняття та визначення.

Організація циклів в C++, циклічні оператори, основні конструкції, принципи та приклади використання.

Масиви. Основні поняття та визначення, приклади опису

Визначення функцій, структура, засоби та приклади її опису, визначення, виконання. Прототипи функції. Параметри та аргументи функцій, приклади програм. Локальні та глобальні змінні, приклади програм. Рекурсія та рекурсивні функції, засоби та приклади програм з використанням рекурсивних функцій.


Основні принципи розробки класів та об’єктів


Класи і об’єкти. Основні поняття та визначення. Опис класу. Визначення об’єкта, засоби та приклади його опису. Властивості класу та об’єкта. Способи та правила доступу до членів класу та обмеження на доступ до членів класу. Визначення методів класу, приклади програм.


Конструктори та деструктори. Основні поняття та визначення, приклади програм. Конструктори та деструктори, задані по замовчанню. Принципи ініціалізації параметрів класу, приклади програм.


Покажчики та посилання. Покажчики, основні поняття та визначення. Ім’я покажчиків, оператор разіменування. Покажчики, адреси та змінні. Структура пам’яті: стекова та динамічна. Оператор new та delete, приклади програм

Розміщення об’єктів у динамічній пам’яті. Доступ до членів класу, приклади програм. Динамічне розміщення членів класу. Видалення об’єктів. Покажчик this та оператор адреса &. Особливості розробки програм з покажчиками, приклади програм. Посилання, основні поняття та визначення. Нульові покажчики і нульові посилання. Передача аргументів функцій як посилань. Використання функції swap.

Масиви та покажчики, індексування, ініціалізація. Передача масивів функціям, приклади програм.



Основи спадкування та поліморфізм в ООП


Принципи спадкування, основні поняття, типи та визначення. Ієрархія об’єктів та спадкування, принципи простій та множної ієрархії, створення, синтаксис. Вимоги до конструкторів та деструкторів ієрархії класів. Передача аргументів в базові конструктори. Заміщення функцій. Похідний клас, клас бінарного дерева.

Віртуальні класи, основні поняття та визначення, приклади розробки віртуальних функцій. Віртуальні деструктори, приклади програм.

Поліморфізм, основні поняття та визначення. Одиночне та множинне спадкування. Спадкування від базового класу. Віртуальне спадкування. Абстрактні типи даних. Віртуальні функції та класи, приклади програм.

Вкладені класи, доступ до членів, фільтрація доступу, приклади програм. Закрите спадкування. Класи друзі, функції друзі, приклади програм.

Перевантаження операторів, функцій та класів. Перевантаження операторів : унарних, бінарних, присвоювання та індексування. Приклади програм


Шаблони та обробка виняткових ситуацій

Шаблони, узагальнене програмування, бібліотеки шаблонів. Родові функції, родові класи. Шаблон функції та класів, структура, правила конструювання. Шаблонний клас stack.: друзі, статичні члени, аргументи шаблона класу.

Бібліотека стандартних шаблонів STL. Структура та організація бібліотеки. Спеціалізовані контейнери та ітератори.


Шаблон класу Vector. Структура шаблону, члени класу, ітератори, конструктори, методи, аргументи, приклади використання.

Шаблон класу list. Структура шаблону, члени класу, ітератори, конструктори, методи, аргументи, приклади використання.

Шаблон basic_string. Структура шаблону, члени класу string, ітератори, конструктори, методи, аргументи, приклади використання.

Контейнери. Основні поняття та визначення. Послідовні контейнери, приклади програм. Ассоциативні контейнери, приклади програм. Адаптери контейнерів, приклади програм.

Шаблон класу map. Структура шаблону, члени класу, ітератори, конструктори, методи, аргументи, приклади використання. Черга з двома кінцами, з пріоритетом, пошук, хешування, видалення та повторне хешування.

Шаблон класу algoritm. Структура шаблону, члени класу, ітератори, конструктори, методи, аргументи, приклади використання. Алгоритми сортування.

Особливості обробки виняткових ситуацій. Загальні принципи механізму обробки виняткових ситуацій. Синтаксис та семантика генерації та обробки виключень. Обробка виняткових ситуацій при динамічному виділені пам’яті. Функції, глобальні змінні та класи підтримки механізму виключень.


Принципи організації потоків даних в ООП


Бібліотека потокового вводу-виводу. Структура та організація бібліотеки. Ієрархія класів бібліотеки вводу виводу. Спеціалізовані контейнери та ітератори.

Стандартні потоки вводу виводу, основні поняття та визначення. Інкапсуляція, буферізація. Потоки і буфери. Ввод-вивод даних за допомогою cin, cout. Операції вставки та видалення. Команда форматування, маніпулятори, прапори. Операції обміну з потоками. Строкові потоки.

Файлова система, основні поняття та визначення. Використання файлів для вводу-виводу даних. Об’єкти ofstream, стан умов. Типи файлів: бінарні та текстові. Встановлення параметрів вводу-виводу за допомогою командного рядка. Відкриття файлів та використання настроювання, приклади програм


Сучасні методи проектування програмних засобів КСУ


Основні сучасні принципи проектування СУ. Методологія системного аналізу, системного моделювання та об’єктно-орієнтованого проектування СУ, принципи, основи, структура, класифікація діаграм.

UML-діаграми проекту. Основні компоненти UML та загальна структура мови. Особливості створення UML-діаграм проекту. Візуальні компоненти. Приклади розробки UML-діаграм варіантів використання, діаграм класів, діаграм поведінки, діаграм реалізації.

Розробка сценаріїв. Аналіз сумісності програм.

Статична та динамічна модель набора класів та їх відношень та взаємодії. Схеми, діаграми, інструменти.





Особливості візуального програмування в середовищі Visual Studio

Принципи візуального програмування. Інтегроване середовище розробки Visual Studio.

Інтерфейс, основні вікна, меню. Вибір засобів перегляду. Перегляд елементів інтерфейсу. Принципи перегляду тексту програми відповідно класам. Перегляд файлів програми. Вихідні повідомлення та попередження про помилки. Редагування текстів програм. Панелі інструментів. Система меню.

Налагодження програм. Основні поняття та визначення. Команди та вікна налагодження. Застосування утиліти MFC Tracer. Метод Dump ().

Програмування для Windows і клас CWnd. Принципи програмування для Windows. Інкапсуляція в Windows API. Зміст класу CWnd. Дескриптори класів MFC. Принципи створення програм для Windows.

Повідомлення та команди, основні поняття та визначення. Обробка повідомлень. Карти повідомлень. Список повідомлень. Оновлення команд.

Особливості розробки діалогу. Створення динамічно зв’язаних бібліотек, консольних програм. Особливості програм, що формуються AppWizard. Аналіз настроювань AppWizard. Діалогове вікно. Основні поняття та визначення. Формування параметрів діалогового вікна. Створення класів діалогового вікна, приклади програм. Використання класу діалогового вікна.

Вивід інформації. Документи та представлення. Клас документа. Клас представлення. Шаблони документа. Вікна представлення. Вивід на екран.

Збереження, відновлення об’єктів. Структура File Demo. Створення класа. Читання та запис файлів. Створення об’єкта класа CArchive. Створення меню. Формування діалогових вікон, приклади програм

Розробка інтерфейсів користувача. Панелі інструментів, рядок стану, основні поняття та визначення. Створення панелей інструментів. Створення рядку стану. Панелі керування. Елементи керування. Лінійний індикатор. Лінійний регулятор. Вікно перегляду списку та дерева. Прокрутка зображення.

Принципи розробки довідкових систем. Типи та компоненти довідкових систем. Особливості довідкової системи майстра AppWizard.

Елементи керування ActiveX. Особливості технології ActiveX. Зв’язування об’єктів. Упровадження об’єктів. Контейнери та сервери. Елементи керування ActiveX. Використання технології Drag&Drop. Створення елементів керування.

Робота с базами даних, основні поняття та визначення. Класи ODBC. Створення програм за допомогою класів ODBC. OLE DB. Вибір між класами ODBC і DAO. Visual C++ Enterprise Edition. Особливості та принципи використання SQL, основні поняття та визначення. Бази даних SQL та C++. Використання Visual SourceSafe. Підвищення продуктивності програм. Макроси Assort і Trace. Оптимізація.

Лабораторні заняття


Основи об’єктно-орієнтованого проектування


Розробка програм за допомогою методів структурного та модульного програмування для роботи з динамічними масивами

Розробка програм за допомогою методів структурного та модульного програмування для роботи з файлами

Основні принципи розробки класів та об’єктів


Розробка програм з використанням класу з конструктором та деструктором

Розробка програм з використанням дворівневій простій ієрархії класів об’єктів

Основи спадкування та поліморфізм в ООП


Розробка програм з використанням ієрархії класів зі статичними методами

Розробка програм з використанням ієрархії класів з віртуальними методами

Розробка програм з використанням властивостей поліморфізму класів

Розробка програм з використанням перевантаження операторів : унарних, бінарних, присвоювання та індексування

Розробка програм з використанням перевантаження функцій та класів

Розробка програм з використанням множної ієрархії класів

Шаблони та обробка виняткових ситуацій

Розробка програм з використанням бібліотекаі стандартних шаблонів STL (Шаблон класу Vector)

Розробка програм з використанням бібліотекаі стандартних шаблонів STL (Шаблон класу algoritm.)

Розробка програм з використанням бібліотекаі стандартних шаблонів STL (Шаблон класу basic_string.)

Розробка програм з використанням бібліотекаі стандартних шаблонів STL (Шаблон класу map.)

Розробка програм з використанням обробки виняткових ситуацій.

Принципи організації потоків даних в ООП


Розробка програм з використанням вводу-виводу даних за допомогою cin, cout.

Розробка програм з використанням файлів для вводу-виводу даних

Особливості візуального програмування в середовищі Visual Studio


Набуття навичок роботи з бібліотеками візуальних компонентів

Набуття навичок розробки шаблонів форм

Розробка програм розробки інтерфейсів користувача з обробкою подій

Розробка програм з об’єктами GDI

Розробка програм з модальними та немодальними вікнами, формування діалогу

Розробка програм з елементами управління ActiveX

Розробка програм з DLL

Розробка програм з використанням OLE- технології



Практичні заняття


Сучасні методи проектування програмних засобів КСУ


Варіантний аналіз методів розробки програм за допомогою методів структурного та модульного програмування

Методологія об’єктно-орієнтованого проектування СУ, принципи, основи, структура, класифікація діаграм

Основні компоненти UML-діаграми проекту. Візуальні компоненти. Приклади розробки UML-діаграм варіантів використання

Набуття навичок розробки UML-діаграм варіантів використання

Набуття навичок розробки UML-діаграм класів

Набуття навичок розробки UML-діаграм поведінки. Діаграма стану

Набуття навичок розробки UML-діаграм поведінки. Діаграми дій та взаємодії

Набуття навичок розробки UML-діаграм поведінки. Діаграми послідовностей та кооперації

Набуття навичок розробки UML-діаграм реалізації. Діаграми компонентів та розгортання



Курсове проектування

Виконання курсової роботи за дисципліною “Об’єктне-орієнтоване програмування ” виконується тільки за індивідуальними завданнями.

Воно повинно передбачати розробку структури програмного забезпечення КСУ або автоматизованого робочого місця фахівця, розробку UML-діаграм та програм з використанням сучасних технологій програмування. Бажано орієнтуватися на використання Turbo С++ або Visual C++– як середовища для розробки і налагодження програмних засобів комп’ютерних систем управління.

Доцільно обмежити складність проектованої КСУ або АРМ нижнім чи середнім рівнями, тобто КСУ організації, фірмою, виробничої ділянки чи невеликого виробничого цеху.

Зміст курсового проекту обов’язково повинен передбачати такі розділи:
  • огляд та аналіз сучасних технологій проектування, розробки та використання програмних засобів типових комп’ютерних систем управління;
  • розробка структури програмного забезпечення комп’ютерної системи управління;
  • розробка UML-діаграм класів об’єктів проекту ;
  • розробка графічного інтерфейсу програмних засобів комп’ютерних систем управління;
  • розробка та налагодження програм з використанням методів об’єктно-орієнтованного програмування;
  • тестування та аналіз результатів тестування розроблених ПЗ КСУ;
  • проведення аналізу ефективності розробленого ПЗ КСУ;
  • формування звітності за результатами роботи КСУ
  • розробка пакету стандартних документів на супровід розроблених ПЗ КСУ.

В результаті виконання курсової роботи повинен бути створений документ максимально наближений до стандартів проектної документації.


Теми курсових робіт
  1. Розробка комплексу програм з використанням основних принципів об’єктно-орієнтованного програмування для обробки даних заданого типу
  2. Розробка комплексу програм з використанням основних принципів об’єктно-орієнтованного програмування та спадкування і поліморфізму для роботи з графічними об’єктами
  3. Розробка комплексу програм з використанням віртуальних класів
  4. Розробка комплексу програм з перевантаженням операторів
  5. Розробка комплексу програм з перевантаженням функцій та класів
  6. Розробка комплексу програм з множинним спадкуванням
  7. Розробка комплексу програм з використанням шаблону класу Vector для обробки даних заданого типу
  8. Розробка комплексу програм з використанням шаблону класу map для обробки даних заданого типу
  9. Розробка комплексу програм з використанням шаблону класу algoritm для обробки даних заданого типу
  10. Розробка комплексу програм для обробки виняткових ситуацій
  11. Розробка комплексу програм з організацією потоків даних заданого типу
  12. Розробка комплексу програм з використанням бібліотеці потокового вводу-виводу
  13. Розробка комплексу програм для роботи с базами даних КСУ організації, фірмою, виробничої ділянки чи невеликого виробничого цеху тощо
  14. Розробка комплексу програм з використанням візуального програмування в середовищі Visual Studio



Графік


виконання курсових робіт


Термін

Номер

етапу

Назва роботи

У % від

загального


1



1


Отримання індивідуального завдання та розробка ТЗ


5

2

3


4



2

Огляд та аналіз спеціальної літератури.

Уточнення постановки задачи



20

5


6



3


Обґрунтування та розробка UML диаграмм та алгоритмічного забезпечення


40

7

8


9



4


Розробка та налагодження програмного забезпечення




75

10




11




Розробка тестів, аналіз результатів тестування



85


12

5

Оформлення супроводжувальної документації

90

13


6

Захист роботи


100


14



Критерії оцінок знань




Оцінка “ВІДМІННО”:

5+ балів - ставиться студенту, який демонструє знання теоретичного та практичного матеріалу в повному обсязі та вміє самостійно ставити, проектувати та налагоджувати професійні нетипові програмні засоби на ЕОМ.

5 балів - ставиться студенту, який демонструє знання теоретичного та практичного матеріалу в повному обсязі та вміє самостійно ставити, проектувати та налагоджувати професійні конкретні програмні засоби на ЕОМ.


5- балів - ставиться студенту, який демонструє знання теоретичного та практичного матеріалу в повному обсязі та вміє самостійно ставити, проектувати та налагоджувати професійні стандартні програмні засоби.


Оцінка “ ДОБРЕ”:

4+балів - ставиться студенту, який оволодів теоретичними знаннями в достатньому обсязі та вміє самостійно проектувати та налагоджувати нескладні програмні засоби на ЕОМ.


4 балів - ставиться студенту, який оволодів теоретичними знаннями в достатньому обсязі та вміє самостійно розв’язувати стандартні задачі. Допускаються деякі неточності в формулюванні окремих положень курсу та використання неефективних методів при проектуванні та налагоджуванні програмних засобів на ЕОМ.


4 балів - ставиться студенту, який оволодів теоретичними знаннями в достатньому обсязі та вміє самостійно розв’язувати стандартні задачі. Допускаються деякі неточності в формулюванні окремих положень курсу та несуттєві помилки при розв’язанні типових задач на ЕОМ.


Оцінка “ЗАДОВІЛЬНО”:

3+ балів - ставиться студенту, який оволодів теоретичними знаннями в достатньому обсязі та вміє самостійно використовувати теоретичний матеріал для розв’язання не менше 75% стандартних задач з деякими підказками викладача. Допускаються деякі неточності в формулюванні окремих положень курсу та використання неефективних методів при проектуванні та налагоджуванні програмних засобів на ЕОМ.


3 балів - ставиться студенту, який демонструє знання основного теоретичного та практичного матеріалу та вміє самостійно використовувати теоретичний матеріал для розв’язання не менше 50% стандартних задач з підказками викладача. Допускаються деякі неточності в формулюванні окремих положень курсу та несуттєві помилки при розв’язанні типових задач.

3- бали - знання головних розділів теоретичного матеріалу, вміння використовувати теоретичний матеріал для розв’язання не менше 50% стандартних задач із суттєвими підказками викладача.


*” – виставляється на основі контрольних заходів та результатів виконання передбачених учбових робіт на протязі триместру. Свідчить про неповне освоєння учбового матеріалу та неможливість виставлення оцінки за триместр автоматично. Така ситуація вимагає додаткової перевірки знань студента на іспиті.


Оцінка “НЕЗАДОВІЛЬНО”:

2 бали - знання до 50% теоретичного матеріалу головних розділів, вміння розв’язувати менше ніж 25% стандартних задач із суттєвими підказками викладача.

Література

Основна література


1.

Сван Т. Программирование на С++.-М., СПб.,К. ”Издательский дом”Вільямс”, 2002.-543 с.


2.

Страуструп Б. Язык программирования C++. –М.: Бином, 2007. – 1104 с.

3.

Подбельский В.В. Язык Си++; Учеб.пособие.- М: Финансы и статистика, 2005.-500 с.

4.

Эллис М., Страуструп Б. Справочное руководство по языку програм-мирования С++ с комментариями. Проект стандарта ANSI.- М.: Мир, 2005.- 445 c.

5.

Пол Ирэ. Объектно-ориентированное программирование с использованием С++. - Киев: НИПФ ДиаСофт Лтд, 2005.- 480с.

6.

Пол А. Объектно-ориентированное программирование на C++. –М.: Бином, 2006. – 443с.

7.

Грегори К. Использование Visual C++ 6.– М.,СПб.,К. ”Издательский дом”Вільямс”,2007.-864с.

8.

Буч Г. Объектно-ориентированного проектирования с примерами приложений на C++. -М.: Бином, 2005. -560 с.

9.

Климов А.М. С++. Практическое программирование . Решение типових задач. – СПб:ВHV,2000.- 593с

10.

Либерти Д. Освой самостоятельно C++ за 21 день. –М.:Вильямс, 2000. – 806с.

11.

Джеф Элджер . Библиотека программиста C++. –П.:Питер, 2000. – 316с.





Додаткова література:

1.

Вайнер Р..Пунсон Л. С++ изнутри. – Киев: ДиаСофт, 1993.-304с

2.

Седжвик Р. Фундаментальне алгоритмы на С++. Аналіз /Структуры данных/Сортировка/Поиск. – СПб:ВHV, 2000.-608с.

3.

Романов В.Ю. Программирование на языке С++. Практический поход. –М.: Компьютер, 2003. -160с.

4.

Страуструп Б. Дизайн и эволюция С++.- М.: ДМК Пресс, 2006. – 448с.

5

Собоцинский В.В. Практический курс С++. Основы объектно-ориентированного программирования.- М.:Свет,2003.-236с.

6

Фридман С.А. С / С++. Архив програм. К.: Вinom, 2001.-453с.

7

Белкин В. Обработка исключительных ситуацій в С++: что, когда, как. PC Magazine/Russian Edition, 1999.-c. 176-181

8.

Бабэ Бруно Просто и ясно о Borland C++. – М.: БИНОМ, 1998.- 400с.

9

Липпман С.Б. С++ для начинающих. –М.:Унитех, Рязань:Гелин, 1993.-Т.1.-304с., -Т.”.-345с.