Diario de un programador.-
Dia 10
Sigamos
con las variables...
Para
graficar la explicación de las variables, pondré un dibujo.
Esta cajita representa una variable.
Como se puede ver en esta caja solamente se pueden guardar números enteros
(porque está declarada como int) y se puede observar que efectivamente tiene el
número 1 en su interior y por último, para poder identificar esa variable de
otras variables, se le añadió una etiqueta o nombre, la cual dice
"numeros".
Como dije anteriormente, una variable puede cambiar de
valor durante la ejecución o el transcurso del programa, como por ejemplo:
int numeros = 1 (Se
declara una variable de tipo entero y se le asigna el valor 1)
escribir numeros (se
muestra en pantalla el valor de la variable “numeros”)
numeros = 2 (Se
asigna un nuevo valor a la variable)
escribir numeros (se
muestra el nuevo valor de la variable)
Este pequeño pseudocódigo (pseudocódigo
es un tipo de lenguaje informal que sirve para graficar o escribir código sin
necesidad de apegarse a la sintaxis de un lenguaje. Más info aquí, el
pseudocódigo es como una alternativa al diagrama de flujo. De momento usaré la instrucción
"escribir" cuando me refiera a mostrar algún contenido en pantalla y
"leer" cuando necesite recibir información que el usuario me indica.
Como decía, el pequeño pseudocódigo que escribí sirve para mostrar como una
variable cambia su contenido a medida que avanza línea tras línea. En la
primera línea se declara la variable “numero” como entero y se le asigna un
valor, en este caso 1. En la segunda línea, se muestra en pantalla el contenido
o valor de la variable numero, para mostrar el valor de una variable,
simplemente hay que nombrarla por su etiqueta o nombre. En la tercera línea, la
variable recibe un nuevo valor, en este caso 2. Notar que no es necesario
volver a colocar int antes de su nombre, esto es porque la variable ya fue
declarada como entero. Así que para cambiar su contenido, simplemente se le da
otro valor. Por último, en la cuarta línea, se muestra nuevamente el contenido
de la variable numero y como es de esperar, se mostrará con su nuevo valor.
Cuando una variable guarda un valor,
también podemos operar con ese valor. Aquí un ejemplo.
int variable1 = 10
int variable2 = 30
int total = variable1 + variable2
Como se puede apreciar, la variable
"total" guardará el resultado de la suma entre "variable1"
y "variable2", por lo tanto la variable "total" vale 40
Con las cadenas, también pasa algo
parecido, pero en este caso, al tratarse de palabras, éstas no se suman, sino
que se "unen". El proceso de unir o juntar cadenas se llama concatenación y se hace generalmente
con el signo +
string cadena1 = "hola "
string cadena2 = "mundo"
string cadena3 = cadena1 + cadena2
La variable "cadena3" guarda
la concatenación entre "cadena1" y "cadena2", por lo tanto,
"cadena3" tiene la cadena "hola mundo". En este caso, el
contenido de la variable "cadena1", o sea la palabra "hola"
tiene un espacio antes de cerrar las comillas, esto lo dejé así para que al concatenar,
no aparezcan ambas palabra pegadas. De no haber dejado ese espacio, al mostrar
el contenido de la variable "cadena3" hubiera aparecido así:
holamundo
¿Qué otras cosas puedo guardar en una
variable? Pues de todo, pero siempre el valor será único. Recordar que las
variables solamente pueden almacenar un dato a la vez, puede cambiar ese dato,
pero siempre será un dato a la vez. No olvidar esto que es importante.
Otra cosa que se puede hacer con las
variables es solicitar una información al usuario y la información que nos
entregue, la almacenamos en una variable para luego ser usada más tarde. Aquí
un ejemplo:
escribir "Ingresa tu nombre "
string nombre = “” (Se crea una variable de caracteres vacio)
leer nombre (aquí el usuario escribe su
nombre y se guarda en esta variable)
escribir "Bienvenido " +
nombre
En la primera línea puse la instrucción
"escribir" que en pseudocódigo significa que muestre en pantalla lo
que le sigue, en este caso la palabra "Ingresa tu nombre".
En la segunda línea declaro la variable
"nombre" y posteriormente le asigno la instrucción "leer".
Esta instrucción también está en pseudocódigo al igual que la instrucción
"escribir". Esta instrucción lo que hace es esperar a que el usuario
introduzca información por el teclado y una vez recibida esa información, la
almacena en la variable que se le designa. En este caso la variable
"nombre". En muchos (por no decir todos) lenguajes de programación
están presente estas dos instrucciones, una que muestra información en pantalla
(escribir) y otra que reciba información del usuario (leer) y como es de
imaginar, cada lenguaje tiene su propia sintaxis para manejar ambas
instrucciones, pero en definitiva, es lo mismo. Solamente cambia su sintaxis
como ya dije. Mientras no me refiera a un lenguaje en específico, utilizaré
estas instrucciones como "escribir" y "leer" ya que sería,
a mi modo de pensar, instrucciones genéricas.
Y por último, en la última línea, lo
que hago es mostrar por pantalla la palabra "Bienvenido " (con un
espacio antes de cerrar la comilla) concatenando la variable
"nombre", para así mostrar el mensaje por completo en la pantalla.
Algo de información que reuní después
de leer cientos de mensajes de personas como yo que navegaban por foros es lo
siguiente "Es importante recalcar
que al momento de ejecutarse la instrucción "leer", el programa
espera que el usuario ingrese su nombre, ya que eso es lo que estamos
solicitando, pero el usuario podría ingresar cualquier cosa, como por ejemplo
un número, ocasionando en la mayoría de los casos que el programa finalice en
forma inmediata, debido a que la variable "nombre" espera recibir una
palabra para guardar y si recibe un número (que por lo general es un dato de tipo entero) es
muy probable que el programa finalice en forma inmediata ya que no sabrá cómo
manejar ese dato que recibió. Ese tipo de errores, se conocen como
"Errores en tiempo de ejecución", y se puede dar por muchos motivos,
como por ejemplo que después de un gran cálculo matemático, se llegue a una
división por cero". Por su puesto, esta información no estaba así de
literal como lo escribí, sino que más bien lo adapté a lo que estoy haciendo.
Existen formas para evitar en su gran
medida que errores como estos se presenten, pero es algo que se estudiará mucho
más adelante.
Ejercicios (Porque
ejercitando se aprende este asunto) Intenta responder algo diferente a las soluciones propuestas
.- Declarar una variable como entero, otra como cadena y
otra como decimal. Asignar un valor a cada una de ellas
int numero = 10
string cadena = “hola”
float decimal = 5.7
.- Declarar tres variables enteras. Asignar un valor a
las primeras dos variables. Sumar la primera variable con la segunda y el
resultado guardarlo en la tercera variable.
int num1 = 8
int num2 = 2
int total = num1 + num2
.- Cual de las siguientes etiquetas o nombres para
variables no son válidos
2datos
|
Nombre3
|
Nombre 4
|
Una_cadena
|
unNombre
|
Primer Dato
|
R: - 2datos, porque empieza con un número. Nombre 4,
porque hay un espacio entre la palabra y el número. Primer Dato porque hay un
espacio entre ambas palabras.
Eso es todo por ahora, a medida que se practique se aclararán
las dudas. En el próximo capítulo se aplicarán las variables a Small Basic. Hasta
luego
Gustavo J. Cerda Nilo
Junio 2015, última modificación Marzo 2016
Hola cómo hago si quiero q calcule la edad. Solo con pedir al usuario que ingrese el año de nacimiento
ResponderEliminar