Зміст
Вступ
. Загальні відомості
.1 Позначення та назва програми
.1 Програмне забезпечення, необхідне для її функціонування
.2 Мови програмування, на яких написана програма
. Опис логічної структури
.1 Алгоритм програми
. Методи та елементи, що використовуються
.1 Структура програми з описом функцій складових частин і зв'язків між ними
.2 Зв'язок програми з іншими програмами
. Необхідні технічні засоби
.1 Типи комп'ютерів та пристроїв, що використовуються при роботі програми
. Виклик і завантаження
.1 Способи виклику програм
.2 Адреса завантаження програми
.4 Обсяг програми
. Вхідні дані
.1 Характер вхідних даних
.2 Організація вхідних даних
.3 Попередня підготовка вхідних даних
. Вихідні дані
.1 Характер вихідних даних
.2 Організація вихідних даних
.3 Формат, описання та спосіб кодування даних
.Опис і тестування програми
Висновок
Список використаної літератури
Додаток А
Вступ
програма розгалужений приклад
Курсовий проект (робота) - це самостійно виконана і відповідно оформлена творча робота студента з вирішення конкретного практичного завдання з однієї або декількох загальнотехнічних чи спеціальних дисциплін на основі набутих теоретичних знань та умінь.
Курсовий проект виконується протягом навчального семестру у відповідності з навчальним планом спеціальності
Основною метою курсового проектування є:
навчання та набуття навиків практичного застосування теоретичних знань для вирішення конкретних практичних задач;
розвиток творчого мислення, виявлення та формування професійних навиків студентів;
набуття навиків конструювання виробів, виконання розрахунків, письмового викладу технічних рішень та аналізу одержаних результатів;
закріплення, поглиблення та систематизація отриманих студентами в процесі навчання теоретичних знань з різних дисциплін;
набуття навиків узагальнення та аналізу результатів, отриманих іншими розробниками та дослідниками;
навчання та набуття студентами досвіду користування довідковою літературою і нормативними документами.
Мета курсового проектування з дисципліни «Основи програмування та алгоритмічні мови»:
закріпити знання, одержані під час вивчення дисципліни «Основи програмування та алгоритмічні мови;
засвоїти основні етапи розробки програмних виробів;
набути навиків при оформлення документів на програмні вироби;
одержати практичні навички з розробки програм і програмних документів.
1. Загальні відомості
.1 Позначення та назва програми
Програма розв’язку розгалужених
прикладів, дискове ім'я файлу app3.cpp, після компіляції - app3.exe.
.1 Програмне забезпечення, необхідне
для її функціонування
Для використання програми не треба
специфічного програмного забезпечення. Для виконання приграми вистачає
будь-якої ОС сімейства Windows та мінімальних системних частин комп’ютера.
.2 Мови програмування, на яких
написана програма
Microsoft Visual C++ (MSVC) - інтегроване середовище розробки <https://uk.wikipedia.org/wiki/%D0%86%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B5_%D1%81%D0%B5%D1%80%D0%B5%D0%B4%D0%BE%D0%B2%D0%B8%D1%89%D0%B5_%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BA%D0%B8> програмного забезпечення <https://uk.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%B5_%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F> на мові C++ <https://uk.wikipedia.org/wiki/C%2B%2B>, розроблена фірмою Microsoft <https://uk.wikipedia.org/wiki/Microsoft>. Постачається або як частина комплекту Microsoft Visual Studio <https://uk.wikipedia.org/wiki/Microsoft_Visual_Studio>, або окремо у вигляді безкоштовного функціонально обмеженого комплекту Visual C++ Express Edition.
В першу чергу Visual C++ - це компілятор <https://uk.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%96%D0%BB%D1%8F%D1%82%D0%BE%D1%80> C++ <https://uk.wikipedia.org/wiki/C%2B%2B>, але це також і середовище, компоненти якого, взаємодіючи один з одним, спрощують процес розроблення застосунків <https://uk.wikipedia.org/wiki/%D0%97%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BE%D0%BA>. Середовище Visual C++ пропонує великі можливості для програмування Windows-застосунків. Найхарактернішою його компонентою є бібліотека основних класів Microsoft <https://uk.wikipedia.org/wiki/Microsoft> (Microsoft Foundation Classes <https://uk.wikipedia.org/wiki/Microsoft_Foundation_Classes> - MFC). Великий набір класів С++ інкапсулює основну частину API <https://uk.wikipedia.org/wiki/API> (Application Standart Interface) і пропонує могутню основу для написання типових застосунків.
Компілятор Visual C++ містить багато нових інструментальних засобів і поліпшених можливостей для створення Windows - застосунків.
Застосунки <https://uk.wikipedia.org/wiki/%D0%97%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BA%D0%B8> Windows <https://uk.wikipedia.org/wiki/Windows> прості у використанні, але створювати їх досить складно. Щоб полегшити програмістам роботу, фахівці Microsoft <https://uk.wikipedia.org/wiki/Microsoft> розробили бібліотеку Microsoft Foundation Classes <https://uk.wikipedia.org/wiki/Microsoft_Foundation_Classes> - MFC. Використовуючи готові класи <https://uk.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D1%81_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F)> C++, можна набагато швидше і простіше розв'язувати багато задач. Бібліотека MFC істотно полегшує програмування в середовищі Windows <https://uk.wikipedia.org/wiki/Windows>. Ті, хто володіє достатнім досвідом програмування на C++, можуть допрацьовувати класи або створювати нові, похідні від існуючих. Класи бібліотеки MFC використовуються як для керування об'єктами Windows <https://uk.wikipedia.org/wiki/Windows>, так і для розв'язання певних загальносистемних задач. Наприклад, у бібліотеці є класи для керування файлами, рядками, часом, обробленням виключень тощо. По суті, в MFC представлені практично всі функції WindowsAPI <https://uk.wikipedia.org/w/index.php?title=WindowsAPI&action=edit&redlink=1>. У бібліотеці є засоби оброблення повідомлень, діагностики помилок й інші засоби, звичні для застосунків Windows. MFC має такі переваги:
Представлений набір функцій та класів відрізняється логічністю й повнотою. Бібліотека MFC відкриває доступ до всіх часто використовуваних функцій Windows API <https://uk.wikipedia.org/wiki/Windows_API>, включаючи функції управління вікнами застосунків <https://uk.wikipedia.org/wiki/%D0%97%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BE%D0%BA>, повідомленнями, елементами управління, меню, діалоговими вікнами, об'єктами GDI (Graphics Device Interface - інтерфейс графічних пристроїв), такими як шрифти, кисті, пера та растрові зображення, функції роботи з документами тощо.
Програмний код бібліотеки
досить ефективний. Швидкість виконання застосунків, заснованих на MFC
<https://uk.wikipedia.org/wiki/MFC>, буде приблизно такою ж як і
швидкість виконання застосунків, написаних з використанням стандартних функцій
Windows API <https://uk.wikipedia.org/wiki/Windows_API>, а додаткові
витрати оперативної пам'яті будуть досить незначними.містить засоби
автоматичного керування повідомленнями. Бібліотека MFC усуває необхідність в
організації циклу оброблення повідомлень поширеного джерела помилок в Windows -
застосунках <https://uk.wikipedia.org/wiki/%D0%97%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BE%D0%BA>.
У MFC передбачений автоматичний контроль за появою кожного
повідомлення.дозволяє організувати автоматичний контроль за виконанням функцій.
Ця можливість реалізується за рахунок того, що можна записувати в окремий файл
інформацію про різні об'єкти й контролювати значення змінних-членів об'єкта у
зручному для розуміння форматі.має чіткий механізм оброблення виняткових
ситуацій. Бібліотека MFC була розроблена так, щоб тримати під контролем появу
таких ситуацій. Це дозволяє об'єктам MFC відновлювати роботу після появи
помилок типу «outofmemory» (брак пам'яті), неправильного вибору команд меню або
проблем із завантаженням файлів або ресурсів.забезпечує динамічне визначення
типів об'єктів. Це надзвичайно потужний програмний засіб, що дозволяє відкласти
перевірку типу динамічно створеного об'єкта до моменту виконання програми.
Завдяки цьому можна вільно маніпулювати об'єктами, не піклуючись про попередній
опис типу даних. Оскільки інформація про тип об'єкта повертається під час
виконання програми, програміст звільняється від цілого етапу роботи,
пов'язаного з типізацією об'єктів.може використовуватися спільно з
підпрограмами, написаними на мові С++ <https://uk.wikipedia.org/wiki/%D0%A1%2B%2B>.
Важливою особливістю бібліотеки MFC є те, що вона може «співіснувати» з
застосунками
<https://uk.wikipedia.org/wiki/%D0%97%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BE%D0%BA>,
заснованими на WindowsAPI. У одній і тій же програмі програміст може використовувати
класи MFC і викликати функції WindowsAPI. Така прозорість середовища
досягається за рахунок узгодженості програмних позначень в двох архітектурах.
Іншими словами, файли заголовків, типи та глобальні константи MFC не
конфліктують з іменами з WindowsAPI. Ще одним ключовим моментом, що забезпечує
таку взаємодію, є узгодженість механізмів управління пам'яттю.
2. Опис логічної структури
.1 Алгоритм програми
Для комп'ютерних програм <https://uk.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%27%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B0> алгоритм є списком деталізованих інструкцій, що реалізують процес обчислення, який, починаючи з початкового стану, відбувається через послідовність логічних станів, яка завершується кінцевим станом. Перехід з попереднього до наступного стану не обов'язково детермінований - деякі алгоритми можуть містити елементи випадковості.
Поняття алгоритму належить до підвалин математики <https://uk.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0>. Обчислювальні процеси алгоритмічного характеру (як-то арифметичні дії над цілими числами <https://uk.wikipedia.org/wiki/%D0%A6%D1%96%D0%BB%D1%96_%D1%87%D0%B8%D1%81%D0%BB%D0%B0>, знаходження НСД <https://uk.wikipedia.org/wiki/%D0%9D%D0%B0%D0%B9%D0%B1%D1%96%D0%BB%D1%8C%D1%88%D0%B8%D0%B9_%D1%81%D0%BF%D1%96%D0%BB%D1%8C%D0%BD%D0%B8%D0%B9_%D0%B4%D1%96%D0%BB%D1%8C%D0%BD%D0%B8%D0%BA> двох чисел тощо) відомі людству з глибокої давнини. Проте, чітке поняття алгоритму сформувалося лише на початку XX ст <https://uk.wikipedia.org/wiki/20_%D1%81%D1%82%D0%BE%D0%BB%D1%96%D1%82%D1%82%D1%8F>
Наша програма повинна мати чіткий, сформований алгоритм, який дозволить швидко працювати програмі і безперебійно оброблювати вхідні і вихідні дані.
Алгоритм нашої програми виглядає наступним чином:
Початок роботи програми. Запуск скомпільованого нами файлу.
Ініціалізація об’єктів програми.
Введення даних в поле для вводу
Виклик DLL функцій
Обчислення виразу
Вивід результатів
Збереження даних у файл
Для кращого розуміння алгоритму програми складемо його блок-схему (див.рис.2.1.1)
.
Рис.2.1.1. Блок-схема
програми
3. Методи та елементи, що
використовуються
Для реалізації алгоритму програми використовуються стандартні методи та елементи середовища програмування MS Visual C++.
Опишемо основні елементи програми, що використовуються у нашій програмі:
Меню служать для розміщення логічно згрупованих команд.
Елемент управління MenuStrip з'явився в цій версії Visual Studio .NET і Framework. С допомогою нього можна створювати меню, аналогічні меню Microsoft Office.
Елемент управління MenuStrip підтримує інтерфейс MDI, злиття меню, спливаючі підказки і переповнення. Зручність використання меню можна підвищити, додавши в них клавіші швидкого доступу, поєднання клавіш, прапорці, значки і роздільники.
Елемент управління MenuStrip замінює елемент управління MainMenu і розширює його функціональні можливості; проте при необхідності елемент управління MainMenu можна зберегти для зворотної сумісності і використання в майбутньому.
Способи використання елементу управління MenuStrip
Елемент управління MenuStrip може використовуватися в наступних цілях.
Створення легко настроюються, стандартних меню, що підтримують широкий набір можливостей компоновки і користувальницького інтерфейсу, таких як впорядкування і вирівнювання тексту і зображень, операції перетягування, інтерфейс MDI, переповнення і альтернативні режими доступу до пунктів меню.
Підтримка типового вигляду і поведінки операційної системи.
Узгоджена обробка подій для всіх контейнерів і які у них елементів аналогічно обробці подій для інших елементів управління.
.Label
Для відображення різних написів на формі використовуються в основному компоненти Label, StaticText і Panel. Перші два з цих компонентів - мітки, спеціально призначені для відображення текстів. Основне призначення панелі Panel - компоновка компонентів у вікні форми, проте можна використовувати і для виведення текстів.
Тексти, які відображаються в компонентах, визначаються значенням їх властивості Caption. Його можна встановлювати в процесі проектування або задавати і змінювати програмно під час виконання програми. Наприклад:-> Caption = "Новий текст";
Властивість Caption має тип рядка AnsiString. При присвоєнні цього типу числової інформації відбувається її автоматичне перетворення в рядок. Тому ви можете безпосередньо здійснювати подібні присвоювання. Наприклад:-> Caption = 5.1;
Оператор призведе до появи в мітці напису «5,1». Але якщо ви хочете занести в мітку змішану інформацію, що складаються з рядків символів і чисел, ви повинні скористатися функціями FloatToStr і IntToStr, що переводять відповідно числа з плаваючою комою і цілі в рядок. Для формування тексту, що складається з декількох фрагментів, можна використовувати операцію "+", яка для рядків означає їх склеювання (конкатенацію). Наприклад, якщо в програмі є ціла змінна I, що відображає число співробітників деякої організації, то вивести в мітку Label1 інформацію про це можна оператором:-> Caption = "Число співробітників:" + IntToStr (I);
У всіх компонентах колір фону визначається властивістю Color, а колір напису подсвойством Color властивості Font. Якщо колір спеціально не задавати, то колір фону зазвичай зливається з кольором контейнера, що містить мітку, так що фон просто не помітний.
Для мітки Label колір і шрифт - єдино доступні елементи оформлення напису. Компоненти StaticText і Panel мають крім того властивість Border - Style, визначальне рамку тексту - бордюр. При стилі sbsNone мітка StaticText по виду не відрізняється від мітки Label. Ймовірно, якщо вже використовувати бордюр, то найбільш приємний стиль sbsSunken.