Создание программы “Калькулятор”
Курсовая работа, 07 Июня 2013, автор: пользователь скрыл имя
Краткое описание
Цель работы — написать приложение “Калькулятор”, которое работает на основе платформы 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. Выбор программных средств для реализации Android-приложения «калькулятор»
Для реализации Android-приложения «Калькулятор» были выбраны среда разработки Eclipse, язык программирования Java, а также XML - язык разметки документов.
Выбор среды разработки Eclipse
В большинстве своем, приложения, для интересующей нас ОС, разрабатываются на языке программирования Java, для этого потребуется подходящая среда разработки – Eclipse.
Многие знают Eclipse как интегрированную среду разработки для Java. Eclipse используется в различных областях, в нашем случае – это платформа разработки для Java и Android. По сути - это просто среда разработки и набор сервисов для построения приложений на основе встраиваемых компонентов (плагинов). В составе Eclipse имеется стандартный набор плагинов.
В то время как большинство
Язык программирования Java
Java
как язык программирования
Синтаксис языка Java максимально приближен к синтаксису С++, т.к. C++ является его отцом. Это делает язык знакомым широкому кругу программистов. В то же время из языка были удалены многие свойства, которые делают С++ излишне сложным для пользования, не являясь абсолютно необходимыми. В результате язык Java получился более простым, чем С++.
Надежность и безопасность Java существенно облегчает создание надежного программного обеспечения. Кроме исчерпывающей проверки на этапе компиляции, система предусматривается анализ на этапе выполнения. Сам язык спроектирован так, чтобы вырабатывать у программиста привычку писать "правильно".
В силу того, что Java предназначен для работы в распределенной среде, безопасность становится чрезвычайно важной проблемой. Требования безопасности определяют многие черты как языка, так и реализации всей системы.
Компилятор
Java производит байт-коды, т.е. модули приложения
имеют архитектурно-
Схема
работы системы и набор байт-кодов
виртуальной машины Java таковы, что
позволяют достичь высокой
- анализ кодов на соблюдение правил безопасности производится один раз до запуска кодов на выполнение, в момент выполнения таких проверок уже не нужно, и коды выполняются максимально эффективно;
- работа с базовыми типами максимально эффективна, для операций с ними зарезервированы специальные байт-коды;
- методы в классах не обязательно связываются динамически;
- автоматический сборщик мусора работает отдельным фоновым потоком, не замедляя основную работу программы, но в то же время обеспечивая своевременный возврат свободной памяти в систему;
- стандарт предусматривает возможность написания критических по производительности участков программы в машинных кодах.
Каждая из перечисленных характеристик по отдельности может быть найдена в уже существующих программных пакетах. Новым является соединение их в стройную непротиворечивую систему, которая должна стать всеобщим стандартом.
Язык разметки документов XML
XML, что означает "расширяемый
язык разметки" (EXtensible Markup Language) -
это платформенно-независимый
В нашем приложении мы используем
язык разметки - XML для реализации нашего
пользовательского интерфейса. Благодаря
этому мы смогли создать(нарисовать) наши
кнопки, поля ввода и вывода, сделать это
можно было как в ручную, так и во встроеном
визуализаторе.
Так же во всех приложениях для Android должен
быть файл, в нашем случае это AndroidManifest.xml
который предоставляет основную информацию
о программе нашей системе. Назначение
этого файла:
- объявляет имя Java-пакета приложения, который служит уникальным идентификатором;
- описывает компоненты приложения — деятельности, службы, приемники широковещательных намерений и контент-провайдеры, что позволяет вызывать классы, которые реализуют каждый из компонентов, и объявляет их намерения;
- содержит список необходимых разрешений для обращения к защищенным частям API и взаимодействия с другими приложениями;
- объявляет разрешения, которые сторонние приложения обязаны иметь для взаимодействия с компонентами данного приложения;
- объявляет минимальный уровень API Android, необходимый для работы приложения;
- перечисляет связанные библиотеки;
Глава 2.
2.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
- Если оба множителя двузначные, мысленно разбивают один из них на десятки и единицы. Например:
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 соответственно. Главную задачу данной программы имеет место разбить на ещё более мелкие подзадачи:
- Провести исследование подгружаемой начальной страницы http://slovari.ru/dictsearch и страницы, на которой выводятся результаты поиска;
- Найти нужные теги, имена атрибутов, идентификаторов и классов тех элементов, с которыми необходимо работать;
- Используя описанные выше технологии написать программу, которая будет работать с этими элементами;
- Организовать файловый ввод-вывод для чтения файла с искомыми словами и записи найденных слов;
- Автоматизировать в данной программе поиск слов.
3.2. Исследование подгружаемых страниц и сбор информации о необходимых элементах
Исследование подгружаемых страниц с сайта Словари.РУ проводили через веб-браузер Google Chrome. Вызывая контекстное меню на каком-либо элементе страницы, выбирали пункт «Просмотр кода элемента», а затем исследовали исходный код на данном элементе (Рис. 1 — 3).
Рис. 1. Исследование веб-страницы
Рис. 2. Исследование веб-страницы
Рис. 3. Исследование веб-страницы
Проведя исследование, мы собрали основную информацию о нужных нам элементах:
- Кнопка «Сбросить»: элемент с id="ctl07_begin_search"
- Чекбокс «Словарь Шведовой»: <input type="checkbox" value="vshved">
- Строка поиска: элемент с id="ctl08_search_query"
- Кнопка «Поиск»: элемент с id="ctl08_begin_search"
- Элемент, в котором описано значение слова (если присутствует на странице): <div class="searchResultsText">
3.3.
Математическая модель программы
Программа SlovariRu представляет собой приложение Windows Forms. В данной программе можно выделить следующие основные части:
- Элемент WebBrowser, в котором будет отображаться текущая подгруженная страница, здесь же будет вестись автоматический поиск искомых слов и запись найденных слов в текстовые файлы;
- Элемент TextBox, в котором будет отображаться текущее искомое слово, которое читается из файла с искомыми словами;
- Элемент Button, при нажатии на который из файла с искомыми словами будет считываться следующее слово, затем это слово пересылается в строку поиска на подгруженной странице, после чего нажимается элемент «Поиск» на этой же веб-странице.
Вкратце
структуру программы можно
Теперь поподробнее опишем алгоритм работы данной программы.
3.4. Алгоритм работы программы
До запуска приложения должен быть готов файл search.txt с искомыми словами, который должен располагаться в той же папке, что и сама программа. В этом файле каждое новое искомое слово должно быть написано с новой строки. При запуске данной программы создаётся файловый поток StreamReader для чтения файла с искомыми словами, затем WebBrowser автоматически подгружает страницу http://slovari.ru/dictsearch и, когда страница полностью подгрузится, убирает все чекбоксы на странице, кроме пункта «Словарь Шведовой», а затем делает кнопку «Отправить» активной при условии, что есть файл, веб-форма готова к дальнейшим действиям. Если же файла нету, кнопка остаётся неактивной, а вместо надписи «Отправить» будет надпись «Файла нет!», затем переход к пункту 8 дальнейшего алгоритма.