Слайд 2Завдання до проекту
Додавання поліномів (+) (Ничипорчук Анастасія);
Віднімання поліномів (-) (Ничипорчук Анастасія);
Множення полінома
на одночлен (*)(Скороход Іван);
Множення поліномів (*) (Скороход Іван);
Ділення полінома на одночлен (/) (Красножон Іван);
Ділення поліномів (/) (Красножон Іван);
Знаходження залишку від ділення поліномів (%) (Красножон Іван);
Обчислення значення поліному для певного аргументу (Кузенний Нікіта).
Загальна програма (Кузенний Нікіта).
Слайд 3Предметна область
Поліном з однією змінною - це многочлен вигляду anxp+an-1xp-1+...a1x1+a0, де ai
- коефіцієнти , а x - змінна.
Алгоритм додавання та віднімання.
Алгоритм множення поліномів та множення полінома на одночлен.
Алгоритм ділення поліномів.
Алгоритм обчислення значення поліному для певного аргументу.
Слайд 4Алгоритм додавання та віднімання
Запам'ятовуємо розмір полінома з найбільшим ступенем.
Створюємо динамічний масив
в якому буде зберігається результат.
Якщо початкові поліноми мають однакову найвищу ступінь, то складаємо (або віднімаємо) i-ті коефіцієнти зі змінними в i-тій мірі. Тобто (ai+bi)xi.
Якщо початкові поліноми мають різну найвищу ступінь, то додаємо (або віднімаємо) i-ті коефіцієнти меншого до i-тих коефіцієнтів більшого.
Слайд 5Алгоритм множення поліномів та множення полінома на одночлен
Створюємо порожній масив який буде
зберігати результат обчислень, його розмір дорівнює сумі максимальних ступенів поліномів.
Перемножаємо кожний елемент першого полінома на кожний елемент другого полінома (або на одночлен) та результати цих добутків додаємо.
Слайд 6Алгоритм ділення поліномів
Ділимо перший елемент діленого на старший елемент дільника, записуємо результат
у масив.
Множимо дільник на отриманий вище результат ділення.
Віднімаємо отриманий після множення многочлен з діленого, записуємо результат.
Повторюємо попередні 3 кроки, використовуючи в якості діленого записаний многочлен.
Повторюємо крок 4, поки ступінь результатів більше дільника.
Слайд 7Алгоритм обчислення значення поліному для певного аргументу
Записуємо перший коефіцієнт.
Множимо попередній результат на
аргумент і додаємо наступний коефіцієнт полінома.
Повторюємо з усіма коефіцієнтами.
Слайд 8Архітектура проекту
У головному файлі Main знаходиться функція main, яка створює об'єкт класу
Polynomials та виконує методи цього об'єкту в залежності від того що введе користувач.
У заголовному файлі PolynomialsOperations знаходиться клас Polynomials.
Слайд 9Архітектура проекту
Файл Main.cpp
int main() – взаємодіє з користувачем використовуючи об'єкт класу.
Файл PolynomialsOperations.h
void
ArgumentCalculus() – обчислення значення поліному для певного аргументу.
void PolyDisplay() – вивод полінома на екран.
void PolyAdd(Polynomials& SecondPolynom) – обчислення додавання поліномів.
void PolySub(Polynomials& SecondPolynom) – обчислення віднімання поліномів.
void PolyMulti(Polynomials& SecondPolynom) – обчислення множення поліномів.
void PolyMultiMono() – обчислення множення полінома на одночлен.
void PolyDivMono() – обчислення ділення полінома на одночлен.
void PolyDiv(Polynomials& SecondPolynom, bool Remainder) –обчислення ділення поліномів.
Слайд 10Дослідження алгоритмів
Алгоритм додавання та віднімання – кількість ітерацій дорівнює найбільшою ступінь поліномів
+ 1.
Алгоритм множення поліномів та множення полінома на одночлен – кількість ітерацій дорівнює добутку кількості коефіцієнтів поліномів.
Алгоритм ділення поліномів – кількість ітерацій дорівнює максимальному ступені діленого.
Алгоритм обчислення значення поліному для певного аргументу – кількість ітерацій дорівнює кількості коефіцієнтів поліномів.