Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programacin: QBASIC
1. QBASIC
Qbasic es una versin moderna del lenguaje BASIC. Se trata de un lenguaje de alto nivel. En un lenguaje de alto nivel las instrucciones tienen un formato muy parecido al lenguaje humano. Esto hace que se puedan leer y escribir muy fcilmente. Sin embargo esas instrucciones no son entendibles directamente por el ordenador. Hace falta un compilador o un intrprete que traduzca esas instrucciones a un lenguaje que sea comprensible por el ordenador, ese lenguaje se llama cdigo mquina. La diferencia entre un compilador y un intrprete es: Un compilador: Traduce el programa completo, crea uno nuevo entendible por el ordenador, lo que se llama programa ejecutable, a partir de ese instante el ordenador trabaja exclusivamente con el ejecutable. Un intrprete: Traduce y ejecuta cada lnea del programa siguiendo la secuencia del mismo y lo hace cada vez que se tiene que ejecutar dicha lnea, esto hace que sea mucho ms lento que un compilador.
2.
2.1.
Operaciones bsicas
Abrir el programa
1. Haz doble clic sobre el icono Microsoft QBASIC extended que se encuentra situado en tu escritorio. 2. Pulsa cualquier tecla escape para que desaparezca la ventana de presentacin. 3. Ya puedes empezar a trabajar con el programa. El nombre por defecto de tu nuevo programa es UNTITLED 4. Para cambiar alguna de las propiedades de la pantalla (tamao de fuente, color, tamao pantalla) haz clic con el botn derecho del ratn en la barra de ttulo del programa y selecciona la orden propiedades.
2.2.
Una vez que hemos abierto el programa, nos encontraremos con una ventana que en esencia funciona como un sencillo procesador de textos. En l iremos escribiendo las ordenes que deseamos que ejecute el programa. Las rdenes estn estructuradas en lneas de cdigo. Para finalizar una lnea de cdigo basta con pulsar la tecla de retorno de carro. Hay que tener claro que al ejecutar el programa se irn ejecutando de forma secuencial cada una de las lneas de cdigo en el mismo orden en que aparecen escritas.
-1-
2.3.
Ejecutar el programa
Para ejecutar el programa podemos actuar de dos formas: 1. En el men superior escogemos la opcin RUN y dentro de ella seleccionamos la orden START. 2. Tecleamos el mtodo abreviado (SHIFT + F5). Una vez que hay terminado la ejecucin del programa el ordenador nos dar el siguiente mensaje Press any key to continue, pulsamos cualquier tecla y volveremos a la pantalla de edicin.
2.4.
Menu File
De forma similar a cualquier programa Windows el men File (Archivo), permite crear un documento nuevo, abrir uno ya existente o guardar el trabajo realizado.
3.
Vamos a crear nuestro primer programa en QBASIC. Para ello vamos a utilizar tres tipos de instrucciones. Estas instrucciones incluyen usan palabras claves, lo que a partir de ahora llamaremos comandos. Independientemente de que los escribamos con maysculas o minsculas, cuando QBASIC detecte que hemos escrito una palabra asociada a un comando, automticamente lo escribir con letras maysculas. Es por lo tanto una buena idea escribir el programa con minsculas y dejar que el programa haga el cambio, con ello obtendremos un cdigo fcil de leer en el que se podrn distinguir fcilmente los comandos del resto del cdigo.
3.1.
REM
Sirve para introducir comentarios en el programa. Al ejecutar el programa, QBASIC no tiene en cuenta las lneas que comienzan con el comando REM. Esto no quiere decir que esta orden no tenga utilidad, una primera forma de detectar la calidad de un programa es comprobar que incluye rdenes REM. Los programadores utilizan estas lneas para incluir comentarios que explican el funcionamiento de cada una de las partes del programa. El cdigo de un programa, aunque ste sea muy sencillo, es algo difcil de entender incluso por la persona que lo ha escrito, los comentarios ayudarn a comprenderlo. Sintaxis: REM comentario La orden REM puede sustituirse por comillas simples ()
3.2.
CLS
Borra la informacin que aparece en la pantalla. Conviene utilizar este comando al comienzo del programa para eliminar la informacin de programas anteriores. Sintaxis: CLS
3.3.
Se utiliza para escribir datos en la pantalla. Hay que tener en cuenta: -2-
Gua del alumno Si queremos mostrar un texto debemos escribirlo entre comillas. Una instruccin PRINT puede incluir varios datos, estos han de separarse mediante el carcter punto y coma (;) lo cual deja un espacio en blanco entre los distintos grupos de datos. Tambin puede emplearse el carcter coma (,) para separar los grupos de datos, pero en ese caso se introduce una separacin equivalente a diez espacios en blanco. La instruccin PRINT puede sustituirse por el signo de interrogacin (?). PRINT datos; datos.. La instruccin PRINT admite dos funciones que permiten modificar como se van a presentar los datos por pantalla, son las funciones TAB y LOCATE
Sintaxis:
TAB
Permite visualizar los datos en una determinada posicin de la lnea. Sintaxis: PRINT TAB(nmero) datos El nmero entre parntesis indica el nmero de columna en el que han de aparecer los datos.
LOCATE
Permite visualizar los datos en una determinada posicin de la pantalla. Ha de estar en una lnea independiente de la orden PRINT Sintaxis: LOCATE nmero1, nmero2 El primer nmero indica el nmero de fila en el que han de aparecer los datos, el segundo indica el nmero de columna.
4.
4.1.
Constantes y variables
Constante:
Una constante es un dato cuyo valor no cambia durante la ejecucin del programa. Puede ser: Numrica: Una cifra, un valor numrico. Alfanumrica: Cadena de caracteres encerrados entre comillas.
4.2.
Variable:
Una variable es una porcin de la memoria del ordenador que reservamos para almacenar un valor. Para identificar esa zona de la memoria el cdigo del programa le asigna un nombre. En cualquier punto del programa nos podemos referir a dicho valor mediante el nombre que le hemos asignado a esa porcin de memoria. Al igual que las constantes las variables pueden ser numricas y alfanumricas.
-3-
Gua del alumno La forma de asignar un valor a una variable es mediante lneas del tipo nombre variable = expresin, es ms fcil de entender con unos ejemplos: A=5 A$ = Hola CON = A + 3 C=A*N Asigna a la variable A el valor 5 Asigna a la variable B la expresin Hola Asigna a la variable CON el valor que resulte de sumar 3 al valor de la variable A Asigna a la variable C el valor que resulte de multiplicar el valor de la variable A por el valor de la variable N Asigna a la variable A$ una cadena resultado de yuxtaponer las cadenas hola y amigo
A$ = Hola + amigo
El nombre asignado a la variable ha de cumplir una serie de condiciones: El primer carcter ha de ser una letra. El nmero mximo de caracteres en un nombre es de 40. El ltimo carcter se suele emplear para identificar el tipo de carcter.
Tipo Integer (entero) Long (entero largo) Single (precisin sencilla) Doble (precisin doble) String (cadena de caracteres) Identificador % & # $
Para declarar una variable de un tipo concreto, basta con poner el identificador al final del nombre. Si no se declara el tipo se asume por defecto el tipo single. No se puede utilizar como nombres palabras reservadas como PRINT, letras acentuadas, , guin bajo, espacios en blanco Es aconsejable utilizar nombres que describan el contenido que vamos a almacenar en la variable.
5.
-
A la hora de trabajar con nmeros hay que respetar una serie de normas:
OJO: Es posible realizar la operacin suma con variables alfanumricas. El resultado es una cadena de texto unin de las cadenas sumadas.
6.
Instruccin INPUT
Utilizando esta instruccin, el programa puede solicitar al usuario que introduzca datos a travs del teclado. Estos datos quedan almacenados en la variable designada en la orden INPUT. Sintaxis: INPUTtexto explicativo opcional; nombre de la variable Una misma orden INPUT puede solicitar ms de un dato. Para ello los nombres de las variables se han de colocar en la orden de forma sucesiva y separados por comas. Si utilizamos el smbolo punto y coma (;) para separar el texto explicativo y el nombre de la variable, cuando se ejecuta el programa tras el texto explicativo aparece un signo de interrogacin. Si no queremos que aparezca ningn signo colocaremos una coma (,) en lugar de un punto y coma (;).
7.
Instruccin GOTO
Este comando hace que la ejecucin de un programa salte a una lnea determinada y que contine desde all la ejecucin del programa. Es preciso indicar al programa la lnea a la que debe saltar. Para ello se utiliza una etiqueta formada por un nombre seguido de dos puntos. Sintaxis: GOTO etiqueta PRINT, INPUT Etiqueta :
-5-
8.
8.1.
QBASIC puede trabajar con diferentes modos de pantalla. El modo de pantalla utilizado determina la resolucin de la imagen y el nmero de colores que podemos utilizar. Mediante la orden SCREEN podemos seleccionar el modo de pantalla: Sintaxis: SCREEN nmero En la ayuda del programa puedes encontrar las caractersticas de cada tipo de pantalla.
8.2.
Sintaxis:
COLOR
Permite dar color al texto que aparece en la pantalla o el fondo de la misma: COLOR nmero,nmero El primer nmero indica el color de la fuente y el segundo el color del fondo de pantalla.
Cdigo color 0 1 2 3 4 5 6 7 Color presentado Negro Azul Verde Azul verdoso Rojo Magenta Marrn Blanco Cdigo color 8 9 10 11 12 13 14 15 Color presentado Gris Azul claro Verde claro Azul verdoso claro Rojo claro Magenta claro Amarillo Blanco (alta intensidad)
-6-
9.
Muchas veces se nos presentan situaciones en las que tenemos que evaluar una condicin o situacin. Si la condicin es verdadera, ejecutamos una o ms instrucciones. Si no es verdadera, ejecutamos otras instrucciones diferentes. Sintaxis: IF condicin1 THEN Bloque de instrucciones 1 ELSEIF condicin2 THEN Bloque de instrucciones 2 ELSE Bloque de instrucciones 3 END IF La traduccin de ese bloque de instrucciones sera: SI se cumple la condicin1 ENTONCES haz el Bloque de instrucciones 1 SINO se cumple la condicin 1 pero SI se cumple la condicin2 ENTONCES haz el Bloque de instrucciones 2 SINO se cumple nada de lo anterior haz el Bloque de instrucciones 3 FIN de la orden IF En una orden IF: Un bloque IF ha de terminar siempre con una lnea END IF. En un bloque IF puede haber varios ELSEIF-THEN. Las condiciones se evalan utilizando operadores relacionales.
9.1.
Operadores relacionales
IF R=3 THEN
Supn que en un bloque IF encuentras una lnea como la siguiente: Esa expresin no asocia el valor 3 a la variable R. Est realizando lo que llamaremos una operacin relacional. El programa al llegar a ese punto compara el valor de la variable R con el tres. Si la relacin es cierta (por que R si que vale 3) el programa genera un valor TRUE (cierto) y si no lo es (por que R no vale ) el programa genera un valor FALSE (falso).
-7-
Gua del alumno Los operadores relacionales ms utilizados en QBASIC son: Operador
= <> > < >= <=
Significado
Igual Distinto Mayor que Menor que Mayor o igual que Menor o igual que
Sintxis
Condicin1 AND condicin2 Condicin1 OR condicin2 NOT condicin
Significado
TRUE slo cuando las dos condiciones son TRUE TRUE cuando al menos una de las dos condiciones es TRUE TRUE si la condicin no se cumple
-8-
Gua del alumno La traduccin de ese bloque de instrucciones sera: Inicio del SELECT CASE, introduce el valor de la variable SI estamos en el CASO de que la variable tiene el valor1 ejecuta el siguiente bloque de instrucciones Bloque de instrucciones 1 SI estamos en el CASO de que la variable tiene el valor2 ejecuta el siguiente bloque de instrucciones Bloque de instrucciones 2 SI estamos en el CASO de que la variable tiene el valor3 ejecuta el siguiente bloque de instrucciones ......... SI NO estamos en ningn CASO ejecuta el siguiente bloque de instrucciones Bloque de instrucciones FIN del bloque SELECT
11.1.
Bucle WHILE-WEND
El bucle WHILE-WEND repite las instrucciones que aparecen entre las palabras reservadas WHILE (mientras) y WEND (seguir) hasta que se cumpla la condicin de salida. Sintaxis: WHILE condicin Bloque de instrucciones WEND Normalmente la condicin se evala por medio de una expresin con operadores relacionales. En ella se compara el valor de una variable con un valor lmite. El valor de la variable, a la que llamaremos contador, se recalcula en cada pasada que el programa hace por el bucle.
11.2.
Bucle FOR-NEXT
En ellos se utiliza una variable que acta como contador. Esta variable va incrementando su valor cada vez que se ejecuta el bucle. Las instrucciones que se encuentran dentro del bucle se ejecutan hasta que el contador llegue a su valor final. Sintaxis:
-9-
Gua del alumno FOR contador = valor inicial TO valor final Bloque de instrucciones NEXT contador El contador se incrementa por defecto en 1 unidad pero se puede utilizar la palabra reservada STEP para especificar un valor distinto (positivo o negativo). Si el valor que acompaa a STEP es negativo se producir una cuenta atrs.
12. Funciones
QBASIC nos ofrece una serie de funciones numricas y alfanumricas previamente programadas que nos permiten realizar con ms facilidad determinadas operaciones. Las funciones ms utilizadas son: - ABS( ) - INT( ) - SQR( ) Devuelve el valor absoluto de un nmero. Devuelve la parte entera de un nmero dado. Devuelve la raz cuadrada de una expresin numrico.
- 10 -