Las variables, usos y costumbres
La vez anterior nos quedamos hablando de variables, aquellas cajitas
donde podemos ir almacenando cosas como lechugas, tomates y
también...
- ENTEROS:
- Como su nombre indica, aquí podremos meter números
enteros, tanto positivos como negativos. Cuando decimos que podemos
tener tanto enteros positivos como negativos, lo que se
suele decir es "enteros con signo". Si sólo vamos a tener
enteros positivos (incluyendo el cero), decimos entonces
"enteros sin signo". Esta nomenclatura de "con signo" y
"sin signo" es aplicable a otros tipos, como el siguiente.
- REALES:
- Trex cuartos de lo mismo, aquí podemos poner
números con decimales, tanto positivos como negativos.
Hay reales con signo y reales sin signo, pero, si no decimos
lo contrario, se sobreentiende que son con signo.
Obviamente, dado que la memoria de la máquina es finita (vamos,
que por muchos megas, incluso Gigas de RAM, algún día
ésta se nos acabará), el tamaño de los datos
que almacenemos también será finito. Esto quiere decir
que, por ejemplo, el número Pi jamás cabrá en
la memoria de un ordenador. Por tanto, para cada tipo de dato,
según el lenguaje, se especifica cuántas cifras tiene,
aunque suele ser unánime.
- CARACTERES:
- Si tenemos una variable de tipo caracter, lo que podemos
almacenar será un caracter como 'p', 's', '3', '#' y
otros.
Estos son los tres tipos de datos básicos, y son los que yo
usaré. Como ya comenté, las variables se suelen declarar
al principio del programa, y esta será la norma que yo voy a
usar; toda variable utilizada, debe haber sido previamente declarada.
Para ello, escribiré algo como esto:
Declaracion de variables:
ENTERO: i,j,k
REAL: x,y,z
CARACTER: a,b,c
Fin de la declaracion de variables
Esto querrá decir que las variables i, j, k
serán enteras (con signo), que las variables x, y, z
serán reales (con signo) y que las variables a, b, c
serán caracteres. Al escribir la declaración de variables de
esta forma, si alguna se nos ha olvidado, es muy fácil
incluirla.
Una variable, en el momento que la declaramos, está vacía,
hueca, sin vida, sentido ni VALOR. Y hasta que dicha variable
no tenga valor, lo mejor será no hacer cosas con ella.
Entonces, aquí viene la pregunta: ¿y cómo meto en
mi variable un 7? ¿Puedo meter un 23?
Para poder meter cosas en las variables, lo que hacemos es
asignarles un valor, es decir, "Pepe es una variable de tipo
entero. Si a Pepe le asigno 14, a partir de ahora, poner Pepe es tanto
como poner 14".
Para ello, nosotros vamos a usar un símbolo, una flechita. Cuando
queramos hacer asignaciones, haremos esto:
Pepe <- 14 (asignamos un entero)
Carolina <- -9.65 (asignamos un real)
Juan <- 'a' (asignamos un caracter)
Y podemos hacer cuantas asignaciones queramos a nuestra variable.
Por ejemplo, si hacemos:
Pepe <- 14
Pepe <- 4
Pepe <- -3
Pepe <- 42
al final, en Pepe tenemos almacenado el valor 42.
Lo que no debemos hacer es:
Pepe <- 14
Pepe <- 2.5
pues estamos metiendo un valor REAL en una variable que sólo quiere
ENTEROS. ¿Qué pasará aquí? Pues depende
del compilador.
Quizá nos trunque los decimales, quizá los redondee,
quizá, simplemente, nos dé un error y no lo permita.
En cualquier caso, si queríamos un 2.5 con toda nuestra alma,
una variable entera no es lo más recomendable para guardarlo.
"Muy bien, ya sé cómo meter cosas en las variables,
ahora... ¿qué puedo hacer con mis variables?"
Como los caracteres son un tanto especiales, serán tratados
aparte, para que no haya confusión. Así que, por ahora,
nos vamos a entender con las variables numéricas.
Como obviamente parece, podemos sumar, restar, multiplicar y dividir
variables. Si dividimos por una variable que en ese momento valga
cero, tendremos un error. Pero, por lo demás, podemos hacer todas
estas cosas.
Por el mismo motivo que he comentado arriba, es mejor no mezclar
enteros con reales al hacer operaciones, a no ser que de verdad uno
sepa que quiere mezclarlos y por qué quiere mezclarlos.
Para estas operaciones, usaremos la notación usual que nos
enseñaron ya desde pequeñitos. Entonces, podremos hacer
todas estas cosas:
Pepe <- 2
Mari <- 3
Juan <- Pepe*Mari
Tendremos que en Juan está almacenado el valor 2*3=6 :)
Pepe <- 2
Mari <- 3
Juan <- Pepe+Mari
Ahora, en Juan está almacenado el valor 2+3=5 :)
Pepe <- 2
Mari <- 3
Juan <- Pepe-Mari
Y ahora, en Juan está almacenado el valor 2-3=-1 :)
Como estos, os podeis poner cuantos ejemplos querais.
Además, los compiladores suelen traer librerías
matemáticas con muchas funciones más avanzadas (aunque
*todas* esas funciones se consiguen a partir de las cuatro operaciones
básicas), funciones con las que podemos hacer más
operaciones con nuestras variables.
Por ejemplo, podemos escribir:
Mari <- Pi
Pepe <- sin(Mari)
Y tendremos en Pepe almacenado el valor sin(Pi)=0
Más adelante, os pondré como ejercicio implementar
alguna función matemática como el seno, la exponencial
(u otras), el algoritmo será muy sencillo, y vereis como todos
los cálculos no son más que combinaciones de las cuatro
operaciones básicas que nos enseñaron
en la escuela.
De momento, eso es todo en cuanto a variables numéricas.
Las variables de tipo carácter son un poco más especiales, es
mejor esperar a tener un poco más de rodaje en otras cuestiones
básicas.