Реализованы все задачи из спика заданий:
1) Определить тип данных Polynom – представление полиномов от одной переменной - x. Для представления можно, например, использовать списки. Полином в виде списка можно представить как список коэффициентов или как список пар чисел – (коэффициент, степень).
Например, полином 2+x^3 будет иметь представление [2,0,0,1] в первом случае и [(2,0), (1,3)] – во втором.
Во втором случае все операции будут реализовываться гораздо проще, если поддерживать инвариант представления, гарантирующий, что все пары упорядочены по возрастанию степеней.
2) Реализовать операции над полиномами: PolyAdd – сложение, PolySub – вычитание, PolyMul – умножение.
3) Реализовать функцию PolyEval(Polynom,num) – значение полинома в точке. Например, PolyEval(1+x^2,2) = 1+2^2 = 5
4) Реализовать функцию преобразования полинома в строку PolyToStr.
Например, для первого представления, PolyToStr([1, -2,0,1])="1-2*x+x^3"
5) Реализовать функцию дифференцирования полинома DerivePoly
Например, для первого представления, DerivePoly([1, -2,2,1])=[-2,4,3]
6) Реализовать функцию преобразования строки в полином PolyFromStr.
Например, для первого представления, PolyFromStr("1-2*x+x^3+-3*x")=[1, -5,0,1]
7) Упростить выражение ( (1+x+2*x^2-3*x^3+4*x^4-5*x^5)*( 6+5*x+4*x^2+3*x^3+2*x^4+x^5)-(1+x+x^2+x^3+x^4) )'
Для реализации выбран вариант с простыми списками (список коэффициентов)
1) Определить тип данных Polynom – представление полиномов от одной переменной - x. Для представления можно, например, использовать списки. Полином в виде списка можно представить как список коэффициентов или как список пар чисел – (коэффициент, степень).
Например, полином 2+x^3 будет иметь представление [2,0,0,1] в первом случае и [(2,0), (1,3)] – во втором.
Во втором случае все операции будут реализовываться гораздо проще, если поддерживать инвариант представления, гарантирующий, что все пары упорядочены по возрастанию степеней.
2) Реализовать операции над полиномами: PolyAdd – сложение, PolySub – вычитание, PolyMul – умножение.
3) Реализовать функцию PolyEval(Polynom,num) – значение полинома в точке. Например, PolyEval(1+x^2,2) = 1+2^2 = 5
4) Реализовать функцию преобразования полинома в строку PolyToStr.
Например, для первого представления, PolyToStr([1, -2,0,1])="1-2*x+x^3"
5) Реализовать функцию дифференцирования полинома DerivePoly
Например, для первого представления, DerivePoly([1, -2,2,1])=[-2,4,3]
6) Реализовать функцию преобразования строки в полином PolyFromStr.
Например, для первого представления, PolyFromStr("1-2*x+x^3+-3*x")=[1, -5,0,1]
7) Упростить выражение ( (1+x+2*x^2-3*x^3+4*x^4-5*x^5)*( 6+5*x+4*x^2+3*x^3+2*x^4+x^5)-(1+x+x^2+x^3+x^4) )'
Для реализации выбран вариант с простыми списками (список коэффициентов)