Curso programación desde 0 – Tema 3 – Pensando con variables

En el tema anterior http://robertogascon.blogspot.com/2013/06/curso-programacion-desde-0-tema-2.html
vimos como empezar a pensar como programadores, en este tema avanzaremos un
poco más, vamos a ver algo que es imprescindible
en la programación las variables;
entendamos una variable, como una cajita, en la que vamos a guardar algo, mas
tarde
llamando a esa cajita podremos
ver lo que tiene guardado, cambiarlo, e incluso eliminarlo.

Programando,
al usar una variable se guarda en
memoria
del ordenador, suele ser RAM, por lo que en el momento que cierras el programa, o se apaga el
ordenador se pierde todo lo que este hay guardado
, para hacerlo permanente
hay que meterlo en una base de datos, o crear un archivo con los valores, pero
es un tema avanzado que veremos mucho más adelante, ahora entendamos que es una
variable y su funcionamiento

En la vida real, si tu guardas algo en una caja, esa caja te
ocupara un espacio, en la
programación también es así, toda variable ocupa un espacio de memoria, por lo
es recomendable utilizar el menor número
posible, y lo más adecuadas
, con esto último quiero decir que para guardar
un boli, nadie utilizaría una caja de 2 metros de largo, por 2 de ancho, por 2
de alto, programando debemos hacer algo parecido, casi todos los lenguajes
necesitan que se le diga el tipo de dato que va a guardar esa variable, aquí lo
vamos a simplificar en 3, cuando entremos en materia de programación los
veremos todos según el lenguaje con el que programemos, pero recordar que lo
que veamos aquí nos valdrá para cualquier lenguaje actual.
Así que vamos a clasificar las posibles variables, en:
  • Texto
  • Numero
  •  Verdadero/Falso

Sus nombres prácticamente lo dicen todo de ellas, aun así
una pequeña descripción:
·        
Texto:
En una variable de tipo texto, comúnmente llamadas String podremos almacenar
cualquier tipo de texto, como podría
ser “Hola mundo” después cambiarlo, mostrarlo por pantalla o trabajar como mas
nos convenga, esto suele usarse para guardar el nombre del usuario, o los datos
que nos pueden teclear por pantalla, aunque en realidad sirven para guardarlo
casi todo, también podremos guardar “2348” y diréis, pero eso es un número, no
habría que guardarlo en la del tipo número?? Pues sí, y no quizás estas
desarrollando un videojuego y te interesa mostrar en pantalla la puntuación,
para ello lo mejor es sacar un mensaje “puntuación: ” al que le juntes la
puntuación, por lo que se convertiría en texto.
“Puntuación: 2348” tiene parte numérica y parte texto, pero se usa
como si solo fuera texto.

Otro ejemplo, quizás más claro seria si a
nuestro “2348” queremos no sumarle; si no ponerle un 0 mas eso con variables
tipo numéricas, deberíamos multiplicar por 10, es algo no muy complicado, pero,
y si queremos ponerlo un 11 al final? Es decir sacar el numero “234811” en
pantalla, ¿que operación habría que hacer para eso? Si juntamos 2 textos se
logra fácilmente.
Otro caso muy común que tiene, es guardar
los datos que vienen por la URL en aplicaciones web, siempre que se recoge un dato
es de tipo texto, si mas tarde necesitamos hacer una suma por ejemplo,
deberemos convertirlo a numero, ya que los
textos no pueden hacer operaciones matemáticas
Conclusión: una variable de tipo texto puede almacenar cualquier cosa, números,
textos… aunque no es recomendable usarla,
excepto en casos realmente necesarios, para
nada que no sea un texto
, son el tipo de caja más grande.

·        
Numero:
este tipo variable consume mucha menos memoria que las de tipo texto, y son las
encargadas de almacenar únicamente números,
con ellas podremos hacer operaciones matemáticas; sumar, multiplicar, restar, dividir y modulo son las más habituales; muchos diréis
las 4 primeras bien, ¿¿pero modulo?? No hay que asustarse, no es hora de
aprender nuevas operaciones matemáticas, en realidad ya la conocéis, el modulo
es simplemente el resto de una división.
Por ejemplo, si dividimos 5/2 nos dará como
resultado 2, con resto 1, ese resto es el modulo, por lo que modulo de 5/2 es
1, esto tiene infinidad de funcionalidades, pero una de las más comunes es ver
si un numero es par o impar.
·        
Verdadero/Falso:
este tipo de variables es la más liviana que existe, ya que ocupa únicamente un
bit, si, ni siquiera un byte, y a pesar de lo pequeña que es no podríamos
desarrollar ningún programa sin ella, o seria un infierno, lo que almacena en
realidad es un 0, o un 1, lo que en nuestro idioma puede ser un sí o un no,
este tipo de variables comúnmente es llamado boolean, en nuestro programa del tema pasado, el de quitarnos la
sed, podríamos utilizarlo para comprobar 
si tenemos el vaso en la mano, y que cuando lo tengamos cogido, lo
dejemos en lugar seguro antes de coger también la botella, aunque, aquí estamos
metiendo condiciones, y no quiero adelantarme, eso lo veremos en el siguiente
tema.
Vamos a ver un par de ejemplos de programas
sencillos en los que usemos variables; por cierto, esto que hacemos de escribir
los programas aunque sea de un modo básico en nuestro lenguaje, se llama
pseudocódigo, es un paso entre medias de nuestro lenguaje y el del ordenador,
lo que estamos escribiendo no cumple las “reglas” de pseudocódigo, pero este es
un curso de programación no de pseudocódigo, solo os voy a enseñar a gatear, no
a que ganéis carreras gateando, al fin y al cabo todos queremos correr y no
quedarnos a cuatro patas, así que es interesante que lo conozcáis, para ir
acostumbrándoos y cogiendo ritmo a lo que va a venir después, pero no necesitáis
dominarlo, de hecho llevo años programando y no he conocido aun a nadie que
utilice el pseudocódigo, aunque también sirve de ayuda, cuando estas atascado y
no sabes por dónde tirar, escribírtelo en una “servilleta” para después
transformarlo a código.
Un ejemplo de lo visto seria:



Un programa que nos muestre la tabla del 3 y
al resultado le sume 2;
Var numero Numero; //declaro la variable
Numero = 3*1; // multiplico 3 x 1
Numero = Numero + 2; // le sumo 2 al valor
que tiene numero guardado
Muestro Numero;
Numero = 3*2;
Numero = Numero + 2;
Muestro Numero;
Numero = 3*3;
Numero = Numero + 2;
Muestro Numero;
Numero = 3*4;
Numero = Numero + 2;
Muestro Numero;
……….
……..
……
No vamos a seguir con el ejemplo hasta el
final ya que veis que se repite todo una y otra vez solo cambiamos el número
que multiplica, y se haría muy largo este programa; más tarde veremos cómo
simplificar programas de este tipo que se repiten una y otra vez lo mismo, o
con un pequeño cambio.
Podéis ver en el ejemplo superior un par de
cosillas nuevas, y es que al lado de las 3 primeras líneas he escrito:
//* Un comentario*
Este es el modo de comentar el código en pseudocódigo, algunos lenguajes de
programación también utilizan esta simbología.
Los
comentarios son algo muy importante en programación
, se pueden hacer en
nuestro idioma, y podemos poner tantos como queramos, no existe ninguna regla ni norma que impida ponerlos, ni tampoco que nos obligue, pero son
recomendables
, por una sencilla razón, a la que haces un programa de unos
cientos de líneas, si no tienes comentarios, es complicado saber que parte del
código hace que.
Aun así, si has sido tú el que lo ha
programado, seguramente en cuanto lo veas te suene y sepas donde buscar, para
modificar algo, o reparar un bug, pero si estas en un equipo, y alguien coge tu
código, seguramente no sabrá ni por dónde empezar, lo mismo sucederá si te toca
coger el código de otra persona, por eso mismo es una buena costumbre comentar
nuestro código, los comentarios son
ignorados por el ordenador por lo que no afectan al rendimiento
, pero si
comentas cada línea de código se volverá un poco pesado a la hora de leerlo y
buscar una parte en concreto, lo suyo es comentar
solamente aquellas partes que son tan complejas que de un vistazo no se sabe
que hacen
, si buscáis sobre este tema en internet, encontrareis mucha
polémica, y la verdad es que el mejor
comentario, es el que no necesita escribirse
, con esto quiero decir que si
tu código es sencillo, claro, esta indentado (en España lo solemos llamar
tabulado, veremos cómo tabular el código en el siguiente tema); y demás no será
necesario comentarlo, excepto en funciones complejas.
Otro ejemplo seria un programa que le pida
al usuario su nombre, y apellidos por separado, y después le muestre su nombre
completo
Var Nombre, Apellido, Apellido2  Texto; //declaro 3 variables a la vez
Muestro “Introduce tu nombre”;
Nombre = TextoIntroducido;
Muestro “Introduce tu apellido”;
Apellido = TextoIntroducido;
Muestro “Introduce tu Segundo Apellido”;
Apellido2 = TextoIntroducido;
Muestro “tu nombre es: “+ Nombre + “ “+
Apellido + “ “+ Apellido2;
Como veis cada vez que quiero mostrar un
texto que no está almacenado en ninguna variable lo escribo entre “” es el modo habitual de escribir
los textos
, para no confundirlo con posibles variables o funciones después
concateno (junto) el texto que escribo yo, con la variable Nombre utilizando el
símbolo de + pero no sumo nada, solo
junto los textos, recordemos que los
textos no pueden sumarse, solo juntarse;
a su vez le sumo un espacio en blanco, y a este le sumo el primer apellido;
etc.
Como ejercicio estaría bien que hicierais
un programa que pida el nombre de 3 usuarios, uno detrás de otro, a la que
tienes los 3 nombres; les haces 3 preguntas a cada uno; pero estas preguntas
deben ser personalizadas; con esto quiero decir que debes preguntar algo al
estilo: Cuál es tu edad pepe? Una vez la conteste, pasar al siguiente usuario:
Cuál es tu edad Juan? Y así las 3 preguntas para los 3 usuarios, termina el
programa sumando las 3 edades, y mostrándolo por pantalla.

Recuerda que el mejor modo para la corrección
es publicarlo como comentario debajo del ejercicio, así tú y todos tus
compañeros podréis aprender y ayudaros los unos a los otros, pero estoy
disponible en el email [email protected]


Tema 8 – Programación Orientada a Objetos POO

Tema 7 – Funciones
Tema 6 – Bucles Repetitivos
Tema 5 – Usando condicionales
Tema 4 – Arrays
Tema 3 – Pensando con variables (Tema actual)
Tema 2 – Pensando como Programadores
Tema 1 – ¿Que es la programacion?