martes, 26 de julio de 2011

Operaciones algebraicas

Los seres humanos tenemos cierta compulsión para darle una explicación a todas las cosas, esto da origen a varias ciencias como economía, física, química, lógica, biología, etc,  y las mismas se basan en leyes que están compuestas principalmente por modelos matemáticos. Para que un juego dé la sensación de realismo, no solo basta con que tenga bonitas gráficas -que son generadas por un conjunto enorme de matrices- , sino que también se apegue a ciertas leyes congruentes en el mundo virtual donde se desarrolle el juego.


Los modelos matemáticos son representados por ecuaciones o fórmulas, formadas por constantes y variables. En programación a diferencia de lo que has visto anteriormente en matemáticas las ecuaciones se escriben de manera diferente (al revés):

Resultado_o_variable =  Operaciones

y que las operaciones algebraicas que se pueden calcular, siguen el orden prioridad de los paréntesis, por ejemplo:

Area_triangulo = (base*altura) / 2

Donde primero se hace la multiplicación adentro del paréntesis y luego la división entre 2. Ésta jerarquía es la misma que existe en las operaciones algebraicas: entre mayor jerarquía tenga una operación, ésta se realizará antes que cualquier otra:
  • Operaciones entre paréntesis
    • Potencias y Raíces
      • Multiplicaciones y divisiones
        • Sumas y Restas
Ejemplo
Siguiendo el modelo pseudo código del post anterior:
Algoritmo para evaluar la ecuación x^2 - (2y+3z) guardando su resultado en x,  con los valores x=1,y=2,z=3 .
VARIABLES x,y,z
x=1
y=2
z=3

x = x^2 - (2y+3z)

MUESTRA(x)  //Muestra -12

En este punto aparentemente, tener a "x" en ambas partes de la ecuación resultará ilógico, pero en programación siempre se hacen los cálculos de la parte derecha de la ecuación y si no hubo algún error grave, se asigna el resultado a la parte izquierda (variable "x"), así que cuando tenemos una variable en ambas partes de una ecuación, lo que estamos diciendo es que queremos que se use el valor anterior de esa variable en operaciones algebraicas, y después que se hayan hecho las operaciones, se guarda el nuevo valor en la variable.
En cuanto al orden de las operaciones, primero se hace la suma 2y+3z (2*2 + 3*3 = 4+9 = 13), puesto que está dentro de un paréntesis -y si ves, primero se hacen las multiplicaciones y luego la suma-, posteriormente se calcula x^2 (1^2 = 1), finalmente se hace la resta con los resultados de las operaciones (1-13 = -12) y el resultado final se guarda en la variable (x=-12).
Algunas cosas que se deben de tomar en cuenta al trabajar con operaciones algebraicas:
  • No se pueden hacer divisiones entre cero.
  • Las computadoras no trabajan con números imaginarios.
  • No existe un valor para "infinito": el valor máximo de una variable depende del tipo de la variable.
  • Siempre se les debe de dar un valor inicial a las variables.

No hay comentarios:

Publicar un comentario en la entrada

LinkWithin

Related Posts Plugin for WordPress, Blogger...