Pegioner / MonteK

Monte Carlo Integral Calculator for Console and Android

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MonteK

Консольная программа и Android приложение для вычисления определённых интегралов методом Монте-Карло.

Описание интерфейса приложения

При запуске программа открывает главное меню, в которое есть 4 пункта: «Ввод значений», «Расчёт», «Сохранение» и «Выход».

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

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

Разберём подробнее каждый пункт меню.

При нажатии ‘1’ на клавиатуре вы переходим в подменю ввода значений, в котором выводятся уже имеющиеся значения и имеется 6 пунктов на выбор: вод всех значений, исправление введённых значений, загрузка значений из файла, удаление введённых значений, возврат в главное меню и выход.

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

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

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

При выборе пункта удаления всех значений программа покажет все значения и ещё раз спросит пользователя, хочет ли пользователь их удалить. И при нажатии на ‘Y’ вернётся в подменю ввода значений и сообщит об успешном удалении всех значений. Данный пункт, как пункт изменения введённых значений доступен только при условии, что все значения уже были введены.

Рассмотрим теперь пункт расчёта. Если до этого не было произведено расчётов, то пользователю выводится только подменю с следующими подпунктами: выполнение расчёта, выполнение нескольких расчётов сразу и удаление полученных значений.

Если же уже был выполнен хотя бы один расчёт, то появляется список полученных во время расчёта значений и выводится среднее значение данных расчётов.

При выборе пункта выполнения расчёта появляется прогрессбар, показывающий, какая часть расчёта уже выполнена.

При завершении расчёта программа возвращается в подменю расчёта, добавляя полученное значение в список расчётов и пересчитывая среднее значение.

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

По завершению выполнения расчётов подсчитывается и выводится среднее значение. Также пользователю предлагается вернуться в подменю расчёта.

Данные значения также добавляются в список всех расчётов, и пересчитывается среднее значение.

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

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

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

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

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

Далее файл сохраняется, и программа выводит полный путь к файлу и предлагает пользователю действия на выбор: показать файл в папке (откроет папку с файлом и выделит нужный файл), открыть файл или вернуться в подменю сохранения.

При выборе пункта открыть логи откроется файл с логами.

При выборе пункта удаления логов программа покажет все значения и ещё раз спросит пользователя, хочет ли он их удалить. И при нажатии на ‘Y’ вернётся в подменю ввода значений и сообщит об успешном удалении всех значений.

About

Monte Carlo Integral Calculator for Console and Android


Languages

Language:Java 96.6%Language:C# 2.0%Language:Assembly 0.9%Language:AIDL 0.6%