PRIMER PROGRAMA EN QBASIC
Es tradicional en programación que al empezar con un nuevo
lenguaje para empezar a entenderlo se escriba un programa que borre la pantalla
y escriba las palabras "Hola mundo", allá vamos paso por paso.
Desde MS-DOS entraríamos en el directorio donde tenemos QBasic y a continuación cargamos el programa.
CD DOS[Enter]
QBasic[Enter]
O lo más común en estos tiempos, desde Windows buscamos el
programa QBasic.exe o un acceso directo que apunte a él y hacemos doble clic
sobre su icono. (Muchas veces encontraremos los accesos directos a QBasic con el nombre de Microsoft Quick
Basic)
En el editor podemos empezar a escribir todo el código de
nuestro programa. Esto es como un procesador de textos, solo que en vez de
escribir lo que queramos sólo se puede escribir en lenguaje Basic. Si
escribimos otra cosa, cuando pasemos a la siguiente línea pulsando "Enter" el programa se dará cuanta de que algo no va
bien y nos sacará un mensaje de error.
Vamos a escribir nuestro programa.
cls
print
"Hola Mundo"
Ya está!
Ahora que ya nos hemos hartado de escribir todo el código
del programa vamos a probar a ver si funciona.
Pulsamos la tecla F5
La pantalla se pondrá toda negra y en la esquina superior
izquierda aparecerá de color gris el rótulo "Hola Mundo".
Ya está. Nuestro programa hace lo que queríamos. Abajo
aparecen unas letras que dicen "Presione cualquier tecla y continúe".
Este rótulo lo escribe automáticamente QBasic para
indicarnos que nuestro programa ha terminado y que cuando pulsemos cualquier
tecla volveremos al editor de código.
Pulsa cualquier tecla y ya ves otra vez la pantalla azul del
editor con las instrucciones del programa.
Para no tener que hartarnos otro día de escribir nuestro
pedazo de programa vamos a grabarlo en el sistema de archivos de nuestro
ordenador.
Abrimos el menú "Archivo" y seleccionamos
"Guardar". Aparece un cuadro de diálogo donde se nos pide el nombre
del archivo. El manejo del cuadro de diálogo es muy sencillo, pero hay que
tener en cuenta que como QBasic funciona en MS-DOS
los nombres de los archivos no pueden tener más de 8 caracteres ni pueden
incluir espacios en blanco. Tampoco es conveniente usar caracteres especiales
ni letras acentuadas ni ñ.
Los programas que hagamos en QBasic
se guardan en un único fichero de texto ASCII con extensión ".BAS"
que contiene el código fuente del programa, es decir, las instrucciones en
lenguaje Basic que hemos escrito para que el programa funcione.
Ahora vamos a ver
recordar el Código de nuestro programa.
CLS
PRINT "Hola Mundo"
Vemos que hay dos instrucciones: CLS borra la pantalla
(Igual que en MS-DOS) y PRINT "Hola Mundo" escribe en la pantalla
"Hola Mundo". Las dos instrucciones se han ejecutado una detrás de
otra, por eso podemos decir que un programa es un listado de instrucciones que
se ejecutan de forma secuencial una detrás de otra desde la primera hasta la
última.
Al escribir el programa habrás observado que seguramente
escribiste cls y al pasar de línea se puso en
mayúsculas como CLS. Y después con print pasó lo
mismo, pero "Hola Mundo" se ha quedado como lo escribiste. Esto es
porque CLS y PRINT son instrucciones del lenguaje Basic que se ponen en
mayúsculas automáticamente para dar mayor legibilidad al programa. "Hola
Mundo" va entre comillas porque es un Literal o una expresión de cadena y
se va a quedar siempre como tú lo has escrito.
Veamos en un momento como sería un programa en lenguaje
PASCAL que haga lo mismo que el nuestro:
Program Hola;
uses crt;
begin
clrscr;
writeln("Hola Mundo");
end.
Y lo mismo en lenguaje C:
#include
< stdio.h >
int
main(void)
{
clrscr();
cprintf("Hola Mundo");
return(0);
}
Podemos ver que en los dos están las instrucciones para
borrar la pantalla (clrscr) y la de escribir (writeln en PASCAL y cprintf en
C), pero ¿Por que llevan punto y coma al final? y ¿Qué son esos símbolos y esas
otras palabras tan raras?...
En otros lenguajes de programación hace falta escribir un
"esqueleto básico" donde montar las instrucciones, en QBasic no. Nos limitamos a escribir lo que queremos que
haga el programa y ya está.
Estas estructuras básicas son necesarias en los otros
lenguajes más avanzados, pero en QBasic como sólo
vamos a aprender así lo tenemos más fácil sin tener que escribir cosas que
todavía no entendemos.
Para escrivir un mensaje dentro de
la programacion el cual no se vera en la pantalla
para el usuario final
' ESTE ES UN
PROGRAMA HOLA MUNDO
' Escribe en
la pantalla "Hola Mundo"
El Apostrofe permite Hacer esta Accion
INTRODUCCIÓN A LAS VARIABLES
Nuestro programa anterior funciona muy bien, pero siempre
que lo ejecutemos va a suceder lo mismo, borrará la pantalla y escribirá un
rótulo que diga "Hola Mundo". Vamos a escribir un programa un poco
más complicado que nos pregunte nuestro nombre y nos salude. El resultado (lo
que se ve en pantalla al ejecutarlo) podría ser el siguiente:
¿Cómo te llamas? juanma
Hola juanma
El programa borrará la pantalla (Esto lo vamos a hacer
siempre para no confundirlo con lo anterior que pueda haber), nos preguntará
por nuestro nombre, nos dejará escribirlo con el teclado y cuando lo hagamos lo
guardará en "algún sitio", después escribirá "Hola "
seguido de nuestro nombre que lo habrá sacado del "sitio" donde lo
guardó antes.
Vamos a ver como será el código:
CLS
INPUT "¿Cómo te llamas? ", nombre$
PRINT "hola "; nombre$
Ahora tenemos una instrucción nueva, INPUT, que lleva dos
parámetros separados por una coma. Esta instrucción lo que hace es dejar al
usuario del programa que escriba algo con el teclado y cuando pulse la tecla Enter lo guarda en memoria.
La primera parte "¿Cómo te llamas?" la escribe en
pantalla tal como está para que el usuario sepa lo que se le pregunta.
La segunda parte es una Variable, es decir el nombre que le
hemos puesta a un "trozo" de la memoria del ordenador dónde vamos a
guardar lo que ha escrito el usuario y que le hemos llamado nombre$
para después poder localizarlo.
La siguiente instrucción, PRINT, es la misma que en el
anterior programa. Lo que hace es escribir lo que lleva detrás. En esta ocasión
va a escribir dos cosas, primero "Hola " con su espacio detrás tal
como aparece dentro de las comillas, y a continuación todo seguido escribirá el
valor que haya guardado en la variable nombre$. No
escribirá Hola nombre$ porque nombre$
no está entre comillas.
Esto de las variables es una de las cosas más importantes de los lenguajes de programación. Los programas van a manejar datos que estarán grabados en la memoria del ordenador. Si no existieran las variables tendríamos que saber en que posición exacta los guardamos y después para recuperarlos habría que escribir los números de las direcciones de memoria y saber exactamente cuanto largo son los datos. Esto es muy complicado (Esto es lo que se hace en los Lenguajes Ensambladores), para hacerlo aquí más sencillo usaremos los nombres de variables y QBasic se encargará de ver en que lugar físico de la memoria mete la información y después de saber recuperarla cuando se la pidamos.
Veamos ahora los
tipos de datos que hay en QBasic.
Nombre |
Sufijo |
Descripción |
Mínimo
y máximo |
STRING |
$ |
Texto con cualquier carácter |
0 a 32767 caracteres |
INTEGER |
% |
Números enteros |
-32768 a 32767 |
LONG |
& |
Números enteros más grandes |
2.147.483.647 a -2.147.483.648 |
SINGLE |
! |
Números con decimales |
2,8x1045 a -2,8x1045 |
DOUBLE |
# |
Números con más decimales |
4,9x10324 a -4,9x10324 |
En QBasic
las variables van a ser de uno de estos cinco tipos.
Si queremos
almacenar palabras, nombres, fechas, horas, códigos postales, números de
teléfono, DNIs, matrículas, etc. tendremos que usar
una variable de tipo Cadena (STRING) cuyo nombre llevará al final el carácter
$.
Para
guardar números tendremos que usar alguno de los otros cuatro tipos de
variables.
Si nuestros
números no van a llevar decimales usaremos una variable de tipo entero
(INTEGER) que ocupa poca memoria (2 bytes) y además
el ordenador trabaja con ellas muy rápido.
Si los
números enteros van a llegar a ser mayores de 32.767 tendremos que utilizar una
variable de tipo Entero largo (LONG) en la que
"caben" hasta números mayores que dos mil millones.
Si vamos a
usar números reales (que pueden llevar decimales) tendremos que usar variables
de precisión sencilla (SINGLE).
Para algún
cálculo que necesite obtener resultados con muchos decimales usaremos las
variables de doble precisión (DOUBLE) que son más lentas de manejar y ocupan
más memoria que las anteriores.
Si
intentamos guardar en una variable un valor más grande (o más pequeño si es
negativo) de lo que permite su tipo de datos, se producirá un "Error de
Tiempo de Ejecución" y el programa se parará.