Додаток розроблено для надання певних функцій, пов’язаних із розділом математики, відокремленим як дискретна математика. Додаток містить деякі алгоритми, частини теорії чисел і шифрування, індукції та рекурсії, реалізацію вибраних розширених методів обчислення. Теми Discrete Mathematics and Its Applications (McGraw-Hill Education - Kenneth H. Rosen) неможливо охопити в одній програмі, і ця програма не ставить перед собою такого завдання.
Алгоритми в додатку включають (Algorithms Activity): алгоритм лінійного та бінарного пошуку, сортування бульбашковим методом і інвертуючим методом, визначення зв'язних пар і пар, що не перекриваються (наприклад, події з початком і кінцем, як лекції).
Бульбашкове сортування є одним із найпростіших алгоритмів сортування, але не одним із найефективніших. Він розміщує список у зростаючому порядку, послідовно порівнюючи суміжні елементи, міняючи їх місцями, якщо вони розташовані в неправильному порядку. Щоб виконати бульбашкове сортування, виконує основну операцію, тобто замінює більший елемент на менший наступний за ним, починаючи з початку списку, для повного проходу. Повторює цю процедуру до завершення сортування.
Сортування вставкою порівнює другий елемент із першим і вставляє його перед першим елементом, якщо він не перевищує перший елемент, і після першого елемента, якщо він перевищує перший елемент. На цьому етапі перші два елементи знаходяться в правильному порядку. Потім третій елемент порівнюється з першим елементом, і якщо він більший за перший елемент, то порівнюється з другим елементом; він вставлений у правильне положення серед перших трьох елементів. Процедура продовжується таким же чином з наступними елементами до кінця списку.
Алгоритми, які роблять те, що здається «найкращим» вибором на кожному кроці, називаються жадібними алгоритмами – це два алгоритми для зв’язаних пар і пар, що не перекриваються.
Пари, що не перекриваються, можна використовувати для пошуку маршруту між двома сайтами.
Діяльність «Перетворення чисел і криптографія» включає: - перетворення чисел з однієї системи числення в іншу; та інші.
Додаток можна використовувати на практиці при переведенні чисел з однієї системи числення в іншу ( Number Conversion Activity ), в арифметичних операціях ( Arithmetic operations ) з цілими числами в різних системах числення (вони входять в основу 2,3,4,5,6,7,8,9,16). Арифметичні дії та перетворення в різні системи числення виконуються над цілими числами без обмеження довжини операндів, так зване BigInteger.
Розкладання на множники (діяльність з розкладання на множники) передбачає визначення простих множників числа, визначення найбільшого спільного дільника двох чисел тощо.
Генерація псевдовипадкових чисел типу BigInteger( Pseudo Random Numbers), що визначається довжиною в бітах.
Шифрування тексту (Cryptography Activity) з латинського алфавіту(26), шифрування текстів кирилицею (30 літер) та шифрування методом RSA та AES. З усіма методами шифрування можна зберігати зашифровані файли в каталозі Download пристрою, в іменах якого є текст AppDiscret.
У криптографії важливо мати можливість ефективно знаходити залишок b від степеня n, поділеного на m, не використовуючи надмірний обсяг пам’яті. Додаток також має функцію швидкого модульного піднесення до степеня (Fast Modular Exponentiation Activity).
Математична індукція в застосуванні включає (математична індукція): підсумовування перших N цілих чисел та ін.
Розширені функції обчислення (Counting Activity) включають: - обчислення кількості бактерій, розмножених через певний час; - числа Фібоначчі; - Кількість ходів диска в грі Towers of Hanoi; та інші.
Практично у всіх видах діяльності є довідка, що розкриває розрахункові характеристики.