Материал: Разработка приложения для выполнения математических операций и вычислений

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Разработка приложения для выполнения математических операций и вычислений

КОСТАНАЙСКИЙ СОЦИАЛЬНО-ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ИМЕНИ АКАДЕМИКА З.АЛДАМЖАР

ТЕХНИЧЕСКИЙ ФАКУЛЬТЕТ

КАФЕДРА ФИЗИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ








Курсовая работа по дисциплине

Инструментальные средства разработки программ

Тема: Разработка приложения для выполнения математических операций и вычислений

Выполнил: Комаров

Сергей Борисович

курса специальности

ВТ и ПО

Научный руководитель

Рак О.В.



Костанай 2011

ВВЕДЕНИЕ

Инструментальные средства разработки программ предназначены для упрощения и ускорения создания программного обеспечения. В качестве подобного средства может выступать как мощная интегрированная среда разработки (англ. - IDE) так и обычный текстовый редактор. Все зависит от навыков программиста, его предпочтений и выбранной технологии с помощью которой реализуется проект.

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

Также в последнее время сильно набрали популярность технологии использующие интерпретируемые языки программирования, такие как PHP, JavaScript, Python и т. п. У каждого из этих средств разработки есть свои преимущества. РНР прост в освоении, имеет развитую систему библиотек кода которая позволяет найти готовые функции для выполнения практически любой поставленной задачи (кроме разве, что низкоуровневого программирования портов и т. п.). Phyton набирающий популярность в последнее время интересен своей лаконичностью и оригинальным синтаксисом (отсутствием всякого рода операторских скобок например - вместо этого используется система отступов, что одновременно делает код более удобочитаемым), а кроме того он портирован на все популярные платформы (вплоть до Symbian OS используемой в смартфонах) и тоже имеет очень мощные библиотеки содержащие программные инструменты для выполнения любых задач программирования. Технология JavaScript стоит особняком среди всех этих средств разработки. Она отнюдь не нова - разработан JavaScript был еще в 1995 году в недрах давно почившей компании Netscape которая поручила Брендону Айхо разработать скриптовый язык для их веб-браузера Netscape Navigator который в тот момент был одним из самых популярных. На синтаксис оказали большое влияние языки программирования C & Java. На текущий момент Java Script - это широко используемый разработчиками объектно-ориентированный скриптовый язык программирования на котором основана популярная технология AJAX, которая позволяет обновлять содержимое страницы не перезагружая ее целиком с сервера, а лишь обновляя некоторые интерактивные элементы. Еще JavaScript удобен тем, что программы написанные на нем для выполнения на стороне клиента не требуют никакого программного обеспечения, кроме обычного веб-браузера т. е. являются истинно кросс-платформенными (будут одинаково хорошо работать как в Windows, так и в GNU/Linux или MacOS). Также удобно то, что для разработки приложения на Java Script можно использовать практически любую IDE, т. к. он поддерживается повсеместно, а можно при наличии опыта и вовсе воспользоваться Notepad под Windows или Vim || Gedit под GNU/Linux (последнее более предпочтительно, так как, в этих редакторах в отличие от Блокнота есть подсветка синтаксиса, что упрощает редактирование кода).

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

1. РАЗРАБОТКА ПРИЛОЖЕНИЯ

таблица клавиша память калькулятор

1.1 Задание на курсовой проект

Тема: Разработка приложения для выполнения математических операций и вычислений.

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

1.2 Теоретическое обоснование выбора формы реализуемого приложения

Для начала необходимо разобраться, что же из себя должно представлять приложение которое будет выполнять данные функции. С древних времен людям был известен такой вычислительный инструмент как обычные счеты (в римском - абак). Они позволяли выполнять простейшие вычисления включая сложение и вычитание сравнительно больших чисел благодаря делению рядов по типу разрядов. Следующим шагом в развитии человечества в данном направлении стал арифмометр - настольная (или портативная) механическая вычислительная машина, предназначенная для точного умножения и деления, а также для сложения и вычитания. Прогресс был налицо т. к. кроме простых процедур - сложения и вычитания, можно было выполнить более сложные математические операции - деление и умножение.. Но человечество не остановилось на достигнутом.. Прогресс вообще невозможно остановить, люди хотят большего, лучшего и более удобного во всех областях жизни.. И вот на смену арифмометру пришло чудо XX века - электронный калькулятор, который позволял выполнять не только сложение, вычитание, деление и умножение с потрясающей точностью, но и извлекать квадратный корень числа, процентное отношение , рассчитывать степени чисел и т. п. операции над числами или алгебраическими формулами. И здесь прогресс не останавливается ни на мгновение - появляются все более разнообразные виды калькуляторов - финансовые , инженерные, статистические , медицинские и т. п. Калькуляторы встраиваются во всевозможную технику - сотовые телефоны, часы и т. д. Встраиваемые калькуляторы стало возможным создать, благодаря программированию приложений выполняющих необходимые функции и имеющих узнаваемый и интуитивно-понятный пользователю интерфейс. Таким образом на текущий момент, самым универсальным средством для выполнения математических расчетов и вычислений является программный калькулятор. Его мы и будем создавать в процессе работы над проектом. И использовать будем кросс-платформенную технологию основанную на базе смешения языка программирования Java Script, языка гипертекстовой разметки HTML, и технологии каскадных таблиц стилей CSS, которую мы используем для придания приложению привычного пользователю вида.

1.3 Обоснование выбора используемых инструментов

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

В данном случае решено использовать язык программирования «JavaScript», т.к. в этом языке реализовано большое разнообразие методов и инструментов для разработки программного обеспечения.- объектно-ориентированный скриптовый язык программирования. Является диалектом языка ECMAScript.

JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.[1]

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

Разработка программы будет выполнена на ПК под управлением ОС GNU/Linux, так как данная ОС очень удобна для нужд программиста, благодаря большому количеству свободного инструментария для разработки на любом языке программирования. В качестве редактора кода выбрана среда Bluefish Editor - свободный инструмент распознающий синтаксис многих языков программирования и предоставляющий средства отладки. Проверка кода будет выполняться в интернет-браузерах Opera, Mozilla Firefox и Google Chrome.

1.4 Описание структуры приложения

Программа будет использовать алгоритм согласно Рисунку 1 Приложения С и функционально будет состоять из 3 основных частей:документаблоковScript - кода

1.5 Описание HTML-документа

(от англ. HyperText Markup Language - «язык разметки гипертекста») - стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц создаются при помощи языка HTML (или XHTML). Язык HTML интерпретируется браузером и отображается в виде документа, в удобной для человека форме.

Основой для приложения будет тело HTML-документа, этот код будет представлен в виде таблиц и формы. Таблица задает точное расположение элементов калькулятора, а форма делает элементы интерактивными и доступными для Java Script кода. Любой html-документ представлен в виде иерархии элементов. т. е. Всегда имеется головной открывающий тег <html> и парный ему закрывающий тег </html> которые определяют границы html-документа и содержат все остальные элементы документа. Подобная иерархия элементов не только упорядочивает код, но и позволяет организовать доступ к объектам документа из javascript-кода на том-же принципе , что и при объектно-ориентированном построении программы. После головного открывающего тега, находится блок заголовка html-документа. Он ограничивается тегами <head><title></title></head>.

После заголовка располагается CSS-таблица, которая содержит описание оформления элементов документа. Благодаря созданию такой таблицы, можно собрать в одном месте html-документа все данные по оформлению и в случае необходимости правки, обращаться в один и тот же участок кода, что несомненно приведет к уменьшению ошибок и упрощению их устранения.(англ. Cascading Style Sheets - каскадные таблицы стилей) - технология описания внешнего вида документа, написанного языком разметки.

CSS используется создателями веб-страниц для задания цветов, шрифтов, расположения и других аспектов представления документа. Основной целью разработки CSS являлось разделение содержимого (написанного на HTML или другом языке разметки) и представления документа (написанного на CSS). Это разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом. Кроме того, CSS позволяет представлять один и тот же документ в различных стилях или методах вывода, таких как экранное представление, печать, чтение голосом (специальным голосовым браузером или программой чтения с экрана), или при выводе устройствами, использующими шрифт Брайля.при отображении страницы может быть взята из различных источников (порядок иерархии от сильного к слабому):

Авторские стили (информация стилей, предоставляемая автором страницы) в виде:

-             Inline-стилей, когда в HTML-документе информация стиля для одного элемента указывается в его атрибуте style.

-             Встроенных стилей - блоков CSS внутри самого HTML-документа.

-             Внешних таблиц стилей, то есть отдельного файла .css, на который делается ссылка в документе.

-             Пользовательские стили

-             Локальный CSS-файл, указанный пользователем в настройках браузера, переопределяющий авторские стили, и применяемый ко всем документам.

-             Стиль браузера

-             Стандартный стиль, используемый браузером по умолчанию для представления элементов.

Таблица стилей состоит из набора правил. Каждое правило, в свою очередь, состоит из одного или нескольких селекторов, разделённых запятыми, и блока определений. Блок определений же обрамляется фигурными скобками, и состоит из набора свойств и их значений.

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

Блок определений CSS содержит пункты описывающие следующие элементы:

-             элемент <body>, для него задается тип начертания шрифта по умолчанию; в качестве оного используется шрифт из семейства helvetica, т. к. на мой взгляд в данном случае он будет более приятен глазу.

-             элемент <p>, для которого задается размер шрифта по умолчанию равный 12 pt.

-             Класс redText который задает как видно из названия красный цвет элемента в параметрах которого указана ссылка на использование данного класса.

-             Класс blueText который задает синий цвет элементам.

Далее в теле документа располагается блок кода на языке Java Script. Он предваряется строкой комментарием <SCRIPT LANGUAGE="JavaScript"> которая указывает браузеру выполняющему обработку документа, что с этого момента начинается javascript-код и необходимо передать управление от парсера, который разбирает html-код к соответсвующему встроенному в браузер интерпретатору языка . Этот блок содержит функции реализующие работу калькулятора. Они описываются в следующем разделе. Блок заканчивается закрывающим тегом </script> который является парным открывающему.

Затем, после закрывающего заголовок тега </head> начинается основная часть html-документа, это непосредственно тело документа, которое начинается с открывающего тега <body>. В теге тела описывается стиль по умолчанию, для отображения данного документа. Это выполнено в строке <body bgcolor="#EDEDED" text="#000000" link="#000000" topmargin="0" leftmargin="0">.

Сам калькулятор реализован в форме, которая начинается тегом <form> и содержит обычно интерактивные элементы, которые могут обрабатыватся как на машине пользователя, так и на удаленном сервере в зависимости от выбранной технологии. Формы обычно содержат элементы для ввода пользователем некоторых данных необходимых для работы приложения.

В нашем случае будут использованы 3 вида полей ввода:

-             текстовое поле имитирующее дисплей калькулятора

-             кнопка (это тоже элемент ввода - просто ввод выполняется в неявной форме - передачей параметра записанного при описании кнопки)

-             кнопка сброса - специальная разновидность кнопки, которая сбрасываетвсе состояния элементов формы в исходное.

Форма создается тегом <form> который содержит специальный параметр name = calculator, в котором указываем имя данной формы. Это принципиально, и кроме того, имя должно быть уникальным, т. к. если возникает необходимость обратиться к какому либо элементу html-документа из кода, то это делается по иерархии элементов, указывая их имена в качестве идентификаторов.

Итак начинается описание калькулятора, создание графической оболочки приложения. В первую очередь создаем таблицу которая будет являться каркасом приложения и в которой будут располагаться элементы управления приложением - при помощи тега <table>. В этом теге мы также задаем цвет фона (свойство bgcolor="#aaaaaa") и ширину таблицы (свойство) , которая будет являться шириной нашего приложения. Так как структура калькулятора с точки зрения html - разметки вещь довольно сложная, я буду использовать вложение одних таблиц в другие, т. к. это позволит придать калькулятору более привычный пользователю вид.

Далее создается следующая - теперь уже вложенная таблица, с параметрами bgcolor="#cccccc" задающим цвет фона и border=1 задающем толщину линий которыми рисуется таблица. Эта таблица будет состоять из одной ячейки и ее назначение - нарисовать окантовку калькулятора.

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

Предназначение верхней ячейки - вывести название программы JsCalculator строго по центру. Это достигается применением тега <center> и выводом названия через теги <b style="color:white">JsCalculator</b>. Свойство style тега <b> задает цвет начертания шрифта - белый.

Предназначение нижней ячейки - размещение элементов калькулятора во вложенной таблице.

Следующая вложенная таблица при создании имеет только два параметра задающих отсутствие бордюра вокруг элементов калькулятора и ширину таблицы содержащей элементы равной 100% от возможной (возможная ширина 220pt была задана выше, в таблице «первого уровня»).

В первой строке этой таблицы создается одна ячейка, которая будет содержать текстовое поле, настроенное так, чтобы его поведение полностью копировало поведение дисплея калькулятора. Это выполняется при помощи строки <tr><td colspan=6><input type="text" name="answer" size=40 maxlength=30 onChange="numControl(this.value)" readonly></td></tr>. Разберем ее:

-             тег <tr> (сокращение от table row) создает строку таблицы.

-             тег <td> создает ячейку в этой строке. И имеет параметр colspan=6, который нужен для координации размещения данной ячейки над низлежащими в других строках ячейках. То есть эта ячейка растягивается в ширину на 6 нижележащих ячеек.