Создание программы “Калькулятор”

Автор работы: Пользователь скрыл имя, 07 Июня 2013 в 13:29, курсовая работа

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

Цель работы — написать приложение “Калькулятор”, которое работает на основе платформы Android, суть программы заключается в необычных приемах счета, т.е. при введении значений и выборе математического действия, наше приложение не просто его выполняет и возвращает ответ, а делает это по правилам устного счета с демонстрацией каждого действия, давая нам возможность улучшить наши навыки счета. Предусмотрено решение следующих задач:
Обзор материалов, касающихся систем, алгоритмов и технологий для реализации данного проекта
Моделирование предметной области и обоснование выбранных средств разработки данного проекта
Программная реализация проекта Подготовка презентации и отчёта по курсовой работе

Содержание

Введение 2
Глава 1. Выбор программных средств для реализации Android-приложения «калькулятор» 4
1.1. Выбор среды разработки Eclipse 4
1.2. Язык программирования Java 5
1.3. Язык разметки документов XML 6
Глава 2. 8
2.1 8
Глава 3. Программная реализация 8
3.1. Постановка задачи 8
3.2. Исследование подгружаемых страниц и сбор информации о необходимых элементах 8
3.3. Математическая модель программы 10
3.4. Алгоритм работы программы 10
Заключение 13
Список использованных источников 14
Приложение А. Внешний вид приложения 17
Приложение Б. Исходные данные и результаты 19

Прикрепленные файлы: 1 файл

русак.docx

— 1.78 Мб (Скачать документ)

 

Содержание

Введение 2

Глава 1. Выбор программных средств для реализации Android-приложения «калькулятор» 4

1.1. Выбор среды разработки Eclipse 4

1.2. Язык программирования Java 5

1.3. Язык разметки документов XML 6

Глава 2. 8

2.1 8

Глава 3. Программная реализация 8

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

3.2. Исследование подгружаемых страниц и сбор информации о необходимых элементах 8

3.3. Математическая модель программы 10

3.4. Алгоритм работы программы 10

Заключение 13

Список использованных источников 14

Приложение А.  Внешний вид приложения 17

Приложение Б.  Исходные данные и результаты 19

Введение

Целью данной работы является создание программы  “Калькулятор”, работающей на основе платформы Android, предназначенная для улучшения устного счета.

Android — одна из самых популярных платформ для мобильных устройств. Операционная система  разработана на ядре Linux. Гибкость настроек системы Android чрезвычайно удачно сочетается с удобным инструментарием, что является идеальным решением для создания новых приложений. Главное преимущество Android заключается в ее открытости – любой человек, имеющий соответствующее желание, может изучить код ОС и написать под нее собственную программу, с последующим свободным распространением в сети.

Итак, сформулируем цель и задачи курсовой работы.

Цель  работы — написать приложение “Калькулятор”, которое работает на основе платформы Android, суть программы заключается в необычных приемах счета, т.е. при введении значений и выборе математического действия, наше приложение не просто его выполняет и возвращает ответ, а делает это по правилам устного счета с демонстрацией каждого действия, давая нам возможность улучшить наши навыки счета.

Предусмотрено решение следующих задач:

  1. Обзор материалов, касающихся систем, алгоритмов и технологий для реализации данного проекта
  2. Моделирование предметной области и обоснование выбранных средств разработки данного проекта
  3. Программная реализация проекта
  4. Подготовка презентации и отчёта по курсовой работе

 

Глава 1. Выбор программных средств для  реализации Android-приложения «калькулятор»

Для реализации Android-приложения «Калькулятор» были выбраны среда разработки Eclipse, язык программирования Java, а также XML - язык разметки документов.

    1. Выбор среды разработки Eclipse

В большинстве своем, приложения, для  интересующей нас ОС, разрабатываются  на языке программирования Java, для этого потребуется подходящая среда разработки – Eclipse.

Многие знают Eclipse как интегрированную среду разработки для Java. Eclipse используется в различных областях, в нашем случае – это платформа разработки для Java и Android. По сути - это просто среда разработки и набор сервисов для построения приложений на основе встраиваемых компонентов (плагинов). В составе Eclipse имеется стандартный набор плагинов.

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

    1. Язык  программирования Java

 

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

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

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

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

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

Схема работы системы и набор байт-кодов  виртуальной машины Java таковы, что  позволяют достичь высокой производительности на этапе выполнения программы:

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

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

    1. Язык  разметки документов XML

 

XML, что означает "расширяемый  язык разметки" (EXtensible Markup Language) - это платформенно-независимый способ  представления данных. Выражаясь  простым языком, XML позволяет описывать  данные таким образом, что они  могут быть прочитаны любым  приложением, выполняющимся на  любой платформе. При этом документы  XML можно создавать и редактировать  вручную, поскольку формат представления  данных базируется на тегах,  аналогичных тегам HTML.

В нашем приложении мы используем язык разметки - XML для реализации нашего пользовательского интерфейса. Благодаря этому мы смогли создать(нарисовать) наши кнопки, поля ввода и вывода, сделать это можно было как в ручную, так и во встроеном визуализаторе. 
 Так же во всех приложениях для Android должен быть файл, в нашем случае это AndroidManifest.xml который предоставляет основную информацию о программе нашей системе. Назначение этого файла:

    • объявляет имя Java-пакета приложения, который служит уникальным идентификатором;
    • описывает компоненты приложения — деятельности, службы, приемники широковещательных намерений и контент-провайдеры, что позволяет вызывать классы, которые реализуют каждый из компонентов, и объявляет их намерения;
    • содержит список необходимых разрешений для обращения к защищенным частям API и взаимодействия с другими приложениями;
    • объявляет разрешения, которые сторонние приложения обязаны иметь для взаимодействия с компонентами данного приложения;
    • объявляет минимальный уровень API Android, необходимый для работы приложения;
    • перечисляет связанные библиотеки;

 

 

 

 

Глава 2.

2.1 Алгоритмы написания функций

Приложение  «Калькулятор» использует приемы устного  счета математических действий: сложения, вычитания, деления, умножения. Соответственно потребовалось запрограммировать  эти алгоритмы, для правильного  решения поставленной задачи.

Все алгоритмы должны демонстрировать  наглядную и эффективную работу приложения. Рассмотрим один алгоритм на примере умножения:

  1. чтобы устно умножить число на однозначный множитель (например, 27 X 8) выполняют действие, начиная с умножения не единиц, как при письменном умножении, а иначе: умножают сначала десятки множимого (20X8 = 160), затем единицы (7*8 =56) и оба результата складывают.

Еще примеры:

34*7=30*7+4*7=210+28=238

17*6=40*6+7*6=240+42=282

  1. Если оба множителя двузначные, мысленно разбивают один из них на десятки и единицы. Например:

29*12=29*10+29*2=290+58= 348

41*16=41*10+41*6 = 410+246 =656

(или 41*16=16*41 = 16*40+16*1=640+16=656)

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

2.2 Визуализация  приложения «Калькулятор»

Для

 

 

 

Глава 3. Программная реализация

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

Главная задача: написать программу, которая  работает на стороне клиента, подгружая  страницы и проводя с ними необходимые  операции. Эта программа должна работать с сайтом http://slovari.ru. Данную программу назвали SlovariRu соответственно. Главную задачу данной программы имеет место разбить на ещё более мелкие подзадачи:

    1. Провести исследование подгружаемой начальной страницы http://slovari.ru/dictsearch и страницы, на которой выводятся результаты поиска;
    2. Найти нужные теги, имена атрибутов, идентификаторов и классов тех элементов, с которыми необходимо работать;
    3. Используя описанные выше технологии написать программу, которая будет работать с этими элементами;
    4. Организовать файловый ввод-вывод для чтения файла с искомыми словами и записи найденных слов;
    5. Автоматизировать в данной программе поиск слов.

3.2. Исследование подгружаемых  страниц и сбор информации  о необходимых элементах

Исследование  подгружаемых страниц с сайта  Словари.РУ проводили через веб-браузер  Google Chrome. Вызывая контекстное меню на каком-либо элементе страницы, выбирали пункт «Просмотр кода элемента», а затем исследовали исходный код на данном элементе (Рис. 1 — 3).

Рис. 1. Исследование веб-страницы

Рис. 2. Исследование веб-страницы

Рис. 3. Исследование веб-страницы

Проведя исследование, мы собрали основную информацию о нужных нам элементах:

    1. Кнопка «Сбросить»: элемент с id="ctl07_begin_search"
    2. Чекбокс «Словарь Шведовой»: <input type="checkbox" value="vshved">
    3. Строка поиска: элемент с id="ctl08_search_query"
    4. Кнопка «Поиск»: элемент с id="ctl08_begin_search"
    5. Элемент, в котором описано значение слова (если присутствует на странице): <div class="searchResultsText">

3.3. Математическая модель программы

Программа SlovariRu представляет собой приложение Windows Forms. В данной программе можно выделить следующие основные части:

    1. Элемент WebBrowser, в котором будет отображаться текущая подгруженная страница, здесь же будет вестись автоматический поиск искомых слов и запись найденных слов в текстовые файлы;
    2. Элемент TextBox, в котором будет отображаться текущее искомое слово, которое читается из файла с искомыми словами;
    3. Элемент Button, при нажатии на который из файла с искомыми словами будет считываться следующее слово, затем это слово пересылается в строку поиска на подгруженной странице, после чего нажимается элемент «Поиск» на этой же веб-странице.

Вкратце структуру программы можно описать  таким образом: в WebBrowser подгружаются веб-страницы с результатами, TextBox содержит искомое слово, которое ищется в данный момент, и результат поиска отображается в WebBrowser’е, Button периодически в TextBox записывает новое слово, которое читается из файла и затем пересылается в WebBrowser.

Теперь  поподробнее опишем алгоритм работы данной программы.

3.4. Алгоритм работы программы

До  запуска приложения должен быть готов  файл search.txt с искомыми словами, который должен располагаться в той же папке, что и сама программа. В этом файле каждое новое искомое слово должно быть написано с новой строки. При запуске данной программы создаётся файловый поток StreamReader для чтения файла с искомыми словами, затем WebBrowser автоматически подгружает страницу http://slovari.ru/dictsearch и, когда страница полностью подгрузится, убирает все чекбоксы на странице, кроме пункта «Словарь Шведовой», а затем делает кнопку «Отправить» активной при условии, что есть файл, веб-форма готова к дальнейшим действиям. Если же файла нету, кнопка остаётся неактивной, а вместо надписи «Отправить» будет надпись «Файла нет!», затем переход к пункту 8 дальнейшего алгоритма.

Информация о работе Создание программы “Калькулятор”