Skip to content

Themplarer/integrate

Repository files navigation

integrate

Автор: Хорошавин Евгений, ФТ-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!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages