- •1 Характеристика мови програмування
- •2.4 Опис класів та методів
- •2.7 Контрольний приклад
- •3.4 Опис класів та методів
- •3.7 Керівництво користувачеві
- •3.4 Опис класів та методів
- •4.7 Контрольний приклад
- •5.4 Опис класів та методів
- •6.4 Опис класів та методів
- •6.7 Контрольний приклад
- •7.4 Опис класів та методів
- •7.7 Контрольний приклад
- •Список використаних джерел
ВСТУП
C++ був розвинутий з мови програмування C і за дуже малими виключеннями зберігає C як підмножину. Базова мова, C підмножина C++, спроектована так, що існує дуже близька відповідність між його типами, операціями й операторами і комп'ютерними об'єктами, з якими безпосередньо приходиться мати справу: числами, символами й адресами [5, с. 48].
Microsoft VisualC++ містить безліч інтегрованих засобів візуального програмування. Компілятор VisualC++ містить багато нових інструментальних засобів і поліпшених можливостей, надає величезні можливості в плані оптимізації додатків, внаслідок чого можна отримати виграш як відносно розміру програми, так і відносно швидкості її виконання, незалежно від того, що являє собою ваш додаток.
Система Microsoft VisualC++ дозволяє створювати як маленькі програми і утиліти для персонального використання, так і корпоративні системи, що працюють з базами даних на різних платформах.
1 Характеристика мови програмування
Як і більшість імперативних мов, заснованих на традиції АЛГОЛ, C++ має можливості для структурного програмування і дозволяє здійснювати рекурсії, у той час, як система статичної типізації даних запобігає виникненню багатьох непередбачуваних операцій. У С++ увесь виконуваний код міститься у функціях. Параметри функції завжди передаються за значеннями. Передача параметрів за вказівником реалізовується шляхом передачі значення вказівника. Гетерогенні сукупності типів даних (структури) дозволяють пов'язаним типам даних бути об'єднаними і маніпулювати ними, як єдиним цілим.
C++ також має такі специфічні властивості:
-
змінні можуть бути прихованими у вкладених блоках
-
слабка типізація; наприклад, символи можуть використовуватися, як цілі числа
-
низькорівневий доступ до оперативної пам'яті шляхом перетворення машинних адрес вказівники
-
вказівники на функції і дані підтримують динамічний поліморфізм
-
масив індексів як вторинне поняття, визначається у термінах арифметики вказівників
-
стандартизований препроцесор C для макроозначення, включення файлу з джерельним кодом, умовної трансляції, і т. д.
-
комплексна функціональність, як то I/O, маніпуляція рядками, і делегування математичних функцій бібліотекам
-
відносно невелика кількість зарезервованих слів (32 у С89, і 37 у C99)
-
Лексичні структури, які нагадують B більше за ALGOL, наприклад:
-
{ ... } на відміну від ALGOL'івського begin ... end
-
знак рівності для призначення (копіювання), як це робиться у мові Fortran
-
два знаки рівності використовуються для перевірки рівності (подібно до .EQ. у Fortran'і або одного знаку рівності у BASIC)
-
&& та || на відміну від ALGOL'івських and та or (цим вона семантично відрізняється від бітових операторів & та |).
велика кількість операторів об'єднання, на кшталт +=, ++, ……
2 ЗАВДАННЯ №1
2.1 Постановка задачі
Основною метою завдання №1 є здійснення розрахунків за допомогою персонального комп’ютера. Завдання передбачає виконання трьох видів задач
Задача 1
Обчислення функції b=f(x,y,z) за формулою (2.1)
, (2.1)
Де b – значення функції;
х – значення змінної х яка вводиться з екрану;
у – значення змінної у яка вводиться з екрану;
z – значення змінної z яка обчислюється за формулою (2.2)
, (2.2)
Отримані результати вивести на екран.
Задача 2
Скласти структурну схему алгоритму та програму обчислення функції за формулою (2.3).
, (2.3)
Де – значення функції;
x – значення змінної x яка вводиться з екрану;
Отримані результати видати на екран.
Задача 3
Скласти структурну схему алгоритму та програму обчислення значень функції y=f(x) за формулою (2.4)
, (2.4)
Де y – значення функції;
а – значення змінної а яка вводиться з екрану або задається параметром а=0,4;
b – значення змінної b яка вводиться з екрану або задається параметром b=2,57;
h – значення змінної h (яка вводиться з екрану або задається параметром h=0,15;
х – значення змінної х яка вводиться з екрану (має начальне та конечне значення) або задається параметром хЄ[0,1;0,8];
Отримані результати видати на екран.
Для реалізації завдання №1 необхідно створити проект який мав би зручний інтерфейс, де використовувалось би головне так контекстне меню з такими основними пунктами:
Розрахунок – Завдання 1 - Завдання 2 - Завдання 3
Вихід
2.2 Алгоритм розв’язання задачі
Алгоритм розв’язання задачі складається з трьох етапів:
-
алгоритм розв’язання лінійного процесу;
-
алгоритм розв’язання розгалуженого процесу;
-
алгоритм розв’язання циклічного процесу.
Алгоритм розв’язання лінійного процесу.
-
Ввести з екрану значення змінних x і y дійсного типу.
-
Перевірити умову, якщо y менше 0 тоді видати повідомлення «Нельзя взять логарифм отрицательного числа, введите положительный Y» і передати управління пункту першого. Якщо умова y<0 не здійснюється то переходимо до пункту три.
-
Перевірити умову, якщо х дорівнює 0 тоді видати повідомлення «Х не
может равняться 0» і передати управління до пункту першого.
Якщо умова х дорівнює 0 не здійснюється, то переходимо до пункту чотири.
-
Виконати розрахунок за формулою (2.2)
-
Виконати розрахунок за формулою (2.1)
-
Вивести значення змінної b на екран.
-
Закінчити роботу з процесом або перейти на розв’язання іншого процесу.
Алгоритм розв’язання розгалуженого процесу
-
Ввести з екрану значення х.
-
Якщо Х =2 виконати перший пункт за формулою (2.3)
-
Якщо Х >2 виконати другий пункт за формулою (2.3)
-
Якщо Х <2 виконати третій пункт за формулою (2.3)
-
Закінчити роботу з процесом.
Алгоритм розв’язання циклічного процесу
-
Ввести з екрану значення змінних xn, xk, h, a та b.
-
Перевірити умову, якщо Х начальне менш або дорівнює 0 і Х кінцеве більш або дорівнює 0 тоді видати повідомлення "Сделайте промежуток в положительном или отрицательном промежутке". Якщо умова не здійснюється переходимо до пункту три.
-
Перевірити умову, якщо Х начальне більш або дорівнює 0 і А менш або дорівнює 0, або інакше тоді видати повідомлення "Сделайте отриуательное Х нач или положительное значение А" чи "Сделайте положительное Х нач или отрицательное значение А" . Якщо умова не здійснюється переходимо до пункту чотири.
-
Перевірити умову, якщо В менш або дорівнює 0 і більш чи дорівнює -1.2, тоді видати повідомлення " 'В' нельзя взять в промежутке 0...-1.2" . Якщо умова не здійснюється переходимо до пункту п’ятого.
-
Перевірити умову, якщо Х начальне менш або дорівнює 0 і В менш або дорівнює 0, тоді видати повідомлення " 'В' не может быть отриательным при отрицательной 'X' начальной или 'X'=0". Якщо умова не здійснюється виконуємо розрахунки за формулою (2.4) та видати результат на екран.
-
Закінчити роботу з процесом або перейти на розв’язання іншого процесу.
2.3 Проектування форм
Для реалізації завдання 1 створимо діалоговий додаток який має наступні форми:
-
Головна форма;
-
Форма лінійних процесів;
-
Форма реалізації розгалужених процесів;
-
Форма реалізації циклічних процесів;
Спроектуємо головну форму у відповідності з рисунком 2.1
Рисунок 2.1 - Головна форма
Сконструюємо ресурс головне меню у відповідності з рисунками 2.5, 2.6 та контекстне меню у відповідності з рисунком 2.7.
На головній формі розташуємо об’єкти управління button та задамо властивості перелічені в таблиці 2.1.
Таблиця 2.1 – Об’єкти головної форми
Ідентифікатор об’єкта |
Властивість об’єкта |
Значення об’єкта |
IDC_BUTTON1 |
Caption |
Линейные процессы |
IDC_BUTTON2 |
Caption |
Разветвляющиеся процессы |
IDC_BUTTON3 |
Caption |
Циклические процессы |
IDD_Fox1_DIALOG |
Menu |
IDR_MENU1 |
Спроектуємо форму лінійних процесів (див. рис 2.2)
Рисунок 2.2 – Форма лінійних процесів
На формі лінійних процесів розташувати об’єкти та задати властивості перелічені в таблиці 2.2
Таблиця 2.2 – Об’єкти форми лінійних процесів
Ідентифікатор об’єкта |
Властивість об’єкта |
Значення об’єкта |
IDC_RADIO1 |
Caption |
Z = = |
IDC_RADIO2 |
Caption |
F (x;y;z) = = |
IDOK |
Caption |
В Ы Х О Д |
IDB_BITMAP3 |
Image |
Bitmap |
IDC_STATIC_1 |
Text |
Переменная X |
IDC_STATIC_2 |
Text |
Переменная Y |
Спроектуємо форму процесів розгалуження (див. рис. 2.3).
Рисунок 2.3 – Форма процесів розгалуження
На формі процесів розгалуження розташувати об’єкти та задати властивості перелічені в таблиці 2.3.
Таблиця 2.3 – Об’єкти форми процесів розгалуження
Ідентифікатор об’єкта |
Властивість об’єкта |
Значення об’єкта |
IDC_BUTTON1 |
Caption |
Результат |
IDC_BUTTON2 |
Caption |
В Ы Х О Д |
IDC_STATIC1 |
Text |
Ввод данных |
IDC_STATIC2 |
Text |
Вывод |
IDC_STATIC3 |
Text |
Введите Х |
IDB_BITMAP2 |
Image |
Bitmap |
Спроектувати форму циклічних процесів (див. рис. 2.4)
Рисунок 2.4 – Форма циклічних процесів
На формі циклічних процесів розташувати об’єкти та задати властивості перелічені в таблиці 2.4.
Таблиця 2.4– Об’єкти форми циклічних процесів
Ідентифікатор об’єкта |
Властивість об’єкта |
Значення об’єкта |
IDC_BUTTON1 |
Caption |
Результат цикл FOR |
IDC_BUTTON2 |
Caption |
Результат цикл WHILE |
IDC_BUTTON3 |
Caption |
Результат цикл DO WHILE |
IDC_STATIC1 |
Text |
Ввод данных |
IDC_STATIC2 |
Text |
Х начальное |
IDC_STATIC3 |
Text |
Х конечное |
IDC_STATIC4 |
Text |
Шаг |
IDC_STATIC5 |
Text |
Ввод переменных |
IDC_STATIC6 |
Text |
А |
IDC_STATIC7 |
Text |
В |
IDOK |
Caption |
В И Х І Д |
IDB_BITMAP4 |
Image |
Bitmap |
IDC_LIST1 |
ListBox |
- |
Спроектувати головне меню програми, яка представлена на рисунках 2.5, 2.6, 2.7.
Рисунок 2.5, 2.6 – Головне меню програми
Спроектувати контекстне меню програми (див. рис. 2.7)
Рисунок 2.7 – Контекстне меню