Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Разработка алгоритма программы "Механические часы, показывающие текущее время"

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Проведение сравнительного анализа языков программирования. Создание алгоритма и специфика составления математической модели программы "Механические часы, показывающие текущее время" в среде Microsoft Visual Studio 2010, на базе языка программирования С++.
Краткое сожержание материала:

Размещено на

25

Размещено на

Разработка алгоритма программы «механические часы, показывающие текущее время»

СОДЕРЖАНИЕ

  • ВВЕДЕНИЕ
  • 1 АНАЛИТИЧЕСКИЙ ОБЗОР ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
  • 2 МАТЕМАТИЧЕСКАЯ ГЛАВА
  • 3 ОПИСАНИЕ АЛГОРИТМА РАБОТЫ ПРОГРАММЫ
  • ВЫВОД
  • СПИСОК ЛИТЕРАТУРЫ
  • ПРИЛОЖЕНИЯ

ВВЕДЕНИЕ

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

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

Задача курсовой работы состоит в следующем: составить алгоритм, рисующий механические часы из различных графических примитивов, а также алгоритм, который будет считывать данные о текущем времени и на основании полученных данных перерисовывать часы.

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

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

Часы будут состоять из основания (круга), циферблата (числа от 1 до 12 и 48 делений), секундной, минутной и часовой стрелок.

Для написания выбран язык программирования С++, среда разработки Microsoft Visual Studio 2010.

1. АНАЛИТИЧЕСКИЙ ОБЗОР ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

Языки программирования можно разделить на два большие группы: объектно-ориентированные языки (С++, C#, Delphi, Java, Perl и другие) и процедурные языки (Basic, C, Pascal, Фортран, Ассемблер и другие).

Рассмотрим разницу между объектно-ориентированными и процедурными языками.

Процедурное (императивное) программирование является отражением архитектуры традиционных ЭВМ, которая была предложена фон Нейманом в 40-х годах [1]. Теоретической моделью процедурного программирования служит алгоритмическая система под названием «машина Тьюринга».

Программа на процедурном языке программирования состоит из последовательности операторов (инструкций), задающих процедуру решения задачи. Основным является оператор присваивания, служащий для изменения содержимого областей памяти. Концепция памяти как хранилища значений, содержимое которого может обновляться операторами программы, является фундаментальной в императивном программировании.Выполнение программы сводится к последовательному выполнению операторов с целью преобразования исходного состояния памяти, то есть значений исходных данных, в заключительное, то есть в результаты. Таким образом, с точки зрения программиста имеются программа и память, причем первая последовательно обновляет содержимое последней.

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

В основе объектно-ориентированного стиля программирования лежит понятие объекта, а суть его выражается формулой: «объект = данные + процедуры». Каждый объект интегрирует в себе некоторую структуру данных и доступные только ему процедуры обработки этих данных, называемые методами. Объединение данных и процедур в одном объекте называется инкапсуляцией и присуще объектно-ориентированному программированию.

Для описания объектов служат классы. Класс определяет свойства и методы объекта, принадлежащего этому классу. Соответственно, любой объект можно определить как экземпляр класса.

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

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

Ассемблер - язык программирования, который относиться к процедурным языкам программирования. Так же является языком низкого уровня, т.е мнемонические команды которого (за редким исключением) соответствуют инструкциям процессора вычислительной системы.

Достоинствами ассемблера являются:

1) программы, написанные на ассемблере самые быстрые из всех, что возможны для процесса, для которого написан код;

2) непосредственный доступ к аппаратуре (порты ввода-вывод, регистры процессора);

3) возможность встраивания кода ассемблера в некоторые языки программирования (например C++).

Исходя из данных достоинств, ассемблер часто применяют для написания драйверов, ядер операционных систем, «прошивок» BIOS, написания вирусов и других вредоносных программ и др.

Но, несмотря на достоинства, ассемблер имеет и свои недостатки:

1) программу со сложной логикой написать на ассемблере очень сложно, а порой бывает и невозможно;

2) код языка низкого уровня хуже читается и воспринимается, по сравнению с языками высокого уровня;

3) не переносимость программ, написанных на ассемблере, на другие компьютеры другой архитектуры.

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

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

Delphi - язык программирования высокого уровня. Относиться к объектно-ориентированным языкам программирования. Произошел от языка Object Pascal, который в свою очередь произошел от Turbo Pascal.

Поскольку Delphi является объектно-ориентированным языком, в нем присутствуют все особенности объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм.

К достоинствам Delphi можно отнести:

1) простота изучения синтаксиса языка;

2) возможность использование компонентов и модулей, написанных другими программистами;

3) программы, написанные на Delphi, не требуется снабжать дополнительными библиотеками (например в отличие от связки C++/MFC);

4) быстрый браузер классов и мгновенный вывод подсказки автозавершения кода (code completion);

5) высокая скорость компиляции.

К недостаткам Delphi можно отнести:

1) малое число параметров оптимизации кода;

2) отсутствие гибких инструментов для метапрограммирования и шаблонного программирования;

3) отсутствие возможности создания кроссплатформенных приложений;

4) статическое присоединение (linking) библиотеки VCL и компонентов к исполняемому файлу.

В целом Delphi довольно мощный инструмент для создания приложений под Windows[2]. Среды разработки (Borland Delphi различных версий) являться визуальными, что еще больше упрощает создание приложений.

Систему Delphi относят к категории RAD-систем программирования(RAD-- Rapid Application Development, быстрая разработка приложений).

Простота языка (относительно других языков программирования) позволяет освоить его в довольно короткие сроки. Созданные приложения работают достаточно быстро. Есть возможность заменить часть кода ассемблером, что еще больше может увеличивает скорость работы программы.

Delphi подходит для решения поставленной задачи (механические часы). Математические операторы являться стандартным и с ними не возникнет сложности. Стандартный класс TCanvas позволяет рисовать различные примитивы, из которых возможно построить циферблат и стрелки часов, на основании математических расчетов. При необходимости более качественной прорисовки есть возможность подключить дополнительные графические библиотеки (например OpenGL).

C++ - относится к объектно-ориентированным языкам программирования. Произошел от языка C.

C++ сочетает свойства языков программирования высокого уровня и низкого уровня. Он является одним из самых популярных языков программирования.

Достоинства языка С++:

1) второй, по скорости компиляции, язык программирования (быстрее только ассемблер);

2) поддержка шаблонного программирования, перегрузки операторов и перегрузки функций;

3) огромное количество библиотек, как стандартных (в частности библиотека стандартных шаблонов STL), так и созданных сторонними разработчиками;

4) кроссплатформенность;

5) возможность работы на низком уровне с памятью, адресами, портами.

Недостатки языка С++:

1) Некоторая неудобность синтаксиса, унаследованного от С;

<...
Другие файлы:

Разработка модели, алгоритма и программы для определения технического состояния объекта по его признакам
Этапы процедуры принятия решений. Разработка математического алгоритма. Блок-схема алгоритма работы программы. Разработка программы на языке программи...

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

Разработка программы управления лифтом
Разработка алгоритма и программы управления поворотной платформой лифта при помощи языка программирования Java Script. Проектирование приложения к бра...

Разработка алгоритма и программы для вычисления коэффициента оперативной готовности системы
Вычисление физических параметров реальной электрической цепи посредством преобразования её к эквивалентной. Схема алгоритма программы и ее разработка...

Расчет макроэкономических индексов цен
Составление алгоритма и разработка в среде программирования Delphi 7 программы, вычисляющей макроэкономические индексы цен. Реализация программы в вид...