Разработка прикладного алгоритма и его реализация на языке С++

Автор работы: Пользователь скрыл имя, 25 Января 2013 в 21:42, курсовая работа

Краткое описание

Задание: Разработать программу для итерационного поиска размеров равномерных выплат по кредиту. Выплаты и начисления процентов на оставшуюся сумму производятся ежемесячно. Исходные данные: размер кредита, срок выплат (от 1 до 5 лет), процентная ставка. В диалоговом окне изобразить график изменения остатка от суммы кредита.

Содержание работы

1. Постановка задачи……………………………………………….……3
2. Среда программирования Borland C++ Builder…………………..4
3. Математическое обеспечение…………………………….…………10
4. Разработка алгоритма программы в виде блок-схемы…….……11
5. Описание работы программы………….…………………………….12
6. Выводы………………………………….……………………………….15
7. Список используемой литературы…….………………………….16
Приложение ………………….……………………………..……………..17

Содержимое работы - 1 файл

Курсач.doc

— 560.50 Кб (Скачать файл)

Уфимский Государственный  Авиационный Технический Университет

 

Кафедра Вычислительной Техники

и Защиты Информации

 

 

 

 

 

 

 

Пояснительная записка

 к курсовой работе

по дисциплине: «Методы программирования и  прикладные алгоритмы»

по теме:

«Разработка прикладного алгоритма и его реализация на языке С++»

 

 

 

 

Выполнил студент:

Загураев А.Н.

Факультет: ИРТ

Группа: ЗИ-225

Принял доцент, к.т.н.:

Строкина Ю.Г.

 

 

Уфа 2006 г.

Содержание

 

1. Постановка  задачи……………………………………………….……3

2. Среда программирования  Borland C++ Builder…………………..4

3. Математическое обеспечение…………………………….…………10

4. Разработка алгоритма  программы в виде блок-схемы…….……11

5. Описание работы программы………….…………………………….12

6. Выводы………………………………….……………………………….15

7. Список используемой  литературы…….…………………………….16

Приложение ………………….……………………………..……………..17

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Постановка  задачи

Задание: Разработать программу для итерационного поиска размеров равномерных выплат по кредиту. Выплаты и начисления процентов на оставшуюся сумму производятся ежемесячно. Исходные данные: размер кредита, срок выплат (от 1 до 5 лет), процентная ставка. В диалоговом окне изобразить график изменения остатка от суммы кредита.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Среда программирования Borland C++ Builder

Введение

Borland C++ Builder является средой быстрой разработки приложений. В основе систем быстрой разработки (RAD-систем, Rapid Application Development — среда быстрой paзpa6oтки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть работы по генерации кода программы, оставляя программисту работу по конструированию диалоговых окон и написанию функций обработки событий. Производительность программиста при использовании RAD систем существенно увеличивается.

Система объектно-ориентированного программирования Borland C++ Builder, предназначена  для операционных систем Windows. Интегрированная среда C++ Builder обеспечивает скорость визуальной разработки, продуктивность повторно используемых компонентов в сочетании с мощью языковых средств C++, усовершенствованными инструментами и разномасштабными средствами доступа к базам данных.

Профессиональные  средства языка C++ интегрированы в визуальную среду разработки. C++Builder предоставляет быстродействующий компилятор с языка Borland C++, эффективный инкрементальный загрузчик и гибкие средства отладки как на уровне исходных инструкций, так и на уровне ассемблерных команд - в расчете удовлетворить высокие требования программистов-профессионалов.

С++ Builder может  быть использован везде, где требуется  дополнить существующие приложения расширенным стандартом языка C++, повысить быстродействие и придать пользовательскому  интерфейсу качества профессионального  уровня.

Скорость  визуальной разработки

Профессиональные  средства языка C++ интегрированы в визуальную среду разработки. C++Builder предоставляет быстродействующий компилятор с языка Borland C++, эффективный инкрементальный загрузчик и гибкие средства отладки как на уровне исходных инструкций, так и на уровне ассемблерных команд - в расчете удовлетворить высокие требования программистов-профессионалов.

Конструирование по способу "drag-and-drop " позволяет создавать приложение простым перетаскиванием захваченных мышью визуальных компонентов из Палитры на форму приложения. Инспектор объектов предоставляет возможность оперировать со свойствами и событиями компонентов, автоматически создавая заготовки функций обработки событий, которые наполняются кодом и редактируются в процессе разработки.

Свойства, методы и события - это именно те элементы языка, которые обеспечивают быструю разработку приложений в рамках объектно-ориентированного программирования. «Свойства» позволяют легко устанавливать разнообразные характеристики объектов. «Методы» производят определенные, иногда довольно сложные, операции над объектом. «События» связывают воздействия пользователя на объекты с кодами реакции на эти воздействия. События могут возникать при таких специфических изменениях состояния объектов как обновление данных в интерфейсных элементах доступа к базам данных. Работая совместно, свойства, методы и события образуют среду RAD (Rapid Application Development) быстрого и интуитивного программирования надежных приложений для Windows.

Визуальное наследование форм воплощает важнейший аспект объектно-ориентированного программирования в удобном для пользования инструменте визуального проектирования. Характеристики новой формы приложения могут быть унаследованы от любой другой существующей формы, что обеспечивает централизованную репродукцию изменений пользовательского интерфейса, облегчает контроль за кодом и уменьшает временные затраты на введение новых качественных атрибутов.

Мастер инсталляции руководит созданием унифицированных дистрибутивных пакетов для разработанных приложений.

Исходные тексты Библиотеки Визуальных Компонентов облегчают разработку новых компонентов на базе готовых примеров.

Отрытые инструменты API могут быть непосредственно интегрированы в визуальную среду системы. Вы сможете подключить привычный текстовый редактор или создать собственного мастера для автоматизации выполнения повторяющихся процедур.

Расширенная математическая библиотека содержит дополнительные унифицированные функции статистических и финансовых вычислений.

Интерфейс Borland C++ Builder.

В состав интерфейса С++ Builder входят:

• Палитра компонент содержит более 100 повторно используемых компонентов,предлагаемых для построения приложений.

• Редактор форм предназначен для создания интерфейса программы с пользователем.

• Редактор кода предназначен для написания текста программы, в частности, функций обработки событий.

• Инспектор объектов позволяет визуально устанавливать свойства объектов без необходимости рутинного программирования и содержит события, которые можно связывать с кодами реакции объектов на их возникновение.

• Хранилище объектов содержит такие объекты, как формы и модули данных, которые разделяются многими приложениями с целью уменьшения временных затрат при разработке.

 

     


  C++Builder реализует визуальную методику построения приложений посредством выбора из Палитры компонентов нужных управляющих элементов (Рис.1). С каждым компонентом (например, кнопкой) связаны свойства, которые меняют ее вид и поведение. Любой компонент может вызывать серию событий, которые определяют его реакцию на различные воздействия.

Проблемы  совместимости

C++ Builder предоставляет  свою мощность и широкие возможности  языка C++ всему семейству систем объектно-ориентированного программирования. C++ Builder может быть использован везде, где требуется дополнить существующие приложения расширенным промышленным стандартом языка C++, повысить быстродействие и придать пользовательскому интерфейсу профессиональный облик.

C++ Builder и Borland C++

Между программными продуктами C++ Builder и Borland C++ существует полная и  взаимная функциональная совместимость. C++ Builder добавляет процессу программирования новое качество - быструю визуальную разработку приложений на языке C++. Если вы привыкли работать в системах программирования Borland C++ (версий 3.1. 4.5 и 5.0), то ни переход к новой системе, ни возврат к старой не окажутся слишком затруднительными. В вашем распоряжении остаются удобный администратор проектных файлов, компилятор и инкрементальный загрузчик.

Поначалу C++ Builder разочарует многих разработчиков тем, что вместо привычных библиотек OWL и MFC он использует неведомую дотоле библиотеку VCL. Каждая библиотека представляет собой специфическую модель объектно-ориентированного программирования под Windows. Каждая библиотека решает проблемы ООП по-своему, и нельзя сказать, что какая-то одна справляется с задачей лучше или хуже других.Borland C++ версий 5.0 и выше поддерживает внедрение в ранее разработанные OWL или MFC программы типовых форм, спроектированных в среде C++Builder на базе VCL. Разработчик идет на такого рода переделки из-за простой причины: C++Builder позволяет включить в форму все диалоги с пользователем чрезвычайно быстро, придавая приложению для Windows законченный профессиональный облик, устраняя из программы всю шелуху вспомогательного кода и оставляя только содержательную часть, воплощающую основную идею алгоритма. Таким образом, совместимость обеспечивается на уровне форм. Не удивительно, что совместная работа с двумя библиотеками объектных классов заметно увеличивает размер ЕХЕ файла.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Математическое обеспечение

В данной программе  используется алгоритм итерациооного  поиска:

Данный алгоритм реализует перебор всех имеющихся значений и выбор из них тех, которые удовлетворяют условиям.

    1. Первое из условий, встречающееся в данном алгоритме является: b>=1 & b<=5;
    2. Далее реализуется цикл for с условием y<=a и ведется поиск значений y, удовлетворяющих этому условию;
    3. While выполняет прербор значений po<=b*12;
    4. Размер выплат производится при условии o>=-1 & o<1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Разработка  алгоритма программы в виде блок-схемы

Блок-схема функции атерационного поиска:




 


















 





 


Описание  Работы Программы 

 


 

При создании данной программы были использованы следующие  компоненты:

    1. Компонент Label – компонент используется для вывода на форму текста, пояснительных надписей, а так же данных без возможности редактирования.
    2. Компонент Edit  - поле радактированиия. В данной программе используется для вывода пояснительного текста.
    3. Компонент Image – используется для вывода графических изображений, в данной программе для вывода графика.
    4. Компонент Memo – элемент редактирования текста, который может содержать несколько строк. При работе программы данный компонент невидим и может распологоться в любом месте формы.
    5. Компонент OpenDialog – осуществляет доступ к стандартному диалоговому окну «Открыть файл». Испльзуется для открытия файла из которого загружаются данные.
    6. Компонент Button – кнопка. С помощью них осуществляются действия программы (выполняется загрузка файла, алгоритм)

  


 

В данной программе  компонент Button1 представлен в обычной фореме, т.е. стандартная кнопка. Для нее задано событие Button1Click (нажатие кнопки 1) при котором появляется стандартное диалоговое окно «Открыть файл». После выбора файла, так же в этом событии происходит проверка правильности данных и дальнеейшее выполнение алгоритма. После вывода конкретного  результата (или сообщения «Введнные данные не верны») можно использовать этот компонент снова.

Так же, в программе  имеется компонент Button2 представленный так де в обычной форме. И при заданном событии Button2Click выполняет действие Clouse (выход из программы).


 

 

Так же при создании программы были изменены некоторые свойства компонента TForm1 (Форма):

В часности изменено свойство BorderIcons (кнопки управления окном) – компонент biMaximaze (развернуть) сделан недоступным.

Был изменен  компонент BorderStyle (вид границы) – bsSizeable (обычная граница) была заменена на bsSingle (тонкая граница) для отключения функции свободной трансформации окна.

 

 

 

 

 

 

 

 

 

Выводы

 

В ходе выполнения работы был изучен алгоритм итерационного  поиска, а так же оновы программиррования  в среде Borland C++ Builder. Данный язык так же называют средой быстрой разработки приложений, что вполне оправдано – для создания аналогичной программы на ассемблере необходимо было бы написать код на сотню страниц, в С++ на десяток,  а на Borland C++ Builder всего несколько страниц. Borland C++ Builder является средой визуальной разработки приложений. Данный подход к программированию является одним из самых перспективных на сегодняшний день и это вполне оправданно как обьемом кода для написания программы, так и следствием из этого – экономией времени. А всплываюшие подсказки при написании кода, избавляют от необходимости обрашатся к справочникам для уточнения синтаксиса конкретной команды. Однако, для написания лбой программы необходимо знать и уметь составлять алгоритмы решения задачи, что входит исключительно в задачи программиста. В связи с этим, в ходе выполнения работы, были изучены основы програмирования на языке С++ , который является базовым для Borland C++ Builder, без знания основ которого не может быть реализован ни один алгоритм. Так что для работы в среде Borland C++ Builder необходимо знание основ как С++, так и объектно ориентиропанного программирования в целом.

 

 

 

 

 

 

 

Список  используемой литературы

    1. Культин Н.Б. Самоучитель С++ Builder. – СПб.: БХВ-Петербург,2005. – 320с.: ил.
    2. Культин Н.Б. С/С++ в задачах и примерах. – СПб.: БХВ-Петербург, 2006. – 288с.: ил.
    3. Borland Builder C++. Освой самостоятельно. – СПб.: Питер, 2005. – 702с.: ил.
    4. Холзнер С. Visual C++ 6. Учебный курс. – СПб.: Питер, 2006. – 570с.: ил.
    5. Красиков И.В., Красикова И.Е. Алгоритмы. Просто как дважды два. – М.: Эксмо,2006. – 256с.: ил.
    6. Карпов Б., Баранова Т. С++. Специальный справочник (2-е издание). – СПб.: Питер, 2005. – 381с.: ил.
    7. Франка П. С++: Учебный курс. – СПб.: Питер, 2005. – 522с.: ил.

Информация о работе Разработка прикладного алгоритма и его реализация на языке С++