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.

viernes, 22 de agosto de 2008

CASIO FX-7400G PLUS: Programa MT SMXN

El siguiente programa permite solucionar sistemas de ecuaciones algebraicas de primer orden teóricamente para n variables, para ello se vale de la matriz aumentada del sistema y a la cual se le aplica la eliminación de Gauss Jordan. El programa ya ha sido probado debidamente, pero es de aclarar que el autor no se hace responsable por ningún daño o consecuencia que se derive del uso del programa. También es importante tener idea de cómo funciona el programa, para así no tener ningún inconveniente.

Para ingresar la matriz, se hace uso de la lista 1, se ingresa al modo LIST y se ingresan los valores consecutivamente de izquierda a derecha y en orden de filas descendente de la matriz aumentada del sistema, de tal forma que quedará todo en forma de una sola columna, luego se procede a ejecutar el programa desde el modo PRGM, al solicitar VARS se digita el numero de variables del sistema y entonces se debe esperar por algún tiempo dependiendo de la complejidad del cálculo y la respuesta se presentará como una lista. El programa hace uso de la lista 6, por ello si ha datos allí se borrarán y serán cambiados por las respuestas respectivas; también es de aclarar que usa muchas de las 26 variables (A, B, C…), y por ello sus valores almacenados serán borrados.

Un último detalle, el programa usa otro auxiliar llamado “MTAUX” ( si tienes alguna duda del lenguaje revisa Calculadora CASIO fx-7400G PLUS ) que es:
  • = MTAUX=
    Dim List 1 &F S &EXE
    If T=0 &EXE
    Then List 1 &EXE
    Seq(U,U,1,2S,1) &F List 1 &EXE
    For 1 &F U To 2S &EXE
    List Ans [(U-1) Rmdr S+1] &F List 1 [U] &EXE
    Next &EXE
    Else If T=-1 &EXE
    Then Seq(List 1 [U+ S/2],U,1,S/2,1) &EXE
    List Ans &F List 1 &EXE
    Else If T>0 &EXE
    Then For 1 &F U To Z &EXE
    List Ans[U] &F List 1[Z(T-1 )+U] &EXE
    Next &EXE
    IfEnd &EXE

Ahora está el programa principal:

  • = MT SMXN =
    “VARS”? &F Y &EXE
    Y+1 &F Z &EXE
    Dim List 1 ¡= YxZ => Stop &EXE
    0 &F T &EXE
    Prog “MTAUX” &EXE
    For 1 &F V To Y &EXE
    List 1 [(V-1)Z+V] &F X &EXE
    X = 0 => Stop &EXE
    Seq(List 1[(V-1)Z+U],U,1,Z,1) &EXE
    List Ans &D X &F List 6 &EXE
    For 1 &F W To Y &EXE
    W &F T &EXE
    If W = V &EXE
    Then List 6 &EXE
    Prog “MTAUX” &EXE
    Else Seq( List 1 [(w-1)Z+U],U,1,Z,1) &EXE
    List Ans – List 1[(W-1)Z + V] x List 6 &EXE
    Prog “MTAUX” &EXE
    IfEnd &EXE
    Next &EXE
    Next &EXE
    Seq (List 1 [ZU],U,1,Y,1) &F List 6 &EXE
    -1 &F T &EXE
    Prog “MTAUX” &EXE
    List 6 &EXE

Espero lo disfruten y no tengan inconvenientes.