Fundamentos

Cómo asignar variables correctamente

Básicos Fundamentos

Asignar variables es otra funcionalidad básica pero que, en ocasiones, puede llevar a confusiones especialmente a aquellos que empiezan a programar.

Una asignación no es una ecuación

Al inicio del aprendizaje sobre programación, somos muchos los que vemos los primeros ejemplos de asignaciones y, en ocasiones, nos pensamos que estamos enfrente de una simple ecuación matemática. Error. Para ello, vamos a utilizar un simple ejemplo para explicar de forma sencilla y básica lo que es asignar variables.

Tenemos la siguiente ecuación matemática que vamos a resolver en el propio ejemplo:

Nuestra ecuación es (utilizamos el asterisco para indicar multiplicación):

x = 3 * x - 2

Para resolverla, pasamos el 3 * x al otro lado del igual, pasando restando:

x - 3 * x = - 2

Operamos (la barra inclinada indica división):

- 2 * x = - 2
2 * x = 2
x = 2 / 2
x = 1

Nuestro resultado es que el valor de x es 1.

Una ecuación sencilla con un valor claro.

Asignar variables

Ahora nos vamos al mundo de la programación y utilizamos esa misma expresión. Aunque, antes de utilizarla, vamos a darle a x el valor que hemos obtenido en ejemplo anterior, un 1.

x = 1
x = 3 * x - 2

Si mostramos por pantalla el valor de x obtendríamos lo siguiente:

1

Y, con este resultado, un joven programador se convencería más aún de que asignar es igual a realizar una ecuación. Error. Probemos ahora a darle el valor 5, por ejemplo, inicialmente a nuestra x.

x = 5
x = 3 * x - 2

Si mostramos por pantalla el valor de x obtendríamos lo siguiente:

13

¿Cómo? ¿Un 13? Pero si la ecuación expresada tiene claramente un 1 para el valor de x, ¿cómo es posible?

Recordemos que estamos viendo cómo asignar variables. Y, por tanto, no estamos realizando una ecuación. Asignar variables es, simplemente, guardarnos en nuestra “mochila” (nuestra variable) una expresión. Primero, se evalúa la expresión de la derecha del signo = y, después, se le asigna el resultado a la variable de la izquierda. Vamos a verlo paso a paso para que quede aún más claro.

Inicialmente, la variable x no está definida, luego no existe.
Asignamos el valor 5 a nuestra variable de nombre x:

x = 5

Si mostráramos por pantalla el valor de x en este momento, se mostraría un 5.
Ahora escribimos nuestra nueva asignación:

x = 3 * x - 2

Como hemos comentado, primero evaluamos la parte de la derecha.
Al evaluar la parte derecha, vemos que 3 multiplica al valor de x.
¿Cuál es ese valor? En estos momentos el valor es 5, por tanto, 3 * 5.
Al resultado, 15, se le resta el número 2 y tenemos un valor de 13.
Obtenido el valor de la derecha, se lo asignamos a la variable de la izquierda.
Esta variable vuelve a ser x, por tanto se machaca su anterior valor.
Y, al mostrar por pantalla el valor de x, tenemos:

13

El ejemplo es bastante autoexplicativo y queda bastante comprendido que nuestra expresión de asignación no es una ecuación. Antes de que la variable x de la izquierda cambie su valor, utilizamos el valor que ya tenía, un 5, para resolver la expresión y, finalmente, actualizamos el valor de x.

Si en vez de utilizar x como nombre de variable, hubiéramos utilizado un nombre más explicativo, probablemente las confusiones hubieran sido menores.

precio = 5
precio = 3 * precio - 2

Valor final de precio:

13

Como vimos cuando tratamos de definir un algoritmo, un programa es una secuencia de instrucciones, por lo que en estos ejemplos, simplemente, estamos aplicando una instrucción detrás de la otra.

Queda incluso más claro usando variables de nombres diferentes como se muestra a continuación (para mostrar un número con decimales, se utiliza el punto decimal en lugar de la coma, por lo que vamos a utilizar esta forma en nuestro pseudocódigo también):

precio = 5
precio_sin_iva = 3 * precio - 2
precio_con_iva = (3 * precio - 2) * 1.21

El valor final de precio es:

5

El valor final de precio_sin_iva es:

13

El valor final de precio_con_iva es:

15.73

Como veis, al utilizar distintas variables, al final de nuestro programa tenemos guardada todavía la variable precio con valor 5, y la hemos podido utilizar dos veces en dos instrucciones distintas (o podríamos haber calculado el precio con IVA a partir del precio sin IVA también).

Conclusión

Pese a que asignar variables, como veis, no tiene excesiva dificultad inicial, siempre viene bien aclarar estas primeras dudas a los no iniciados. Con ello, empezaréis a daros cuenta de la estructura de instrucciones de un algoritmo y evitaréis pensar que estamos realizando matemáticas puras.

Obviamente, hay algunas características más avanzadas de asignación de variables, como asignar variables por referencia. Pero suelen ser aspectos de algunos lenguajes de programación, y no todos, y no se suelen utilizar tanto en el día a día.

Ya en el próximo artículo pondremos en práctica la asignación de variables en varios ejemplos con PHP. También podéis practicar en nuestra sección A practicar….

Deja un comentario