- •Затверджую
- •Індивідуальне завдання
- •Анотація
- •Аналіз індивідуального завдання
- •Загальна структура проекту
- •Розробка меню програми
- •Панель інструментів та рядок стану
- •Створення діалогових вікон
- •Реалізація математичної функції мовою assembler
- •Створення та підключення бібліотеки dll
- •Керівництво системного програміста
- •Керівництво оператора
- •Висновки
- •Література
- •Додатки
Форма № Н-6.01
Міністерство освіти і науки України
Вінницький національний технічний університет
Кафедра обчислювальної техніки
Пояснювальна записка
з дисципліни ”Системне програмне забезпечення ”
до курсового проекту
на тему " Розробка системних об’єктно-орієнтованих програм
мовою С + + в середовищі Windows ”
08-23.КП.011.11.000 ПЗ
Студента 1 курсу 3K-14 групи
напряму підготовки 6.050102
спеціальності «Комп'ютерні системи та мережі»
Семенюк М.В.
Керівник
Кисюк Д.В.
Національна шкала
Кількість балів: Оцінка: ECTS
Члени комісії: ___________ _______________________
(підпис) (прізвище та ініціали)
___________ _______________________
(підпис) (прізвище та ініціали)
м. Вінниця – 2015 рік
Міністерство освіти і науки України
Вінницький національний технічний університет
Інститут інформаційних технологій і комп’ютерної інженерії
Затверджую
Зав. кафедри ОТ, доц., к.т.н.
_____________О.І.Гороховський
«____» _________ 20___ р.
Індивідуальне завдання
на курсову роботу з дисципліни “Системне програмне забезпечення”,
варіант № 11
студенту Семенюк Михайлу Васильовичу групи 3К-14
П. І. Б.
Тема “Розробка системних об’єктно-орієнтованих програм
мовою С + + в середовищі Windows “
Постановка задачі:
Розробити в складі проекту головний файл, який повинен:
Видавати інформацію про розробника проекту;
Вводити в діалоговому режимі вхідні дані з клавіатури;
Виводити результати роботи програми в числовому і графічному вигляді в різних діалогових вікнах;
Графічний результат роботи програми повинен містити графічні фігури, діаграми, графіки чи елементи анімації;
Виконувати задані стандартні операції з файлами.
Розробити в складі проекту ресурсний файл, який повинен включати такі види ресурсів:
Меню;
Панель інструментів;
Рядок стану;
Діалогові вікна.
Розробити в складі проекту динамічно підключувану бібліотеку (DLL), яка має містити експортовану функцію мовою Assembler з фіксованою точкою.
Вихідні дані:
Форма меню:
Функція для обчислення арифметичного виразу:
"Знайти мінімальний елемент побічної діагоналі матриці."
Дата видачі «____» _______ 20__р.
Керівник Кисюк Д.В.
Підпис П. І. Б.
Завдання отримав Семенюк М.В.
Підпис П. І. Б.
Анотація
Дана програма представляє собою програмно-орієнтовану програму, що використовує бібліотеку MFC пакету Visual Studio 2008. Вона містить системне, контекстне меню, рядок стану та панель інструментів. Програма виконує обчислення згідно виданого завдання, код яких написаний мовою програмування Assembler та підключено до основного проекту як динамічну бібліотеку DLL. Дані для обчислень вводяться в діалоговому вікні. Результат обчислень виводиться в числовому та графічному вигляді. Програма також виконує стандартні операції з файлами, а саме: перейменування, відкриття та збереження файлу.
ЗМІСТ
АНОТАЦІЯ 4
ВСТУП 6
1 АНАЛІЗ ІНДИВІДУАЛЬНОГО ЗАВДАННЯ 8
2 ЗАГАЛЬНА СТРУКТУРА ПРОЕКТУ 9
3 РОЗРОБКА МЕНЮ ПРОГРАМИ 12
3.1 Головне меню програми 12
3.2 Таблиця акселератора 14
3.3 Контекстне меню програми 15
4 ПАНЕЛЬ ІНСТРУМЕНТІВ ТА РЯДОК СТАНУ 16
4.1 Створення панелі інструментів 16
4.2 Створення рядку стану 17
5 СТВОРЕННЯ ДІАЛОГОВИХ ВІКОН 18
5.1 Основні етапи створення діалогових вікон 18
5.2 Створення діалогу для введення змінних 19
6 РЕАЛІЗАЦІЯ МАТЕМАТИЧНОЇ ФУНКЦІЇ МОВОЮ ASSEMBLER 22
6.1 Мова Assembler під Win32 22
6.2 Реалізація функцій мовою Assembler 23
7 СТВОРЕННЯ ТА ПІДКЛЮЧЕННЯ БІБЛІОТЕКИ DLL 24
8 КЕРІВНИЦТВО СИСТЕМНОГО ПРОГРАМІСТА 26
9 КЕРІВНИЦТВО ОПЕРАТОРА 28
ВИСНОВКИ 29
ЛІТЕРАТУРА 30
Додатки 31
ВСТУП
Середовище розробки програм Microsoft Visual Studio 2008 призначено для створення додатків-програм, забезпечених всім необхідним для їх роботи: файлами ресурсів, бібліотеками і т.д. У Visual Studio 2008 в основному розробляються додатки на основі бібліотеки Microsoft Foundation Class Library (MFC).
Бібліотека MFC побудована за ієрархічним принципом. На вершині ієрархії знаходиться єдиний клас CObject. Всі інші класи можна умовно розбити на дві категорії: похідні від класу CObject, і класи, що не залежать від CObject. Класи, які описують окремі компоненти Windows (вікна, діалоги, графіку тощо), як правило, створюють локальну ієрархію зі своїм базовим класом.
Кожен клас надає програмісту велику кількість різноманітних функцій. Оскільки в програмах можна використовувати як АРІ-функції, так і функції класів, тому, щоб їх розрізнити, останні будемо називати MFC-функціями або методами. Оскільки MFC є набором класів, написаних на мові С++, програми, написані з використанням MFC, повинні бути в той же час програмами на С++. Для цього необхідно володіти відповідними знаннями. Спершу необхідно уміти створювати власні класи, розуміти принципи спадкоємства і уміти перевизначити віртуальні функції. Хоча програми, що використовують бібліотеку MFC, звичайно не містять дуже специфічних елементів з арсеналу С++, для їх написання потрібні солідні знання в даній області.
С++ є мовою програмування загального призначення. Природна для нього область застосування - системне програмування, що розуміється в широкому сенсі цього слова. Крім того, С++ успішно використовується в багатьох інших областях програмування. Ключовим поняттям С++ є клас. Клас – це власний користувацький тип даних. Класи беруть на себе зберігання даних, їх ініціалізацію, неявне перетворення типів, динамічне завдання типів, контрольоване користувачем управління пам'яттю і засоби для перевантаження операцій. У мові С++ концепції контролю типів і модульної побудови програм реалізовані більш повно, чим в С. Крім того, С++ містить ряд особливостей, які прямо з класами не зв'язані: символічні константи, функції-підстановки, стандартні значення параметрів функцій, перевантаження імен функцій, операції управління пам'яттю і тип посилань. У С++ збережені всі можливості С, для ефективної роботи з основними об'єктами, що відображають апаратну "реальність" (розряди, байти, слова, адреси і т.д.). Це дозволяє достатньо використовувати і реалізовувати призначені для користувача типи [2].
