разработка графического приложения «Решение задачи «Ханойские башни» на языке высокого уровня C++ в среде C++Builder 6

  • Я - нейросеть а24+. Помогу с решением задачи
Готовлю ответ ...

Цели и задачи

Целью данной работы является разработка графического приложения «Решение задачи «Ханойские башни» на языке высокого уровня C++ в среде C++Builder 6.

Введение и актуальность


Поддержка абстракций. Даже в случае наибольшей естественности языка программирования для данной предметной области остается некоторый значительный пробел. Смысл его заключается в несоответствии абстрактных структур данных и операций, которые характеризуют решение задачи, и конкретных базовых структур данных и операций, встроенных в язык. К примеру, язык С вполне может использоваться для составления расписания занятий в университете, несмотря на то, что в нем напрямую не существует естественных для этого приложения абстрактных структур данных, таких как студент, курс лекций, преподаватель, аудитория, и таких абстрактных операций, как определить студента в группу и назначить аудиторию для группы. Важной частью работы разработчика программного кода является создание конкретных абстракций для решения задачи и их последующая реализация с использованием базовых возможностей реального языка программирования. В самом лучшем случае, язык должен позволять определять структуры данных, типы данных и операции и поддерживать их как самодостаточные абстракции. Тогда программист получит возможность использовать их в других частях программы, зная только их абстрактные свойства и не вникая в их фактическую реализацию. Такие языки как Ada и С++ были разработаны именно по причине отсутствия этой возможности в более ранних языках, таких как Pascal и С соответственно.
Удобство верификации программы. Основным требованием к приложению является надежность программы, написанной на том или ином языке. Существует множество способов для проверки правильности выполнения программой своих функций. Правильность программы можно доказать с помощью формальных методов верификации, проверкой без выполнения (путем чтения текста программы и исправления ошибок), также она может быть протестирована путем ее выполнения с тестовыми входными данными и проверкой выходных результатов в соответствии с ее спецификацией и т. д. Для проверки больших объемов программного кода обычно используется комбинация всех этих методов. Даже если язык обеспечивает на первый взгляд широкий круг возможностей для облегчения программирования, но проверка написанных на нем программ затруднительна, он будет менее надежен, чем язык, поддерживающий и упрощающий верификацию программы. Основной фактор, влияющий на упрощение проверки программы, - простота семантики и синтаксических структур.
Среда программирования. Присутствие в языке программирования технически развитых конструкций (выражений, типов и структур данных, структур управления и т.д.) - это только один из аспектов, влияющих на широту его использования. При наличии подходящей среды программирования технически слабый язык программирования может стать более легким в применении, чем сильный язык при незначительной внешней поддержке. Имеется довольно длинный список разнообразных определяющих факторов, которым должна соответствовать среда программирования, но главным из них, несомненно, будет требование наличия в ней надежной, эффективной и хорошо документированной реализации языка программирования. Специализированные текстовые редакторы и тестирующие пакеты, которые отражают специфику языка и особенности работы с ним, могут значительно ускорить написание и тестирование программ, а средства для поддержки и модификации различных версий программ могут облегчить разработку больших приложений.
Переносимость программ. Также важным критерием для многих программных проектов является совместимость разработанных программ с другими компьютерными системами. Удобным средством создания переносимых программ являются широкодоступные языки, определение которых не зависит от возможностей различных машин. Такие языки как, например, С и Pascal, имеют стандартные определения, позволяющие разрабатывать переносимые приложения. Другие языки происходят от единственной централизованной реализации, позволяя разработчику языка осуществлять некоторый контроль над свойствами, определяющими его переносимость.
Стоимость использования, которая является существенным компонентом оценки языка программирования и складывается из нескольких составляющих:
стоимость выполнения программы. Здесь имеется в виду эффективность использования регистров и механизмов выполнения программ, однако на сегодняшний день для большинства приложений вопрос скорости выполнения не является первостепенным, поскольку при использовании настольных компьютеров, выполняющих много миллионов операций в секунду, увеличение времени выполнения на 10-20 % является допустимым.
стоимость трансляции программы. Для языков, использующихся в процессе обучения (например, Pascal или С), наиболее важным может оказаться вопрос эффективной трансляции (компиляции), а не эффективного выполнения. Как правило, в процессе отладки студенческие программы многократно транслируются, а выполняются всего несколько раз.
стоимость создания, тестирования и использования программы. Для определенного класса задач решение должно быть разработано, закодировано, протестировано, изменено и использовано с минимальными затратами времени и сил программиста. То есть минимизируется общее время и объем усилий, требующихся программисту на решение на компьютере какой-либо задачи, даже если время выполнения программы может быть больше, чем для других языков.
стоимость сопровождения программы. Многочисленные исследования показали, что самую большую часть стоимости программы, используемой в течение нескольких лет, составляет стоимость полного жизненного цикла программы, куда входит стоимость и разработки, и сопровождения программы. Поддержка включает в себя и исправление ошибок, выявленных в процессе эксплуатации, и изменения, связанные с обновлением аппаратной части или операционной системы, и усовершенствование и расширение возможностей программы для удовлетворения новых потребностей. Язык, который позволяет без особых проблем вносить многочисленные изменения и исправления в программу и создавать различные расширения (причем разными программистами и в течение многих лет), окажется в конечном счете более выгодным, чем любой другой.
Таким образом, в результате работы над первой главой курсовой работы было изучено само понятие языков программирования высокого уровня, которое означает, что такой язык содержит смысловые конструкции и команды, которые представляют собой стандартные структуры из нескольких простейших (низкоуровневых, машинных) команд, что упрощает и ускоряет работу программиста для написания определенного функционала. Была дана классификация языков программирования высокого уровня, которая делит эти языки на процедурные, проблемные и объектные. Также были изучены основные свойства, которые определяют уровень языка программирования.

Заключение и вывод

В рамках данного курсового проектирования было проведено исследование на тему «Создание графических приложений в языках программирования высокого уровня».
Графический пользовательский интерфейс представляет собой разновидность пользовательского интерфейса, в котором элементы интерфейса (меню, кнопки, значки, списки и т. п.), представленные пользователю на дисплее, исполнены в виде графических изображений. В данном случае пользователь имеет произвольный доступ (с помощью устройств ввода - клавиатуры, мыши, джойстика и т. п.) ко всем видимым экранным объектам (элементам интерфейса) и осуществляет непосредственное манипулирование ими. Графический интерфейс пользователя является частью пользовательского интерфейса и определяет взаимодействие с пользователем на уровне визуализированной информации.
В первой главе было изучено само понятие языков программирования высокого уровня, которое означает, что такой язык содержит смысловые конструкции и команды, которые представляют из себя стандартные структуры из нескольких простейших (низкоуровневых, машинных) команд, что упрощает и ускоряет работу программиста для написания определенного функционала. Была дана классификация языков программирования высокого уровня, которая делит эти языки на процедурные, проблемные и объектные. Также были изучены основные свойства, которые определяют уровень языка программирования.
Вторая глава была посвящена изучению истории становления сферы разработки графических приложений с помощью языков программирования высокого уровня, которая состояла из двух этапов: стандартизации системных функций и появлению визуального программирования. На сегодняшний день существует огромное количество сред визуального проектирования, которые позволяют даже непрофессиональным пользователям без глубоких знаний основ программирования создавать и использовать графические приложения для компьютерных устройств. Также было приведено описание основных компонентов визуального проектирования на примере среды программирования С++ Builder.
Третья глава была посвящена разработке графического приложения «Решение задачи «Ханойские башни» на языке высокого уровня С++ в среде программирования С++Builder. Данное приложение позволяет пользователю решать головоломку о ханойских башнях с любым заданным начальным значением. Данное приложение иллюстрирует работу с визуальными графическими компонентами при разработке оконных приложений.

Нужна похожая работа?

Оставь заявку на бесплатный расчёт

Смотреть все Еще 421 дипломных работ