UrFU, FIIT, Python.task-23 Сенников Дмитрий, Хейфец Сергей
Консольное приложение, которое умеет брать частную производную от указанной функции по указанной переменной
main.py
[-h , --help] FUNCTION
-h, --help - Вызов помощи
FUNCTION - Функция от x, y, z, записанная в кавычках
FUNCTION* - Ваша функция, записанная без пробелов, с указанием переменных, от которых зависит
[δ FUNCTION / δ x]
[δ FUNCTION / δ y]
[δ FUNCTION / δ z]
Частные производные по тем переменным, от которых выражение зависит
TYPE_ERROR IND:MISTAKE - описание ошибки в выражении: синтаксическая, арифметическая и др., с указанием индекса ошибки в выражении FUNCTION*
- Умеет брать частные производные по функциям от 3 переменных
- В функциях могут быть задействованы стандартные арифметические операции, а также функции синуса, косинуса и натурального логарифма
tokenizer.py
- Токенайзер, разделяет строку на токены. Также содержит методы, проверяющие корректность выражения для скобок и операций
tokens.py
- Токены, на которые строка разбивается токенайзером
parse.py
- Парсер, который из полученных точенов составялет стэк токенов в обратной польской записи
expression_tree.py
- Составление дерева выражений, на основе которого вычисляются частные производные
operation.py
- Класс операции для бинарного дерева
enums.py
- Перевод токенов-операций в класс Операций, создание их экземпляров
main.py
- генеральный файл, дифференцирует выражение
Тесты для проверки функциональности кода находятся в папке Tests