Curso Introducción al Quick Basic

Introducción

El Quick Basic es un lenguaje que en la actualidad es poco usado y ha sido superado ampliamente por otros lenguajes.
Pero la virtud que tiene es que es facil de usar y los programas complidados (o sea generados por QB) se puden usar en maquinas con configuraciones muy bajas, desde una 286 con monitor hercules a cualquier computadora con D.O.S.
Este curso puede servir para cualquier persona sin ningun conocimiento de lenguajes y que desea aventurarse en el mundo de la programación. Por lo general todos los lengujes trabajan de la misma manera, es decir, hay muchas sentencias (como variables, bucles, IF, etc) que se usan hasta en lenguajes mucho mas complicados como C o Java.
Otra de las ventajas que tiene es que se puede ir probando el funcionamiento del programa a medida que se lo está creando, cosa que no mucho lengujes de programación para DOS pueden hacer. Además no nos permite escribir uba linea de programación incorrecta, ya que va controlando linea a linea la sintaxis y la estructura de las mismas.
Una punto en contra es el manejo de bases de datos, ya que no puede manejar bases de datos muy grandes, como Dbase por ejemplo.
El lenguaje Quick Basic (Rapido Basico) empezó a utilizarse bajo el nombre de GW-BASIC aproximadamente en 1983.
En las lineas siguientes se tratará de explicar los puntos clave para hacer un programa en Quick Basic.
Todos los temas serán explicados con ejemplos prácticos.
Todos los ejemplos que se dan a continuación funcionan en cualquier lenguaje Quick Basic (QB) o Qbasic (Qbasic), pero NO funcionan en Basic o GW-Basic, ya que estos últimos necesitan números de linea.
Puede cargar estos ejemplos en el lenguaje y presionar SHIFT + F5 para probar su funcionamiento.
Los archivos se graban con extención “.BAS”

Primeros pasos

Como en todo lenguaje de programación el primer paso es generar un pequeño programa que muestre el mensaje “Hola Mundo”
El siguiente sería el código para generar el programa.

Cls
Print “Hola Mundo”
End
(Shift + F5 para ejecutar el programa)

Cls: Borra la pantalla
Print: Muestra en la pantalla lo que está escrito entre comillas.
End: Finaliza la ejecución del programa.

Este es un ejemplo muy basico pero sirve para ir teniendo una idea de cómo se programa en Quick Basic.

Para retocar un poco el programa podríamos ingresar una linea entre cls y print con lo siguiente

Color 4,0
(Shift + F5 para ejecutar el programa, de ahora en adelante recuerde que para probar cada cambio que realice sobre el código debe presionar Shift + F5)

Esta linea indica que cambie el color del texto a rojo sobre fondo negro. (color 10,0 amarillo, 0,7 Letras negras sobre fondo blanco, etc).

Para arreglar un poco mas nuestro primer proyecto podríamos agregar entre Color y Print lo siguiente:

Locate 1,37

Esta linea va a situar el texto en la columna 1 de la pantalla (de un total de 23) y en la fila 37 (de un total de 80).
Si quisiéramos centrar el texto deberíamos escribir:

Locate 12,37

En definitiva nuentro primer programa debería quedar de la siguiente manera:

Cls
Color 4,0
Locate 12,37
Print “Hola Mundo”
End

En QB se puede separar cada linea por los dos puntos “:”.
Entonces nuentro programa podría quedar de la siguiente forma:

Cls
Color 4,0: locate 12,37: Print “Hola Mundo”
End

Algo un poco mas complicado

Pasemos a realizar un programa un poco mas complicado.
El siguiente ejemplo pide que el usuario ingrese Nombre, Apellido y Dirección.

Cls
Input “Ingrese el Nombre: ”, A$
Input “Ingrese el Apellido: ”, B$
Input “Ingrese su dirección: ”, C$
End

Como podrá ver en este emjemplo aparecen dos cosas nuevas:
Input: Es un comando que se utiliza para pedir al usuario que ingrese un dato y siempre va a compañado de una variable donde se guardará el dato. Las variables pueden tener cualquier nombre y deben llevar el signo $ la final.Otras posibles formas de usa el Input podrían ser:

Input A$ (pide que se ingrese un valor que se guardará en A$, pero no muestra ningun mensaje.
Input “Nombre” ; A$ (parece similar al anterior, pero difiere de que en este ejemplo se usa un punto y coma “;” en vez de una coma “,”. El resultado es el mismo pero si se usa “;” aparece, además del texto ingresado por el programador, un signo de interrogación “?”).

A continuación veremos un ejemplo práctico para que el lector se auto-evalue. Por favor lea cada linea de codigo y trate de interpretarla.

Cls
Color 0,7
Locate 1, 37: Print “Empresa S.R.L.”
Color 15,0
Locate 2, 32: Print “ Datos de los empleados”
Color 7,0
Input “Ingrese el codigo del empleado: ”, COD$
Input “Ingrese el nombre del empleado: ”, NOM$
Input “Ingrese el Apellido del empleado: ”, APE$
Input “Ingrese el puesto: “, PUE$
Color 15,0
Locate 8,1: print “Gracias por ingresar sus datos”
End

Repaso

Hasta el momento hemos visto:
Cls Borra la pantalla
Color Establece el color del texto
Locate Localiza en que columna y fila se debe situar el texto
Print Imprime en la pantalla
Input Pide al usuario que ingrese un valor
A$ variable alfanumérica (Textos y numeros)

Veamos un poco mas sobre variables:

Las variables son letras o palabras que guardan un valor ingresado por el usuario o por el programador.
Existen variables alfanuméricas y numéricas

A$ Variable alfanumérica (texto y numeros)
A variable numérica (unicamente guarda numeros)

Es aconsejable definir las variables al comienzo del programa aunque no es fundamental como en otros lenguajes.,
Ejemplo:

A$ = “” Establece la variable A$ en cero
A$ = “Casa” Establece la variable A$ con el valor “Casa”
A = 0 Establece la variable A al valor 0
A = 5 Asigna el valor 5 a la variable A

Una variable no puede llamarse por ejemplo:
EL OSO$
No sirve porque tiene un espacio, pero si podría llamarse ELOSO$

Siempre que use variables trate de usar nombres sencillos y nemotécnicos, es decir, que cuando vea la variable le de una idea de que es lo que guarda.
Por ejemplo para una variable que guarda el código de un producto utilice la variable COD$ y no, por ejemplo, ZXW$, porque una vez que el programa tenga muchas lineas, con seguidad Ud. se preguntará. ¿ Qué es lo que guarda la variable ZXW$ ? y perderá mucho tiempo recorriendo todo el programa buscando que es lo que guarda esa variable.
Las varibles numéricas, contadores y calculos.

Una varible numérica puede contener un número y tambien puede guardar resultados de calculos y contadores.
Ej.

A = 10 * 4
La variable A en este momento tiene valor 40

A = A + 1
La varible A va aumentando su valor a intervalos. En la primer vez que el programe pase por esta parte su valor será 1, en la segunda vuelta 2, en la tercera 3, etc.

Un ejemplo para entender mejor el funcionamiento de las variables numéricas.

Cls Borra la pantalla
Input “Primer número”, A Ingresa A
Input “Segundo número”, B Ingresa B
C = A + B Suma los valores ingresados
Print “La suma es ”; C Muentra el resultados
End Termina

En el ejemplo anterior vemos como mostrar el resultado de una calculo o imprimir una variables. Hasta ahora usábamos el Print como un comando para imprimir en la pantalla un texto pero ahora le agrgamos al final “; A” (punto y coma A) de esta manera al final del texto aparece el impreso el valor de A.
Si se desea imprimir el valor de una varibles pero no imprimir ningun texto se debe escribir: Print A ( sin el ; )

Un ejmplo de un programa para analizar:

Cls
Input “Ingrese el primer numero”, A
Input “Ingrese el segundo numero”, B
C = A + B
D = A – B
E = A * B
F = A / B
Print “La suma de los numeros es “, C
Print “La resta de los numeros es ”, D
Print “La multiplicacion de los numeros es ”, E
Print “La división de los numeros es ”, F
End

(recuerde que podríamos haber escrito:
C = A + B: D = A – B: E = A * B : F = A / B)

Bucles o Ciclos

Como ya hemos visto existen variables numéricas (A) y variables alfanuméricas (A$).
A partir de este momento empezaremos a tratar temas un poco mas complejos y se asume que el lector conoce el funcionamiento de las varibles.
Los Bucles son muy útiles y prácticamente indispensables en cualquier programa.
Consta de dos partes fundamentalmente:

FOR T=1 TO 10 STEP 1
Comienza siempre con la palabra FOR
Se establecer una variable (es este caso T) que va a guardar en que número se encuentra el contador.
TO 10, hasta donde debe llegar el FOR
STEP 1, es el incremento, en este caso el bucle va a ir aumentando de 1 en 1. En casos como estos no es necesario incluir el STEP, es decir, solamente debemos escribir :
For T=1 TO 10
Pero si el incremento es distinto a 1 debemos aclararlo
For M=1 to 100 Step 2
For G=5 to 50 Step 5
For X=100 to 20 step -2
NEXT T, Vuelve al bucle para el numero siguiente.

Un ejemplo para que se entienda lo que es un bucle:

Cls Borra la pantalla
For T=1 to 50 Comienza el for desde 1 hasta 50
Print “Hola mundo” Imprime en la pantalla “Hola mundo”
Next t Siguiente
End Termina

Este es un programita muy sencillo que lo unico que hace es imprimir 50 veces la frase “Hola mundo”.

Un ejemplo mas complejo para analizar: (no tan difícil)

Cls
For T=1 to 10
Color 0, T
Print “Probando un Bucle”
Color T, 0
Print “En este momento voy por el numero: ”; T
Next t

If Then... Else...

Ejecuta una instrucción si se cunple un criterio

IF A=5 THEN 60 ELSE 70
SI A=5 IR A LINEA 60 SINO ES IGUAL IR A LINEA 70

Aquí además se puede ver algo que hasta el momento no habiamos usado con son los números de linea.
Un ejemplo para que se entienda mejor.

Cls Borra la pantalla
Input “Ingrese el número 10”, A Pide que ingrese el nro. 10
If A=10 then 50 else 70 Pregunta si el nro. Ingresado es igual a 10
50 print “Correcto !” Muestra el mensaje “correcto!”
End Termina la ejecución
70 print “Incorrecto !” Muestra el mensaje “Incorrecto”
End Termina la ejecución

Un ejemplo.

Este ejemplo es un juego donde un usuario ingresa un número y otro usuario debe adivinar cual número fue ingresado.
La única pista que tiene es que la computadora le va diciendo si es mayor o menor al número ingresado. Al final muestra el mensaje “Felicitaciones” y el total de intentos. Aquí también aparece un comando nuevo que es el GOTO, que significa IR A. Se utiliza para dirección el flujo del programa hacia otra parte del mismo

CLS
A=0
INPUT “INGRESE EL NÚMERO A ADIVINAR”, A
10 CLS
INPUT “PRUEBE SUERTE”, B
C=C+1
IF A=B THEN 20
IF A IF A>B THEN 40
20 PRINT “FELICITACIONES”
PRINT “CANTIDAD DE INTENTOS”; C
END
30 PRINT “EL NUMERO A ADIVINAR ES MENOR”
GOTO 10
40 PRINT “EL NUMERO A ADIVINAR ES MAYOR”
GOTO 10