Метою навчальної практики є здобуття навичок у створенні програмного забезпечення з графічним інтерфейсом, засвоєння знань про принципи об’єктно-орієнтованого програмування.
Завданням навчальної практики є реалізація програмних додатків з використанням класів та їх наслідування з підтримкою графічного інтерфейсу в середовищі розробки програмного забезпечення Visual Studio, мова програмування C++ та C#.
C++ - універсальна мова програмування високого рівня з підтримкою декількох парадигм програмування.
C# - об'єктно-орієнтована мова програмування з безпечною системою типізації для платформи .NET.
Необхідно реалізувати наступні програмні додатки:
- «Калькулятор»
- «Конвертер систем числення»
- «Текстовий редактор»
- «Графічний редактор»
- «Побудова графіків функцій»
1. КАЛЬКУЛЯТОР
1.1. Постановка задачі
Реалізувати з використанням об’єктно-орієнтованої парадигми програмування програмний додаток «Калькулятор», який повинен виконувати наступні функції:
1) стандартні математичні операції над числами (+, -, *, /, %);
2) очищення поля вводу;
3) операції з пам’яттю (M+, M-, MC, MR);
4) стандартні операції інженерного калькулятора, а саме піднесення до квадрату, пошук кореня, використання тригонометричних функцій (sin,cos,tan);
5) конвертування величин (м/см, км/миля, г/кг).
Для написання обрати мову програмування C++/CLR, середовище програмування Visual Studio.
Створити графічний інтерфейс програми, який буде містити поле введення, клавіші для введення чисел, клавіші для усіх математичних операцій, клавіші для операцій з пам’яттю, клавіша для очищення поля введення, клавіші для конвертування.
Описати методи для кожної клавіші, які будуть викликатися при натисканні користувачем даної клавіші. Дані методи будуть здійснювати конкретні обчислення, окремі з них будуть виводити на екран дії користувача та результати обчислень.
1.2. Опис алгоритму роботи програми
Програмний додаток «Калькулятор» реалізований мовою програмування C++ в середовищі програмування Visual Studio, технологія створення CLR.
Користування даною програмою можливе лише за допомогою мишки шляхом натискання на клавіші. При натисканні на них викликаються відповідні методи. (Програмний код додатку – див. Додаток А)
При натисканні користувачем на клавіші цифр («0», «1», «2», «3», «4», «5», «6», «7», «8», «9», а також на клавішу «,») викликаються методи, які перевіряють, що потрібно робити з цифрою: додати її до раніше введених символів чи вивести її на чисте поле введення.
При натисканні на клавіші, що відповідають за бінарні операції («+», «-», «*», «/», «%», а також «=») символи у полі введення автоматично конвертуються у дійсний тип і запам’ятовуються. Також запам’ятовується й індекс використаної операції, а поле введення очищується. Під час наступного використання цих клавіш відбувається операція згідно до індексу попередньої операції між старим і нововведеним числом. Результат виводиться на екран і запам’ятовується для подальших операцій.
При використанні клавіш пам’яті («M+», «M-», «MC», «MR») користувач має змогу додати до пам’яті введене число, відняти його від пам’яті, вивести результат на екран або очистити пам’ять.
При натисканні на клавішу «С» поле введення очищується, а результуюча змінна та зміна для пам’яті оновлюються.
При натисканні на клавіші, що відповідають за унарні операції («x^2», «sqrt(x)», «1/x», «sin», «cos», «tan», а також клавіші конвертування) програма виконує відповідні операції із введеним числом та зразу виводить результат на екран.
1.3. Тестування та відлагодження
Для запуску додатку відкриваємо файл «MyCalc.exe». В результаті, на екрані комп’ютера з’явиться наступне вікно (Рисунок 1.1):
Рисунок 1.1 - Стартове вікно
Програма надає користувачу можливість використання усіх стандартних операцій над числами, наявних у звичайних калькуляторах. Також в програмі наявні деякі функції інженерного калькулятора та конвертування величин.
Рисунок 1.2 - Результат обчислень
Рисунок 1.3 - Можливість конвертування величин
2. КОНВЕРТЕР СИСТЕМ ЧИСЛЕННЯ
2.1. Постановка задачі
Реалізувати з використанням об’єктно-орієнтованої парадигми програмування програмний додаток «Конвертер систем числення», який повинен перетворювати введене ціле число між 2-вою, 10-вою та 16-вою системами числення.
Для написання обрати мову програмування C++/MFC, середовище програмування Visual Studio.
Створити графічний інтерфейс програми, який буде містити поле введення та три перемикачі.
Створити та описати функцію, яка буде конвертувати ціле число в іншу систему числення та виводити результат в поле введення.
Описати методи для кожного перемикача, які будуть передавати у функцію конвертування індекс активного перемикача.
2.2. Опис алгоритму роботи програми
Програмний додаток «Конвертер систем числення» реалізований мовою програмування C++ в середовищі програмування Visual Studio, технологія створення MFC.
Користувач зможе керувати даним програмним додатком шляхом введення в текстове поле цілого числа та вибором відповідного перемикача, кожен з яких відповідає за конкретну систему числення.
Після запуску програми користувач повинен спочатку обрати за допомогою трьох перемикачів, в якій системі числення він буде вводити число. Після того він вводить його в текстовому полі.
В програмі створена функція ConvertValue, яка конвертує спочатку символи з текстового поля в ціле число, а потім конвертує його в конкретну систему числення. При натисканні на певний перемикач викликається відповідний метод, який передає у функцію ConvertValue індекс цього перемикача. Там цей індекс запам’ятовується.
При зміні системи числення (тобто після того, як користувач після введення числа за допомогою перемикачів обирає іншу систему числення) у функцію передається її індекс. Функція на основі старого та нового індексу аналізує, з якої системи числення в яку потрібно перевести число, виконує конвертацію та виводить результат на екран.
За допомогою даного алгоритму користувач має змогу вводити число в 2-вій та 16-вій системі числення та конвертувати його в іншу систему, а також швидко дізнатись, який вигляд набуде введене число одночасно в інших системах числення. (Програмний код додатку – див. Додаток Б)
2.3. Тестування та відлагодження
Для запуску додатку відкриваємо файл «Converter1.exe». В результаті на екрані комп’ютера з’явиться стартове вікно програми. На ньому користувач спочатку обирає систему числення, потім вводить число (Рисунок 2.1):
Рисунок 2.1 - Введення числа в 10-вій системі числення
Рисунок 2.2 - Число в 2-вій системі числення
Рисунок 2.3 - Число в 16-вій системі числення
3. ТЕКСТОВИЙ РЕДАКТОР
3.1. Постановка задачі
Реалізувати з використанням об’єктно-орієнтованої парадигми програмування програмний додаток «Текстовий редактор», основною функцією якого є форматування тексту.
Для написання обрати мову програмування C++/MFC, середовище програмування Visual Studio.
Створити проект Visual Studio, задавши конкретні параметри для текстового редактора.
Створити графічний інтерфейс програми, з полем введення, стрічкою меню та панеллю інструментів.
До кожного інструмента з панелі інструментів та до кожного пункту меню підключити відповідні функції для форматування тексту, створення списку, вирівнювання тощо.
3.2. Опис алгоритму роботи програми
Програмний додаток «Текстовий редактор» реалізований мовою програмування C++ в середовищі програмування Visual Studio, технологія створення MFC.
Програма надає користувачу можливість вводити текст, форматувати його, змінювати шрифт, колір тексту та вирівнювання, створювати маркерований список.
При натисканні на інструмент чи пункт меню програми автоматично викликаються відповідні вбудовані функції, які здійснюють форматування тексту. Деякі з них (такі як «Шрифт», «Пошук та заміна») виводять на екран діалогове вікно з набором своїх інструментів для редагування, які користувач може вільно використовувати.
В програмі присутня можливість відкриття іншого документу завдяки пункту меню чи інструменту «Відкрити». Також користувач має змогу зберегти файл чи створити новий документ. Під час закриття програми чи створення нового документу на екран з’являється запит про збереження попереднього документу. (Програмний код додатку – див. Додаток В)
3.3. Тестування та відлагодження
Для запуску додатку відкриваємо файл «MiniWord.exe». Після відкриття користувач має змогу зразу вводити текст, здійснювати його форматування (Рисунок 3.1).
Рисунок 3.1 - Введення та форматування тексту
Також користувач може відкрити вже створений текстовий документ, зберегти наявний чи створити новий документ (Рисунок 3.2).
Рисунок 3.2 - Можливість збереження документу
Рисунок 3.3 - Функція «Пошук та заміна»
4. ГРАФІЧНИЙ РЕДАКТОР
4.1. Постановка задачі
Реалізувати з використанням об’єктно-орієнтованої парадигми програмування програмний додаток «Графічний редактор», який надає користувачу можливість малювання олівцем чи пензликом, створення прямокутників, еліпсів, прямих ліній.
Для написання обрати мову програмування C#, середовище програмування Visual Studio.
Створити графічний інтерфейс програми, який буде містити дві панелі інструментів та поле для малювання.
До кожного інструмента з панелі інструментів створити та описати методи, які будуть реагувати на дії мишки (“MouseClick”). Для поля для малювання також створити методи (“MouseDown”, “MouseUp”, “MouseMove”, “MouseClick”), функції яких залежатимуть від обраного інструменту.
4.2. Опис алгоритму роботи програми
Програмний додаток «Графічний редактор» реалізований мовою програмування C# в середовищі програмування Visual Studio. Користування даною програмою здійснюється виключно за допомогою мишки.
Для роботи з програмою користувачу потрібно спочатку обрати інструмент (Прямокутник, Еліпс, Пряма, Олівець, Пензлик, Піпетка, Резинка). За бажанням, користувач має змогу змінити колір чи розмір для малювання. Усі ці функції користувач може міняти протягом усього часу роботи в додатку.
В залежності від того, що користувач робить за допомогою мишки, викликаються відповідні методи. (Програмний код додатку – див. Додаток Г)
Коли користувач нажимає ліву кнопку миші на полі для малювання, викликається метод MouseDown, який запам’ятовує початкові координати курсора.
Якщо зажата ліва кнопка миші й користувач перетягує мишку, діє метод MouseMove, який дозволяє малювати олівцем чи пензликом за умови, якщо один з цих інструментів обраний. Також у цьому методі наявна функція резинки.
Коли користувач відпускає ліву кнопку миші, викликається метод MouseUp, який дозволяє будувати еліпс, прямокутник чи пряму, в залежності від того, який інструмент активний. Програма будує дані фігури, використовуючи значення початкових та кінцевих координат курсору, а також їх різницю.
При простому натисканні на полі для малювання автоматично викличеться метод MouseClick. За умови, якщо активний інструмент «Піпетка», метод програми змінить колір для малювання на той, де користувач натиснув на полі.
Якщо вибрати інструмент «Колір», програма автоматично відкриє нове діалогове, де користувач зможе обрати новий колір.
Також в додатку передбачена можливість збереження малюнку у форматі Jpeg, Bmp і Png, відкривання картинок таких же форматів та очистка поля для малювання.
4.3. Тестування та відлагодження
Для запуску додатку відкриваємо файл «Paint.exe». На екран з’явиться вікно програми, на якому користувач зможе зразу приступити до роботи (Рисунок 4.1).
Рисунок 4.1 - Графічний редактор
Програма надає можливість користувачу малювати олівцем чи пензликом, малювати прямокутник, еліпс та пряму. Наявна також функція зміни кольору за допомогою діалогового вікна чи піпетки (Рисунок 4.2).
Рисунок 4.2 - Можливості редактора
5. ПОБУДОВА ГРАФІКІВ ФУНКЦІЙ
5.1. Постановка задачі
Реалізувати з використанням об’єктно-орієнтованої парадигми програмування програмний додаток «Побудова графіків функцій», призначений для побудови математичних графіків функцій
Для написання обрати мову програмування C#, середовище програмування Visual Studio.
Створити графічний інтерфейс програми, який буде містити поле Chart, де програма буде будувати графіки, набори текстових полів та написів, клавіші до кожного набору для додавання графіка функцій, та клавішу очистки поля Chart.
Створити та описати методи для кожної клавіші, які зчитують дані з текстових полів, і на їх основі будують графік.
5.2. Опис алгоритму роботи програми
Програмний додаток «Побудова графіків функцій» реалізований мовою програмування C# в середовищі програмування Visual Studio.
Для того, щоб додати графік функції, користувач повинен насамперед задати проміжок по осі абсцис, потім змінити за бажанням значення конкретних текстових полів й натиснути відповідну клавішу.
Програма автоматично будує графіки функцій, з’єднуючи послідовно точки, координати яких користувач задає формулою в текстових полях.
В програмі також наявна можливість зміни кольору нового графіка, а також побудова кола за введеним радіусом.
(Програмний код додатку – див. Додаток Д)
5.3. Тестування та від лагодження
Для запуску додатку відкриваємо файл «graph.exe». У програмі користувач задає у відповідних текстових полях значення коефіцієнтів для побудови графіків, після натискання клавіші графік функції з’являється на екран.
Рисунок 5.1 - Побудова графіків функцій
Рисунок 5.2 - Можливість зміни кольору графіків
ВИСНОВКИ
Отже, на даній навчальній практиці були реалізовані програмні додатки з графічним інтерфейсом у середовищі розробки програмного забезпечення Visual Studio мовами програмування C++ та C#, з використанням технологій CLR та MFC.
Реалізовані наступні програмні додатки:
- «Калькулятор» - програмний додаток для виконання стандартних математичних дій над числами.
- «Конвертер систем числення» - програмний додаток для переведення цілих чисел з десяткової в інші системи числення.
- «Текстовий редактор» - програмний додаток для форматування тексту.
- «Графічний редактор» - програмний додаток для малювання.
- «Побудова графіків функцій» - програмний додаток для побудови стандартних математичних графіків функцій.
Завдяки використанню усіх можливостей середовища програмування Visual Studio вдалося реалізувати якісне, ефективне та зручне у використанні програмне забезпечення.
В результаті виконання навчальної практики здобуто навики програмування мовою C#, навики користування технологіями CLR та MFC у середовищі Visual Studio та вдосконалено принципи об’єктно-орієнтованої парадигми програмування мовою C++.
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ
1. Microsoft Visual Studio/ Л. Пауерс, М. Снелл: Пер. С англ. – СПб.: БХВ – Петербург, 2009 – 1200с.
2. Visual C++ на примерах/ Г. Ф. Довбуш, А. Д. Хоменко. – СПб.:БХВ – Петербург, 2007 – 528с.
3. MFC шаг за шагом [електронний ресурс] http://www.firststeps.ru/mfc/steps/mfc1.html