Автор: Хорошавин Евгений, ФТ-203
Консольная утилита, позволяющая найти первообразную рациональной функции
- Python версии не ниже 3.8
- setuptools
- реализации многочленов над разными полями:
- обычный многочлен: polynomial.py
- многочлен с рациональными коэффициентами: rational_polynomial.py
- многочлен с целыми коэффициентами: integer_polynomial.py
- модуль, описывающий рациональную функцию: rational_function.py
- модуль, описывающий функцию, как линейную комбинацию других функций: function.py
- модуль, настраивающий дальнейшее выполнение команд: main.py
- тесты: tests/
- модуль, описывающий парс рациональной функции из строки: parse.py
- модуль логикой интегрирования: integrator.py
- файл, с помощью выполняется сборка для запуска утилиты из консоли: setup.py
python setup.py develop
Ввод команд, начиная с integrate
.
integrate "0"
integrate -v y "0"
integrate "1/(x**2 + 1)"
integrate "4x**3 + 2x^2
integrate --help
При вводе функции производится парсинг из строки, попутно проверяется корректность ввода. При возникновении ошибок ввода выводятся подсказки.
Результат парсинга - отношение многочленов (экземпляр
класса RationalFunction
). У него выделяется целая часть.
При интегрировании эта целая часть попросту заменяется новым многочленом, согласно правилам интегрированию, а для оставшейся дроби применяется дальнейший алгоритм. В силу своей простоты он работает только в случаях, когда степень знаменателя не превосходит 2.
После этого результат записывается в структуру Function
, которая позже
выводится на консоль.
Попутно реализованы некоторые операции с многочленами.
P.S. И не забудем про константу интегрирования C!