El modo de uso es el siguiente, primero solicita el polinomio A, este se debe ingresar a modo de lista especificando los coeficientes numéricos del polinomio.
Ejemplo:
3x+1 => se escribiría {3,1}, 3x^2+1 => {3 ,0 ,1}, es importante notar que cuando faltan coeficientes se los debe llenar con ceros.
Cuando solicita el polinomio B el formato a escribir es el mismo anterior, luego con un simple EXE el resultado se mostrara en el mismo formato de coeficientes del polinomio resultante.
El programa que llamen POLIP
= POLIP=
"A" ? &F List 1 &EXE //Solicita polinomio A"B" ? &F List 2 &EXE // Solicita polinomio B
Dim List 1 &F M &EXE // Dimension polinomio A (M)
Dim List 2 &F N &EXE // Dimension polinomio B (N)
M+N-1 &F P&EXE //Dimension del polinomio resultante (P)
Seq(0C, C, 1, P, //Inicializa la lista 6 como lista auxiliar
1) &F List 6 &EXE //Donde los resultados se acumulan
For 0 &F I To (N //Recorrido para el polinomio B
-1) &EXE
For 0 &F J To (M //Recorrido para el polinomio A
-1) &EXE
List 6 [P-I-J] //Suma el resultado paracial al actual,
+List 1 [M-J] x //y guarda en la misma posicion
List 2 [N-I] &F
List 6 [P-I-J] &EXE
Next &EXE
Next &EXE
List 6 &EXE //muestra el resultado
Un ejemplo sencillo de producto de polinomios, (2X+3)(5X+1)= 10X^2+17X+3:
A?
{2, 3}
B?
{5, 1}
Ans
[10
17
3]
Es mas o menos lo que seria el resultado y su modo de uso. Una nota adicional es que tengan cuidado con los datos que tienen en las listas 1,2 y 6 puesto que estos son alterados por el programa, ya que este hace uso de dichas listas y los valores anteriores serian borrados. Espero haber sido claro y si surgen dudas miren las otras entradas del blog porque creo que por allí podria estar la respuesta.