Программирование мобильных устройств (часть 1-я). Лабораторная работа №№1,2,3 + Контрольная работа. Вариант №3.
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Дополнительная информация
Необходимые программы
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Excel
- Программа для просмотра изображений
- Microsoft Word
Описание
Программирование мобильных устройств. Лабораторная работа 1,2,3 + Контрольная работа. Вариант 3.
Лабораторная работа No1.
Задание 1:
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
Лабораторная работа No2
Задание 2: Необходимо написать игру. Сюжет: множество насекомых ползают по экрану по сложной траектории. Задача игрока уничтожить за отведенное время как можно больше насекомых. За промахи игроку начисляется очки отнимаются. Игра должна сопровождаться звуковыми эффектами. Вариант:
3)В качестве насекомых (тараканы, и пчелы)
Описание выполнения:
Первым шагом необходимо определить архитектуру приложения. Пусть архитектура будет построена следующим образом.
Звуки и картинки насекомых следует брать в интернете. Следует дополнить этот набор картинок, добавив «красные пятна крови» (эти картинки будут появляться при «попадании» игроком).
Время раунда игры составляет 2 минуты.
При запуске приложения открывается меню, позволяющее вести имя игрока, просмотреть рекорд, задать количество жуков и приглашение к началу игры.
Основной класс приложения (main) будет заниматься прорисовкой всех жуков. Состояние всех жуков хранится в глобальном массиве структур(Mass) . Структура должна хранить координаты жука (x,y), направление движения (dx,dy),флаги(жив/мертв), и байт, соответствующей отображаемой картинке (т.к. жуки могут быть разными).
Работа класса происходит в бесконечном цикле, считывание информации из массива и корректное его отображение. Не рекомендуется заниматься прорисовкой из других потоков, т.к. это может привести к ошибкам.
В других потоках, соответствующих жукам, мы будем заниматься перерасчетом состояний отдельно каждого элемента глобального массива. При смерти жука, объект не уничтожается, а некоторое время просто не отображается на экране. В противном случае нам придется создавать каждый раз новых жуков, что потребует дополнительной памяти.
Отдельно в классе сервисе следует размещать мелодии в игре. Быстрые мелодии (хруст жука) менее 1-2 сек вполне можно размещать в классе main. Нужно не забыть отключать звуки при остановке приложений и восстанавливать при возобновлении работы приложения(используйте функции onPause и onResume).
Используйте класс Preferences для сохранения результатов игры.
Проверку попадания нажатия по жуку следует сделать так:
for (int i=0;i<N;i++){ //просматриваем весь массив структур
if (Mass[i].status==Alive){ // Если жук жив и ...
if ((Mass[i].x1<e;x)&&(x≤Mass[i].x2)&& (Mass[i].y1≤y)&&(y≤Mass[i].y2))
// координаты нажатия x,y по экрану лежат на картинке, где x1 x2 –границы
// картинки жука и x1≤x≤x2 и y1≤y≤y2
{
//Попали по жуку
}
}
}
Допускается использовать вместо класса Panel, класс SurfaceHolder.
Лабораторная работа No3
Задание 3:
Реализуйте прыгающий <объект>. Начальная позиция появления объекта определяется нажатием пальца по экрану. Объект падает с ускорением вниз, отражаясь от нижней границы экрана, и с незначительным смешением вправо. С каждым разом высота отскока объекта уменьшается, и когда объект практически остановится, он пропадает с экрана. Объектов может быть несколько, поэтому каждый должен обрабатываться в отдельном потоке приложения. (<объект> - Буква Вашей фамилии, после каждого нажития буква меняется на следующую, по окончанию Вы опять возвращаетесь на первую букву).
Для примера <объект> - цифра восемь, направление падения схематично показано красным.
Контрольная работа
Отметьте желтым цветом правильные варианты ответов, отправьте данный файл на проверку
1. Какие свойства соответствуют Android
Кроссплатформенность
Высокая защищенность
Является бесплатной
Отсутствие вредоносных программ, выполняемых на базе данной операционной системы
Является потоковонебезопасной
2. Назначение класса Intent.
Обмен запросов с ОС
Инициализация средств OpenGL
Сохранение состояние приложения
3. Если интерфейс приложения подвис более чем на 5 секунд то произойдет
Ничего не произойдет
Появится сообщение Application not Responded (с вопросом о закрытия приложения)
Приложение закроется самостоятельно
4. Потоки рекомендуют применять в случаях
Написания приложения, закачивающего данные из сети
Для обновления элементов интерфейса
Для использования класса Intent
5. AndroidManifest.xml
Определяет состав классов приложения
Определяет события системы при которых приложения запустится
Определяет цвет фона приложения
Является необязательным файлом приложения
Содержит исходный код для установки и удаления программы
6. Класс R.java
предназначен для задания идентификаторов элементам интерфейса
Предназначен для запуска приложения
Запрещен к редактированию пользователем
Определяет состав классов приложения
7. К особенностям java относится
Возможность множественного наследования
Возможность полиморфизма
Является низкоуровневым языком программирования
Является кроссплатформенным
8. Принцип инкапсуляции
позволяет вводить ограничения доступа к переменным класса
Позволяет использовать отладку программы
Позволяет создавать класс на основе уже реализованных классов
Позволяет проводить перегрузку имен функций
9. К средам разработки относится
Android Studio
BlueStacks
Intellij Idea
Java
10. Спецификатор super необходим для
Обращения к полям класса
При вызове всех функций в методе OnCreate и OnStop
Обращения к полям родительского класса
Обращения к методам родительского класса
Лабораторная работа No1.
Задание 1:
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
Лабораторная работа No2
Задание 2: Необходимо написать игру. Сюжет: множество насекомых ползают по экрану по сложной траектории. Задача игрока уничтожить за отведенное время как можно больше насекомых. За промахи игроку начисляется очки отнимаются. Игра должна сопровождаться звуковыми эффектами. Вариант:
3)В качестве насекомых (тараканы, и пчелы)
Описание выполнения:
Первым шагом необходимо определить архитектуру приложения. Пусть архитектура будет построена следующим образом.
Звуки и картинки насекомых следует брать в интернете. Следует дополнить этот набор картинок, добавив «красные пятна крови» (эти картинки будут появляться при «попадании» игроком).
Время раунда игры составляет 2 минуты.
При запуске приложения открывается меню, позволяющее вести имя игрока, просмотреть рекорд, задать количество жуков и приглашение к началу игры.
Основной класс приложения (main) будет заниматься прорисовкой всех жуков. Состояние всех жуков хранится в глобальном массиве структур(Mass) . Структура должна хранить координаты жука (x,y), направление движения (dx,dy),флаги(жив/мертв), и байт, соответствующей отображаемой картинке (т.к. жуки могут быть разными).
Работа класса происходит в бесконечном цикле, считывание информации из массива и корректное его отображение. Не рекомендуется заниматься прорисовкой из других потоков, т.к. это может привести к ошибкам.
В других потоках, соответствующих жукам, мы будем заниматься перерасчетом состояний отдельно каждого элемента глобального массива. При смерти жука, объект не уничтожается, а некоторое время просто не отображается на экране. В противном случае нам придется создавать каждый раз новых жуков, что потребует дополнительной памяти.
Отдельно в классе сервисе следует размещать мелодии в игре. Быстрые мелодии (хруст жука) менее 1-2 сек вполне можно размещать в классе main. Нужно не забыть отключать звуки при остановке приложений и восстанавливать при возобновлении работы приложения(используйте функции onPause и onResume).
Используйте класс Preferences для сохранения результатов игры.
Проверку попадания нажатия по жуку следует сделать так:
for (int i=0;i<N;i++){ //просматриваем весь массив структур
if (Mass[i].status==Alive){ // Если жук жив и ...
if ((Mass[i].x1<e;x)&&(x≤Mass[i].x2)&& (Mass[i].y1≤y)&&(y≤Mass[i].y2))
// координаты нажатия x,y по экрану лежат на картинке, где x1 x2 –границы
// картинки жука и x1≤x≤x2 и y1≤y≤y2
{
//Попали по жуку
}
}
}
Допускается использовать вместо класса Panel, класс SurfaceHolder.
Лабораторная работа No3
Задание 3:
Реализуйте прыгающий <объект>. Начальная позиция появления объекта определяется нажатием пальца по экрану. Объект падает с ускорением вниз, отражаясь от нижней границы экрана, и с незначительным смешением вправо. С каждым разом высота отскока объекта уменьшается, и когда объект практически остановится, он пропадает с экрана. Объектов может быть несколько, поэтому каждый должен обрабатываться в отдельном потоке приложения. (<объект> - Буква Вашей фамилии, после каждого нажития буква меняется на следующую, по окончанию Вы опять возвращаетесь на первую букву).
Для примера <объект> - цифра восемь, направление падения схематично показано красным.
Контрольная работа
Отметьте желтым цветом правильные варианты ответов, отправьте данный файл на проверку
1. Какие свойства соответствуют Android
Кроссплатформенность
Высокая защищенность
Является бесплатной
Отсутствие вредоносных программ, выполняемых на базе данной операционной системы
Является потоковонебезопасной
2. Назначение класса Intent.
Обмен запросов с ОС
Инициализация средств OpenGL
Сохранение состояние приложения
3. Если интерфейс приложения подвис более чем на 5 секунд то произойдет
Ничего не произойдет
Появится сообщение Application not Responded (с вопросом о закрытия приложения)
Приложение закроется самостоятельно
4. Потоки рекомендуют применять в случаях
Написания приложения, закачивающего данные из сети
Для обновления элементов интерфейса
Для использования класса Intent
5. AndroidManifest.xml
Определяет состав классов приложения
Определяет события системы при которых приложения запустится
Определяет цвет фона приложения
Является необязательным файлом приложения
Содержит исходный код для установки и удаления программы
6. Класс R.java
предназначен для задания идентификаторов элементам интерфейса
Предназначен для запуска приложения
Запрещен к редактированию пользователем
Определяет состав классов приложения
7. К особенностям java относится
Возможность множественного наследования
Возможность полиморфизма
Является низкоуровневым языком программирования
Является кроссплатформенным
8. Принцип инкапсуляции
позволяет вводить ограничения доступа к переменным класса
Позволяет использовать отладку программы
Позволяет создавать класс на основе уже реализованных классов
Позволяет проводить перегрузку имен функций
9. К средам разработки относится
Android Studio
BlueStacks
Intellij Idea
Java
10. Спецификатор super необходим для
Обращения к полям класса
При вызове всех функций в методе OnCreate и OnStop
Обращения к полям родительского класса
Обращения к методам родительского класса
Дополнительная информация
Вид работы: Лабораторная работа 1-3
Оценка: зачёт
Проверена: 11.01.2021
Рецензия: Уважаемая ,
Мерзлякова Екатерина Юрьевна
Вид работы: Контрольная работа
Оценка: зачёт
Проверена: 11.01.2021
Рецензия: Уважаемая ,
Мерзлякова Екатерина Юрьевна
Оценка: зачёт
Проверена: 11.01.2021
Рецензия: Уважаемая ,
Мерзлякова Екатерина Юрьевна
Вид работы: Контрольная работа
Оценка: зачёт
Проверена: 11.01.2021
Рецензия: Уважаемая ,
Мерзлякова Екатерина Юрьевна
Похожие материалы
Программирование мобильных устройств (часть 1-я). Лабораторная работа №1. Вариант №3.
sibguter
: 5 января 2019
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
200 руб.
Лабораторная работа №1 Программирование мобильных устройств (часть 1)
holm4enko87
: 10 декабря 2024
Задание 1:
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
вариант 1: вычисление синуса
100 руб.
Программирование мобильных устройств (часть 1). Лабораторные работы №1-3. Вариант №3.
sibguter
: 23 ноября 2018
1 работа - "деление с остатком"
2 работа - "тараканы, и пчелы"
3 работа - общий вариант для всех, буквы фамилии
-----------------------------------
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
Необходимо написать игру. С
1000 руб.
Программирование мобильных устройств (часть 1). Лабораторные работы №№1-3 и контрольная работа №1
nura
: 17 января 2019
Задание 1:
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
Дополнительные материалы
Видео по обработчику кнопок
Видео Простой список
Список произвольного вида
Задание 2: Необходимо написать игру. Сюжет: множество насек
550 руб.
Программирование мобильных устройств (часть 1). Контрольная работа, Лабораторные работы 1-3. Вариант 3.
rmn77
: 26 апреля 2019
Программирование мобильных устройств (часть 1). Контрольная работа, Лабораторные работы 1-3. Вариант 3.
Задание 1:
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
Дополнительные материалы
Видео по обработчику кнопок
Видео П
150 руб.
Программирование мобильных устройств (часть 1-я). Лабораторная работа №1. Вариант №1.
sibguter
: 27 декабря 2019
Вариант 1.
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
200 руб.
Программирование мобильных устройств (часть 1). Лабораторные работы 1-3. Вариант 7
hikewa8019
: 7 апреля 2023
Язык: Kotlin
1 - возведение в степень
2 - майские жуки, и тарантулы
3 - буквы фамилии, общий вариант для всех
Лабораторная 1:
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (возведение в степень).
Лабораторная 2:
Необходимо написать игру. Сюжет: множество насекомых ползают по экрану по сложной траектории. З
800 руб.
Программирование мобильных устройств (часть 1). Контрольная работа и Лабораторные работы №№1-3. Вариант №1
bananchik
: 22 апреля 2020
Задание 1: Последняя цифра пароля: 5
Вариант: 3
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
Дополнительные материалы
Видео по обработчику кнопок
Видео Простой список
Список произвольного вида
Задание 2: Последняя цифра п
224 руб.
Другие работы
Теория сложности вычислительных процессов и структур 8 билет
Владислав161
: 5 октября 2023
Экзамен
По дисциплине “Теория сложности вычислительных процессов и структур”
400 руб.
Механика Задача 2.111
Z24
: 20 сентября 2026
В шарнирно – стержневой конструкции определить реакцию в опоре и реакцию в стержне -k- (рисунок 2.4, таблица 2.4).
200 руб.
Лабораторная работа №3. Исследование неуправляемых выпрямителей. Вариант №5
albanec174
: 19 августа 2014
Лабораторная работа № 3
Исследование неуправляемых выпрямителей
Исследование трехфазного неуправляемого выпрямителя
Модель включает следующие элементы:
– трехфазная система напряжения переменного тока с разделенной магнитной системой, образуемая тремя генераторами переменного напряжения UA,UB,UC с фазовым сдвигом 1200 и однофазными трансформаторами T (групповой трансформатор);
– трехфазный мостовой выпрямитель, образуемый диодами VD1…VD6;
– нагрузочный реостат RН=50Ом;
80 руб.
Разработка стратегии выхода на рынок
evelin
: 11 октября 2013
Цель работы
Овладеть навыками маркетинговых исследований по определению целевого сегмента и формированию целей товарной, ценовой, сбытовой и коммуникационной политики компании на избранном сегменте.
1 Теоретическое введение
Основные этапы процесса целевого маркетинга следующие:
1. Сегментирование рынка.
Сегментирование представляет собой процесс выделения в пределах рынка четко обозначенных групп потребителей, различающихся по своим потребностям, характеристикам или поведению, для обслужива
10 руб.