domingo, 9 de agosto de 2009

Producto de polinomios en la fx-7400G

Para muchos de los que poseemos la calculadora mencionada es bien conocido que las operaciones posibles son un tanto restringidas, pero si hacemos buen uso de las posibilidades que se ofrecen en su programación es posible obtener una gran gama de utilidades. A continuación se presenta un programa con el cual será de suma facilidad realizar el producto de dos polinomios de una forma sencilla y no con engorrosas operaciones que implica hacerlo sobre el papel y haciéndose muy común el error.

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.