леного на коефіцієнт дільника;
· Множимо дільник на цей елемент многочлена, щоб отримати многочлен, який буде проміжним;
· Віднімаємо з діленого цей многочлен і заносимо новий результат в подільне;
· Виконуємо останні чотири дії до тих пір, поки ступінь діленого не буде менш як і чи рівній мірі дільника;
· Присвоюємо отриманому многочлену ступінь, яку запам'ятовували спочатку;
· Повертаємо результат.
mnogochlen mnogochlen :: operator / (mnogochlen m)
{ mnogochlen c, d, g;
int i, l, k;
l=stepen-m.stepen;
for (i=0; i <100; i + +)
{c.koof [i]=0; d.koof [i]=0;}
while (stepen>=m.stepen)
{c.stepen=stepen-m.stepen;
c.koof [c.stepen]=koof [stepen] / m.koof [m.stepen];
d=m * c;
* This=* this-d; }
c.stepen=l; return c;}
Алгоритм знаходження залишку від ділення
· Обнуляємо коефіцієнти майбутнього многочлена, який буде результатом поділу;
· Визначаємо ступінь чергового елементамногочлена, віднімаючи з ступеня діленого ступінь дільника;
· Обчислюємо його коефіцієнт, розділивши коефіцієнт діленого на коефіцієнт дільника;
· Множимо дільник на цей елемент многочлена, щоб отримати многочлен, який буде проміжним;
· Віднімаємо з діленого цей многочлен і заносимо новий результат в подільне;
· Виконуємо останні чотири дії до тих пір, поки ступінь діленого не буде менш як і чи рівній мірі дільника;
· Повертаємо залишок від ділення многочленів;
mnogochlen mnogochlen :: operator% (mnogochlen m)
{mnogochlen c, d, g; bool a;
int i, l, k;
l=stepen-m.stepen;
for (i=0; i <100; i + +)
{c.koof [i]=0; d.koof [i]=0;}
while (stepen>=m.stepen)
{ c.stepen=stepen-m.stepen;
c.koof [c.stepen]=koof [stepen] / m.koof [m.stepen];
d=m * c;
* this=* this-d; }
c.stepen=l;
return * this;
}
3. Набір тестів для класу
В спроектованому мною класі міститься кілька підпрограм, які взаємопов'язані з друг-іншому, отже, було б доцільно відлагодити кожну окремо.
3.1 Тести для складання двох многочленів
Випадок, коли многочлени рівні
Введіть ступінь многочлена 3
Введіть вільний елемент 8
Введіть x в ступені 1 липень
Введіть x в ступені 4 лютого
Введіть x в ступені 3 лютого
y=2x 3 +4 x 2 +7 x +8
Введіть ступінь многочлена 3
Введіть вільний елемент 8
Введіть x в ступені 1 липень
Введіть x в ступені 4 лютого
Введіть x в ступені 3 лютого
y=2x 3 +4 x 2 +7 x +8
y=4x 3 +8 x 2 +14 x +16
Випадок, коли перший многочлен більше іншого
Введіть ступінь многочлена 2
Введіть вільний елемент 6
Введіть x в ступені 1 квітня
Введіть x в ступені 2 3
y=3x 2 +4 x +6
Введіть ступінь многочлена 4
Введіть вільний елемент 54
Введіть x в ступені 1 травня
Введіть x в ступені 2 87
Введіть x в ступені 3 березня
Введіть x в ступені 4 жовтня
y=10x 4 +3 x ...