Разрабатываемое программное средство предназначено для упрощения выполнения операций и обработки многочленов с тремя переменными. Его цель заключается в том, чтобы упростить математические вычисления для всех пользователей.
⌛ Время выполнения проекта составит 8 недель весеннего семестра.
💥 Состав: Кондратьев Ярослав, Матюнина Александра, Майк Мурадов
📌 Разработать программный продукт, который позволит выполнять алгебраические операции с многочленами, содержащими три переменные.
🔲 Создание программной системы, способной эффективно обрабатывать полиномы.
🔲 Обеспечение высокой производительности основных операций над полиномами.
🔲 Гарантированное выполнение математических операций с полиномами без потерь в точности и эффективности.
-
Хранение полиномов
- Полиномы хранятся в виде списка.
- Полиномы хранятся во всех таблицах одновременно.
- Ключом является имя полинома.
-
Виды таблиц
- Линейная таблица на массиве.
- Линейная таблица на списке.
- Упорядоченная таблица на массиве.
- Дерево (АВЛ или красно-черное).
- Две хэш-таблицы.
-
Операции над отдельными полиномами
- Вычисление в точке.
- Умножение на константу.
- Производная.
- Интеграл.
-
Операции в выражениях из полиномов
- Сложение.
- Вычитание.
- Умножение на константу.
- Умножение полиномов.
- Деление полиномов.
- Использование постфиксной формы.
-
Операции над таблицами
- Добавление полинома (все таблицы одновременно).
- Удаление полинома (все таблицы одновременно).
- Поиск (только в активной таблице).
- Вывод активной таблицы на экран (в формате: имя полинома, строковое представление полинома).
Пусть к настоящему моменту в таблицах хранятся полиномы, указанные ниже:
pol1 = 3.2x²y³z - 1.3x¹z⁴
pol2 = -3.2x²y³z + 1.3x¹z⁴
const6 = 6.0
q = 4.0x²
Пусть введено следующее выражение: new_pol = 2 * pol1 + 2 * pol2 + 3.6 * q – const6
Требуется:
- Найти в активной таблице все полиномы (сообщить об ошибке при необходимости).
- Сформировать новый полином, вычислив выражение. В данном случае должен получиться полином
new_pol = 14.4x2 – 6.0. - Добавить новый полином во все таблицы.