Курсова робота Алгоритмізація та програмування

Інформація про навчальний заклад

ВУЗ:
Вінницькій національний технічний університет
Інститут:
О
Факультет:
Комп’ютерні науки
Кафедра:
Не вказано

Інформація про роботу

Рік:
2016
Тип роботи:
Курсова робота
Предмет:
Алгоритмізація та програмування

Частина тексту файла (без зображень, графіків і формул):

Форма N Н-6.01 _________________Вінницький національний технічний університет_________________ (повне найменування вищого навчального закладу) ____________________________Кафедра комп’ютерних наук__________________________ (повна назва кафедри, циклової комісії)   КУРСОВА РОБОТА _______________________з Алгоритмізації та програмування________________________ (назва дисципліни) на тему: Конвертер валют___________     Студентки __І__ курсу __2КН-15б__ групи напряму підготовки 6.050101 Комп’ютерні науки ________________Ільченко О. В.______________                                   (прізвище та ініціали)  Керівник__доцент_Арапов С. М.__   (посада, вчене звання, науковий ступінь, прізвище та ініціали) Національна шкала ___________________________ Кількість балів: __________ Оцінка: ECTS _______  Члени комісії ________________ (підпис) ___________________________ (прізвище та ініціали)   ________________ (підпис) ___________________________ (прізвище та ініціали)   ________________ (підпис) ___________________________ (прізвище та ініціали)   Вінниця 2016     Міністерство освіти і науки України Вінницький національний технічний університет Факультет інформаційних технологій та комп’ютерної інженерії Кафедра комп’ютерних наук ЗАТВЕРДЖУЮ Зав. каф. КН, д.т.н., проф. ____________ С. І. Перевозніков «__» _____________ 20__ р. ІНДИВІДУАЛЬНЕ ЗАВДАННЯ на курсову роботу з дисципліни « Алгоритмізація та програмування » студента групи __2КН-15б__Ільченко О. В. __ 1. Тема курсової роботи _«Конвертер валют» _затверджена на засіданні кафедри комп’ютерних наук, протокол №___від «__» 20 р. 2. Термін здачі студентом зазначеної роботи: «__» 20 р. 3. Вхідні дані до роботи: Програмне середовище, засоби проектування системи 4. Зміст пояснювальної записки: Вступ; Постановка задачі; Схема алгоритму функціонування програмного забезпечення; Опис алгоритму; Характеристика даних; Опис роботи програми; Аналіз результатів; Висновки; Список використаних джерел; Додатки. 5. Дата видачі завдання: «__» 20 р. Завдання видав _____Арапов С. М. _ ___ ____________ (ПІП керівника курсової роботи) (підпис) Завдання прийняла до виконання __Ільченко О. В. __ ____________ (ПІП студента) (підпис) АНОТАЦІЯ В даній курсовій роботі було реалізовано програму «Конвертер валют» на мові програмування С++, що дозволяє перевести вказану суму валюти в іншу по актуальному курсу. Детально описано весь хід процесу та аналізу, створення алгоритму, реалізація та тестування програми. Для реалізації було використано програмне середовище DEV C++(5.4.2). АННОТАЦИЯ В данной курсовой работе было реализовано программу «Конвертер валют» на языке программирования С ++, что позволяет перевести указанную сумму валюты в другую по актуальному курсу. Подробно описано весь ход процесса и анализа, создание алгоритма, реализация и тестирование программы. Для реализации было использовано среду разработки DEV C ++ (5.4.2). ANNOTATION In this project had developed the program "Currency Converter" on the programming language C ++ that allows you to transfer this amount to another currency on the date of the course. Described in detail the entire course of the process and analysis, algorithm creation, implementation and testing program. To implement the software environment used DEV C++(5.4.2). ЗМІСТ ПЕРЕЛІК СКОРОЧЕНЬ 7 ВСТУП 8 1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ «ВАЛЮТНИЙ КУРС» 9 1.1 Теорія, про обрану предметну область 9 1.2 Постановка задачі розробки програми «Конвертер валют» 11 2 ПРОЕКТУВАННЯ СИСТЕМИ «КОНВЕРТЕР ВАЛЮТ» 12 2.1 Обґрунтування вибору мови програмування 12 2.2 Розробка структури системи «Конвертер валют» 15 2.3 Розробка алгоритму функціонування системи «Конвертер валют» 16 2.4 Розробка алгоритму функціонування основного модуля системи 18 ПРОГРАМНА РЕАЛІЗАЦІЯ СИСТЕМИ «КОНВЕРТЕР ВАЛЮТ» 19 3.1. Основні оператори мови програмування С++ 19 3.2. Особливості середовища в якому буде розроблятися система 20 3.3. Реалізація системи «Конвертер валют» 20 3.4. Тестування розробленої системи «Конвертер валют» 22 ВИСНОВКИ 26 СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 27 ДОДАТКИ 28 ДОДАТОК А ЛІСТИНГ ПРОГРАМНОЇ РЕАЛІЗАЦІЇ ОСНОВНИХ МОДУЛІВ СИСТЕМИ «КОНВЕРТЕР ВАЛЮТ» 29 ДОДАТОК Б ІНСТРУКЦІЯ КОРИСТУВАЧА СИСТЕМИ «КОНВЕРТЕР ВАЛЮТ» 31 ПЕРЕЛІК СКОРОЧЕНЬ ПК – Персональний комп’ютер  ПЗ – Програмне забезпечення  User – Користувач   ВСТУП На сучасному етапі розвитку комп’ютерних систем в світі розвинулася і поширилася велика кількість мов програмування, які призначені для різних областей технічної та творчої діяльності. Визначальним моментом при виборі мови програмування додатків в більшості випадків являється досвід у використанні тієї чи іншої мови програмування. У даній роботі згідно з технічним завданням буде використано середовище програмування DEV C++. Основною задачею цієї курсової роботи є створення повноцінної функціональної програми, набуття професіональних навичок та реального досвіду для подальшої навчальної роботи та професійної кар’єри. Для успішного виконання даного завдання буде використано базові теоретичні знання з мови програмування С++ та професійні навички аналізу поставленої задачі, ходу розробки алгоритму, його запис у кодовому виді, що буде виконуватись у загальномовному середовищі виконання за рахунок використання динамічної пам'яті ПК. Також буде використано методологію тестування Agile, що зменшить кількість критичних помилок після завершення кодування алгоритму шляхом поступового виявлення помилок та їх усунення. 1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ «ВАЛЮТНИЙ КУРС» Теорія, про обрану предметну область Валютний курс – вираз ціни грошової одиниці однієї країни в грошових одиницях іншої. Фіксація валютного курсу здійснюється або відповідно до золотого паритету (гарантованим золотим змістом національної грошової одиниці), або за міжнародною угодою. При класичному золотому стандарті, тобто при вільному розміні валют на золото в центральному банку, валютний курс встановлювався в пропорціях до їх золотого вмісту. Для конвертованих валют в основі курсу лежить валютний паритет. Проте курси валют майже ніколи не збігаються з їхнім валютним паритетом. В умовах міжнародної торгівлі і інших зовнішньоекономічних акцій співвідношення надходжень і платежів в іноземній валюті і, отже, попит і пропозиція іноземної валюти не перебуває у рівновазі. При активному платіжному балансі курси іноземних валют на валютному ринку даної країни падають, а курс національної грошової одиниці підвищується. Зворотне відбувається у разі, коли країна має пасивний платіжний баланс. Тому в більшості країн разом з твердим офіційним курсом національної валюти також існує вільний. За офіційного паритету здійснюються розрахунки центральних національних банків та інших валютно-фінансових установ між різними країнами і з міжнародними організаціями. Розрахунки між приватними особами і організаціями, виходять із зовнішньоторговельних і зовнішньоекономічних зв'язків та здійснюються по вільному курсу [6]. Конвертованість валют — це здатність валют виконувати функції платежу в будь-якій країні. У 1968 Міжнародний валютний фонд в розряд таких валют відніс долар США. У наш час з понад 150 країн членів МВФ повністю конвертовані валюти мають 10 найрозвиненіших країн світу. Приблизно 50 мають валют з обмеженою конвертованістю. З 1976 МВФ ввів поняття «Вільно використовувана валюта», суттю якого є повна конвертованість валют. Така валюта використовується в міжнародних розрахунках, операціях міжнародних валютних ринків і накопичується у валютних резервах країн світу. На практиці валютних режимів домінуючим в оцінці конвертованих валют залишається принцип відсутності валютних обмежень, у зв'язку з чим фактична конвертована розповсюджується на ряд інших валют, переважно розвинутих країн. Українська гривня поки залишається частково конвертованою валютою. Поняття валюта вживається в трьох значеннях: грошова одиниця країни (американський долар, японська єна, українська гривня та ін.) та її певний тип (золота, кредитно-паперова, срібна); іноземна валюта, тобто грошові знаки іноземних країн, а також кредитні і платіжні засоби, які виражені в іноземних грошових одиниць і використовуються у міжнародних грошових розрахунках; міжнародна (в тому числі регіональна) грошова розрахункова одиниця і платіжний засіб (СПЗ(SDR), євро). Сучасна валюта поділяється на: вільно конвертовану (яку вільно можуть обмінювати на валюту будь-якої країни як фізичні, так і юридичні особи), якою можуть розраховуватися за експортно-імпортні операції, депонувати в національних банках та інше) частково конвертовану (обмін якої частково обмежується для певних категорій фізичних і юридичних осіб і для окремих видів операцій). Часткова конвертованість означає допущення лише зовнішньої конвертованості і тільки в поточних, а інколи лише в зовнішньо-торгівельних операціях. Розрізняють також неконвертовану валюту, що означає заборону держави на проведення будь-яких операцій щодо обміну національної валюти на іноземну або дозвіл це робити за погодженням уповноважених валютних органів. Виділяють також національні і резервні ключові валюти [6]. 1.2 Постановка задачі розробки програми «Конвертер валют» Задача даної роботи полягає у створенні програмного додатку Конвертер валют, що буде виконувати конвертацію трьох між собою та створити функціональний інтерфейс для використання програми користувачем для цього було створено план дій: Розробити програму «Конвертер валют», з можливістю конвертування трьох валют – гривні, долари, рублі. Програма повинна виконувати ввід даних, перевірку правильності вводу даних, видачу повідомлень в разі помилок. Необхідно створити базу даних щодо актуального курсу валют. Підключити базу даних з курсом валют. Виконати тестування програми на наявність збоїв та різних відхилень. ПРОЕКТУВАННЯ СИСТЕМИ «КОНВЕРТЕР ВАЛЮТ» Обґрунтування вибору мови програмування Для виконання поставленої задачі було обрано мову програмування С++, що уособлює в собі надійну, багатофункціональну програмну мову, яка підтримує три основні парадигми програмування, такі як об’єктно-орієнтоване програмування, функціональне програмування та програмування низького рівня. Ключовими перевагами даної мови програмування є масштабованість, що покриває майже всі аспекти сучасного програмування різного роду систем та програмних додатків. На мові С++ розробляють найрізноманітніші додатки під різні платформи, що є можливим завдяки використанню бібліотек даних, що надають даній мові програмування велику функціональність. Завдяки підтримці роботи з низьким рівнем програмування, можливе створення власних інтерпретаторів та моделювання роботи програми на материнській платі, що дає можливість відкритого доступу до динамічної пам'яті, адрес, портів. Використовуючи платформу .NET та її функціональні можливості, дана мова програмування має найбільший пакет алгоритмів, функцій, методів, що надають С++ досить великого авторитету серед інших мов програмування. Насамперед, С++ є імперативною мовою програмування, що дозволяє здійснювати поступове виконання коду та логічний зв'язок між елементами коду, включаючи використання функцій, методів, змінних, операторів, класів. Функціонал С++ складається з бібліотек, що додаються до пакету платформи .NET, та мають підключатись до програмного коду напряму за допомогою ключового слова #include. В загальному дана мова є найбільш поширеною у всьому світі, що пов’язано в першу чергу зі створенням даної мови програмування під платформу PC Windows, яка масово використовується і в наш час. Та по-друге, дана мова є вже досить сформованою в порівнянні з іншими відомими нині мовами програмування, такими: Java, C#, Javascript, Haskell та іншими. Java — об'єктно-орієнтована мова програмування, випущена компанією Sun Microsystems у 1995 році як основний компонент платформи Java. Синтаксис мови багато в чому схожий на C та C++. У офіційній реалізації Java-програми компілюються у байт-код, який при виконанні інтерпретується віртуальною машиною для конкретної платформи. Мова значно запозичила синтаксис із C і C++. Зокрема, взято за основу об'єктну модель С++, проте її модифіковано. Усунуто можливість появи деяких конфліктних ситуацій, що могли виникнути через помилки програміста та полегшено сам процес розробки об'єктно-орієнтованих програм. Ряд дій, які в С/C++ повинні здійснювати програмісти, доручено віртуальній машині. Передусім Java розроблялась як платформо-незалежна мова, тому вона має менше низькорівневих можливостей для роботи з апаратним забезпеченням. За необхідності таких дій Java дозволяє викликати підпрограми, написані іншими мовами програмування. Під «незалежністю від архітектури» мається на увазі те, що програма, написана на мові Java, працюватиме на будь-якій підтримуваній апаратній чи системній платформі без змін у початковому коді та перекомпіляції. Цього можна досягти, компілюючи початковий Java код у байт-код, який являє собою спрощені машинні команди. Потім програму можна виконати на будь-якій платформі, що має встановлену віртуальну машину Java, яка інтерпретує байткод у код, пристосований до специфіки конкретної операційної системи і процесора. Зараз віртуальні машини Java існують для більшості процесорів і операційних систем. Основна перевага використання байт-коду — це портативність. Тим не менш, додаткові витрати на інтерпретацію означають, що інтерпретовані програми будуть майже завжди працювати повільніше, ніж скомпільовані у машинний код, і саме тому Java одержала репутацію «повільної» мови. Haskell є чистою функціональною мовою програмування. Функції не мають жодних побічних ефектів. Це означає, що для одних і тих самих значень вхідних параметрів завжди повертатимуться однакові результати обчислень. Функціональні мови програмування відрізняються від імперативних мов програмування тим, що програміст не повинен визначати порядок обчислення функцій. Розробнику слід лише описати залежність між даними, а транслятор вже самотужки визначає порядок обчислень на імперативному обчислювальному пристрої. Відсутні будь-які імперативні конструкції мови програмування. Завдяки монадам можливо виконувати операції вводу-виводу, інші обчислення, які вимагають збереження стану, в чисто функціональному вигляді. Відсутні оператори зміни значення змінних. Через це, відсутня різниця між константами та змінними. Як наслідок, відпадає необхідність у декларації const або final, які є, наприклад, в мовах програмування С та Java відповідно. Хаскель є не строгою мовою програмування. Pascal — алгоритмічна мова програмування універсального призначення. Існують діалекти мови з підтримкою об'єктно-орієнтованого програмування. Існує ряд об'єктивних причин, які обумовили видатний успіх мови Pascal. Серед них у першу чергу потрібно вказати такі: мова в природній і елегантній формі відбила найважливіші сучасні концепції технології розробки програм, завдяки своїй компактності, концептуальній цілісності й ортогональності понять, а також вдалому оригінальному опису, запропонованому автором мови, Pascal виявився дуже легким для вивчення й освоєння. Незважаючи на відносну простоту мови, вона виявилась придатною для дуже широкого спектру застосунків, у тому числі для розробки дуже великих і складних програм, наприклад, операційних систем. JavaScript (JS) — динамічна, об'єктно-орієнтована мова програмування. Найчастіше використовується як частина браузера, що надає можливість коду на стороні клієнта взаємодіяти з користувачем, керувати браузером, асинхронно обмінюватися даними з сервером, змінювати структуру та зовнішній вигляд веб-сторінки. Мова JavaScript також використовується для програмування на стороні сервера, розробки ігор, стаціонарних та мобільних додатків, сценаріїв в прикладному ПЗ , всередині PDF-документів тощо. JavaScript класифікують як прототипну (підмножина об'єктно-орієнтованої), функції як об'єкти першого класу. В якості додатку наведено порівняльну характеристику мов програмування в табл. 1.1. Табл. 1.1 – порівняльна характеристика мов програмування С++ Java Haskell Pascal Javascript  OOP + + + - +/-  Functional - - + - -  Procedural + + + + +  Low-level work + - - - -  Imperative + + + + +  Usability + + + - +  Popular + + +/- + +   Отже, C++ - компільована статично типізована мова програмування загального призначення. Підтримуючи різні парадигми програмування, поєднує властивості як високорівневих, так і низькорівневих мов. У порівнянні з його попередником - мовою C - найбільшу увагу приділено підтримці об'єктно-орієнтованого і узагальненого програмування. 2.2 Розробка структури системи «Конвертер валют» Структура програми базується на використанні циклів для перевірки. Цикл з передумовою — цикл, що виконується доки істинна деяка умова, вказана перед його початком. Ця умова перевіряється до початку виконання тіла циклу, тому тіло може бути не виконане жодного разу (якщо умова з початку хибна). Структура програми містить базу даних, яка зберігає в собі актуальний курс валют, а також систему конвертування, що складається з базових формул пропорційності. При використанні циклічних конструкцій було використано логічний тип даних, що вказував на наявність помилок введення даних та слугував критерієм коректності процесу виконання програми. За допомогою функції зчитування з файлу було реалізовано можливість використання бази даних курсу валют. Завдяки строгій типізації змінних в С++, помилок невідповідності типів не було. Структурно дана програма містить в собі дві перевірки введення даних та основний модуль, що включає в себе процес конвертування. Усі модулі програми поєднані в загальну функцію Main(), що визначає початок виконання програми. Завдяки можливостям компілятора середовища розробки, швидкість обробки вхідної інформації значно зростає. І завдяки орієнтованості виключно на С++, програмний додаток не потребує проміжного перетворення в загальномовний код платформи .NET, а одразу виконується в загальномовному середовищі виконання програми, де відповідно компілюється, перетворюється у двійковий код та виконується на машинному рівні пам'яті. Після виконання відбувається оборотний процес перетворення результату роботи та виведення необхідної інформації за допомогою операторів виведення мови програмування С++. Рисунок 2.1 – Взаємодія модулів 2.3 Розробка алгоритму функціонування системи «Конвертер валют» Алгоритм конвертування валюти полягає перш за все у перетворенні одного числового значення в інше шляхом виконання математичних операцій пов’язаних з пропорційністю. В загальному для виконання конвертації необхідно ввести початкові дані, що включають в себе валюту, яка є на даний момент, перевірити правильність вхідних даних. Якщо здійснено помилку – вивести повідомлення. Потім ввести валюту, в яку потрібно конвертувати, і знову перевірити вхідні данні та вивести повідомлення в разі помилки. Потім ввести необхідну суму конвертації. І насамкінець відбувається завантаження бази конвертації валют та виведення отриманого значення для перевірки коректності програми та для подальшого використання отриманої інформації. Схему алгоритму зображено на рисунку 2.2. / Рисунок 2.2 – Схема алгоритму функціонування системи «Конвертер валют» 2.4 Розробка алгоритму функціонування основного модуля системи Алгоритм функціонування основного модуля системи полягає у перетворенні одного числового значення в інше шляхом виконання математичних операцій пов’язаних з пропорційністю. Схему алгоритму зображено на рисунку 2.3. / Рисунок 2.3 – Схема алгоритму функціонування основного модуля системи ПРОГРАМНА РЕАЛІЗАЦІЯ СИСТЕМИ «КОНВЕРТЕР ВАЛЮТ» 3.1. Основні оператори мови програмування С++ В ході реалізації системи «Конвертер валют» було використано такі оператори мови програмування С++ , як: while(умова){} – оператор циклу з передумовою. Даний оператор створений для багаторазового виконання набору команд, що потрібно виконати. Синтаксично циклічний оператор складається із власне назви циклу while, що в перекладі означає “ поки ”, потім в округлих дужках описується умова циклу, яка повинна мати підтвердження перед створенням кожного нового витка циклу, а у фігурних блок циклічних операцій. Його відмінна особливість від інших циклів, це можливість створення безкінечних циклів у вигляді очевидних рівностей та можливість не виконувати його жодного разу, що є ключовою різницею з циклом із післяумовою [4]. Оператор циклу із скінченною кількістю ітерацій – for(i=0; i<n; i++){ }. Даний оператор створений для циклічного ітераційного виконання блоку програми, що в ньому написана, та є скінченним завдяки ітераційному лічильнику, що рахує кожний новий виток циклу, починаючи з першого. Синтаксично, цикл описується в округлих дужках у вигляді ітераційного лічильника та його початкового значення, умови створення нового витка циклу і ітераційного оператора, який змінює ітераційний лічильник, а у фігурних описується вже сам блок, що буде щоразу виконуватись циклом [4]. Оператор умови – If(умова){ block 1}else{ block 2} виконує перевірку заданої умови після чого виконує блок операцій у разі підтвердження перевірки, або інший блок у разі хибності умови. Синтаксично умова пишеться в округлих дужках, після чого у фігурних дужках описується блок коду, що виконається в разі виконання умови оператора, після чого, якщо нам необхідно щось виконати для хибної умови пишеться else та знову у фігурних дужках описується блок коду [4]. Ifstream – бібліотека введення даних з файлових джерел [4]. 3.2. Особливості середовища в якому буде розроблятися система В процесі реалізації системи було використано інтегроване середовище розробки Dev C++. Можливості Dev C++ полягають в зручному редакторі з підсвічуванням синтаксису, нумерацією рядків, автоматичним відступом, а заготовці стандартних бібліотек в програму і шаблони для вставки. Також можливість автоматичного завершення коду для зручності роботи і підвищення продуктивності та використання закладок в редакторі для швидкого переміщення по коду. Ще особливостями середовища є експорт вихідних файлів або цілого проекту в HTML або RTF для публікації вихідних кодів на своєму ресурсі та Імпорт проектів з MS Visual C ++. Можливість налагодження проекту - вбудований дебагер GDB та вбудований менеджер проектів. Також в DEV C++ є можливість налаштування асоціації файлів з розширенням - c, cpp, h і т. д. У навігаторі класів два варіанти огляду - перегляд функцій, класів і їх членів як для всього проекту, так і для поточного редагованого файлу. У середовищі використовується Mingw GCC компілятор, який може працювати з будь-яким компілятором GCC. Існує різнорівнева версія програми, яка не потребує установки та багатомовний користувальницький інтерфейс з підтримкою російської та української мов [1]. 3.3. Реалізація системи «Конвертер валют» int main() – головна функція. string currency1; string currency2; - оголошення змінних currency1, currency2 типу string. string sum; - змінна для обрахування суми. cout - в даному коді програми використовується оператор cout, операція помістити в потік <<, щоб вивести на екран користувачеві певну інформацію [4]. cin – в даному коді програми використовується оператор cin, операція взяття з потоку >> щоб отримати від користувача введене ним значення [4]. bool – логічний тип. Змінні цього типу можуть набувати двох значень (false, true) [4]. While ( ) – оператор циклу, що повторює одну і ту ж дію, поки умова продовження циклу while залишається істинною [4]. ifstream fin("baza.txt"); - читання даних з файлу [4]. / Рисунок 3.1 - використання операторів у програмі / Рисунок 3.2 - використання операторів у програмі 3.4. Тестування розробленої системи «Конвертер валют» Тест 1.1 Мета: Перевірка на виконання оператора умови. Тестування: Відкрити файл Convert.cpp. Скомпілювати та виконати програму натисканням на відповідну кнопку на панелі інструментів або натиснувши F11. Слідувати інструкції та ввести необхідну валюту, попередньо вказавши хибний запис. Коректний результат: Виведення повідомлення в консолі програми про невірний формат введених даних та прохання ввести дані ще раз. Результат показано на рисунку 3.3 Рисунок 3.3 – Тест 1.1 Тест 1.2 Мета: Перевірка на виконання оператора умови. Тестування: Відкрити файл Convert.cpp. Скомпілювати та виконати програму натисканням на відповідну кнопку на панелі інструментів або натиснувши F11. Слідувати інструкції та ввести необхідну валюту, після чого ввести завідома вказавши хибний запис. Коректний результат: Виведення повідомлення в консолі програми про невірний формат введених даних та прохання ввести дані ще раз. Результат тестування показано на рисунку 3.4. / Рисунок 3.4 – Тест 1.2 Тест 2.1 Мета: Перевірка на успішне виконання переведення. Тестування: Відкрити файл Convert.cpp. Скомпілювати та виконати програму натисканням на відповідну кнопку на панелі інструментів або натиснувши F11. Слідувати інструкціям та виконувати необхідні дії, після чого отримати результат у вигляді конвертованої суми. Коректний результат: Виведення результату в консолі у вигляді числового значення. Результат тестувань показано на рисунках 3.5 – 3.7. / Рисунок 3.5 – Тест 2.1 / Рисунок 3.6 – Тест 2.1 / Рисунок 3.7 – Тест 2.1 Тест 2.2 Мета: Перевірка на використання дробових чисел. Тестування: Відкрити файл Convert.cpp. Скомпілювати та виконати програму натисканням на відповідну кнопку на панелі інструментів або натиснувши F11. Слідувати інструкціям та виконувати необхідні дії, ввівши дійсного числа після чого отримати результат у вигляді конвертованої суми. Коректний результат: Виведення результату в консолі у вигляді числового значення. Результат тестування показано на рисунку 3.8. / Рисунок 3.8 – Тест 2.2 ВИСНОВКИ В даній курсовій роботі було розроблено програму «Конвертер валют», що дозволяє перевести вказану суму з однієї валюти в іншу по актуальному курсу. Курс валют зберігається у файлі. Розроблено алгоритм виконання операцій для реалізації програми та пошук оптимально короткого шляху досягнення результату. В ході роботи на практиці було застосовано раніше отримані знання з мови програмування С++, та поглиблені знання в процесі розробки програми. Було проведено ознайомлення з середовищем розробки DEV C++ та вдосконалено знання з мови програмування С++. Також було вивчено деякі теоретичні питання: основні терміни інформатики, види та властивості алгоритмів, етапи створення програмних додатків, класифікацію алгоритмів за призначенням. Було визначено межі застосування програмування в реальному житті, шляхом аналізу програмування в банківській сфері. Завдяки коригуванню системи на наявність збоїв було вдосконалено навички тестування програмних додатків. Було вивчено нові можливості тестування шляхом використання методології Agile, що дозволяє зменшити можливість виникнення критичних помилок до мінімального рівня. Було проаналізовано ключові аспекти програмування, що включають в себе запис математичних операцій шляхом використання розрахункових операторів, використання циклічних операторів для багаторазового використання окремих блоків коду. При застосуванні циклічних конструкторів було проаналізовано доцільність їхнього використання з питань оптимізації та використання ресурсу динамічної пам’яті ПК. СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ Dev cpp [Електронний ресурс]: [Веб-сайт] – Електронні дані. - Режим доступу: http://hightech.in.ua/content/art-dev-cpp-c-cpp-ide - Назва з екрану Блок-схема [Електронний ресурс]: [Веб-сайт] - Режим доступу: http://code2flow.com/ - Назва з екрану Освой самостоятельно С++ за 21день / Джесс Ліберті [Текстовий ресурс]: Книга з програмування – 768 с. C++ Language [Електронний ресурс]: [Веб-сайт] - Режим доступу: http://www.cplusplus.com/doc/tutorial/ - Назва з екрану Вимоги до оформлення [Електронний ресурс]: [Веб-сайт] - Режим доступу: http://web.znu.edu.ua/lab/fordep/oformlenie/kursova.htm - Назва з екрану Валютний курс [Електронний ресурс]: [Веб-сайт] - Режим доступу: https://uk.wikipedia.org – Назва з екрану Методичні вказівки [Електронний ресурс]: [Веб-сайт] - Режим доступу: http://ua.kursoviks.com.ua/metodychni_vkazivky/article_post/48-metodichn-vkaz-vki-do-vikonannya-kursovo-roboti-po-discipl-nah-ob-ktno-or-ntovane-programuvannya-ta-ob-ktno-or-ntovana - Назва з екрану Поняття алгоритму [Електронний ресурс]: [Веб-сайт] - Режим доступу: http://distance.edu.vn.ua/metodic/pascal/4.htm - Назва з екрану Сравнение с языком Java [Електронний ресурс]: [Веб-сайт] - Режим доступу:https://sites.google.com/site/programme666/home/istoria-cozdania/filosofia-c/sravnenie-s-azykom-java - Назва з екрану Borland C++ 5 / П. Кіммел [Текстовий ресурс]: Книга з програмування – 976 с. Технология программирования на С++ / Литвиненко Н. А. [Текстовий ресурс]: Книга з програмування – 281 с. Программирование. Принципы и практика использования С++ / Бьерн Страуструп [Текстовий ресурс]: Книга з програмування – 1248 с. ДОДАТКИ ДОДАТОК А ЛІСТИНГ ПРОГРАМНОЇ РЕАЛІЗАЦІЇ ОСНОВНИХ МОДУЛІВ СИСТЕМИ «КОНВЕРТЕР ВАЛЮТ» #include <iostream> #include <fstream> #include <string.h> #include <math.h> using namespace std; int main() { cout<<"What currency to convert ?(UAH,USD,RUB)"<<endl; string currency1; bool flag=false; while (!flag) { flag=true; cin>>currency1; if (currency1!="UAH"&&currency1!="USD"&&currency1!="RUB") { cout<<"Input error , please re-enter"<<endl; flag=false; } } flag=false; string currency2; cout<<"In what currency to convert ?(UAH,USD,RUB)"<<endl; while (!flag) { flag=true; cin>>currency2; if (currency2!="UAH"&&currency2!="USD"&&currency2!="RUB") { cout<<"Input error , please re-enter"<<endl; flag=false; } } cout<<"Enter the amount"<<endl; string sum; double sum1=0; flag=false; while(!flag) { flag=true; cin>>sum; int l=sum.length(); int i=0; for (;i<l;++i) { if (sum[i]=='.'||sum[i]==',') { break; } } for (int j=0;j<i;++j) { if (sum[j]>='0'&&sum[j]<='9') { sum1+=((int)(sum[j]-'0')*pow(10,i-j-1)); } else { flag=false; cout<<"Wrong data format "<<endl; break; } } if (i!=l) for (int j=i+1;j<l;++j) { if (sum[j]>='0'&&sum[j]<='9') { sum1+=((int)(sum[j]-'0')*pow(0.1,j-i)); } else { flag=false; cout<<"Wrong data format"<<endl; break; } } } ifstream fin("baza.txt"); double RUB, USD; fin>>USD>>RUB; fin.close(); double many; if (currency1=="UAH") { many=sum1; } else if (currency1=="RUB") { many=sum1*RUB; } else many=sum1*USD; if (currency2=="RUB") { many/=RUB; } else if (currency2=="USD") many/=USD; cout<<many; } ДОДАТОК Б ІНСТРУКЦІЯ КОРИСТУВАЧА СИСТЕМИ «КОНВЕРТЕР ВАЛЮТ» Для запуску програми «Конвертер валют» необхідно запустити файл convert.exe (Рисунок Б.1). / Рисунок Б.1 – Запуск програми Після відкриття програми необхідно виконувати вказівки програми та ввести валюту яку ви хочете конвертувати – UAH, USD, RUB (Рисунок Б.2). / Рисунок Б.2 – Введення валюти Після введення валюти, слідувати інформації щодо подальших дій у вікні, а саме ввести валюту в яку ви хочете конвертувати – UAH,USD,RUB (Рисунок Б.3). / Рисунок Б.3 – Введення валюти Наступним кроком програма потребує введення користувачем кількості валюти, яку треба конвертувати (Рисунок Б.4). / Рисунок Б.4 – Введення кількості валюти На цьому кроці програма оброблює отримані дані та конвертує відповідне значення. Після конвертування система, виводить отриману суму на екран у вигляді числа (Рисунок Б.5). / Рисунок Б.5 – Виведення результату конвертування
Антиботан аватар за замовчуванням

03.10.2018 00:10-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!