Практическая работа. LogNorm
Аня выбирает компанию, в которой она хочет работать, когда закончит университет; но она никак не может определиться с размером её будущей компании: ”Рассматривать преимущественно небольшие стартапы или всё-таки мегакорпорации?”
Она прочитала в одном научном журнале, что количество работников в компаниях может хорошо приближаться логнормальным распределением, т.е. таким распределением случайной величины, логарифм которой распределен нормально.
Аня просит вас помочь ей с выбором и написать ей Android приложение, которое будет генерировать случайное число, подчиняющееся логнормальному закону распределения, и отображать его в текстовом поле. Параметры μ
и σ^{2}
она хочет задавать сама непосредственно в приложении.
У Ани есть заготовка проекта, которую можно скачать.
Интерфейс приложения должен содержать элементы, перечисленные в табл. 1.
№ | View | id | Описание |
---|---|---|---|
0 | EditText | mean_val |
μ |
1 | EditText | variance_value |
σ^{2} |
2 | Button | get_random_num |
|
3 | TextView | random_number_result |
Таблица 1. Элементы пользовательского интерфейса
Дополните исходный проект так, чтобы при нажатии на кнопку с @id/get_random_num
в текстовое поле TextView (android.widget.TextView
) с @id/random_number_result
устанавливалась строка, содержащее сгенерированное число (число с плавающей точкой).
При повороте экрана телефона это число должно сохраняться. Для этого можно использовать, например, ViewModel.
Не изменяйте файл activity_main.xml
Рекомендуется использовать Android Studio Chipmunk 2021.2.1. В проекте gradle version 7.4, gradle plugin version 7.2.0, Java SE 11.
Сдать в систему тестирования необходимо zip архив, в корневом каталоге которого располагается дополненный проект Android Studio/IntelliJ IDEA. После загрузки zip архива приложение будет запущено в системе автоматического тестирования для проверки на соответствие техническому заданию.
Допускается использовать язык Java и/или Kotlin. При сборке проекта вcе изменения в файле build.gradle будут проигнорированы – будут использованы зависимости только из шаблона-заготовки; не изменяйте пакет приложения.
Тестирование одной посылки может длиться до 5 минут, после завершения тестирования будет доступна информация об общем числе тестов и числе пройденных тестов. Количество посылок в систему не ограничено. Штраф за повторные попытки не начисляется.