Está en la página 1de 8

INSTRUCCIONES BASICAS DE QBASIC

QBasic es un lenguaje de alto nivel, lo que significa que las instrucciones tienen un formato similar al lenguaje
humano. Esto hace que se puedan leer y escribir fcilmente. Sin embargo esas instrucciones no son entendibles
directamente por la computadora, se necesita un compilador o intrprete que traduzca esas instrucciones a
un lenguaje que sea comprensible por la computadora, ese lenguaje se llama cdigo.
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 la computadora 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. QBASIC utiliza un
intrprete.
ABRIR EL PROGRAMA
Para abrir el programa debe darse doble clic sobre el icono qb64.exe que se encuentra en la carpeta que se
genera al descomprimir la descarga. Esta carpeta debe estar en el escritorio.
Ya se puede empezar a trabajar con el programa. El nombre por defecto del nuevo programa es UNTITLED

INTRODUCIR EL CDIGO DEL PROGRAMA


Una vez que se abre el programa, aparece una ventana que funciona como un sencillo procesador de textos. En
ella se van escribiendo las rdenes que se desea que ejecute el programa.
Las rdenes estn estructuradas en lneas de cdigo. Para finalizar una lnea de cdigo basta con pulsar la tecla
Enter.
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.
EJECUTAR EL PROGRAMA
Para ejecutar el programa se pueden seguir dos procedimientos:
1. En el men superior seleccionar la opcin RUN y dentro de ella seleccionamos la orden START.
2. Tecleamos el mtodo abreviado (SHIFT + F5).
Una vez que haya terminado la ejecucin del programa aparecer el mensaje Press any key to continue, se
pulsa cualquier tecla y regresa a la pantalla de edicin.
MEN 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.

INSTRUCCIONES BSICAS. REM, CLS Y PRINT


Al crear un programa en QBASIC se utilizan diferentes tipos de instrucciones. Estas instrucciones incluyen
palabras clave llamadas comandos. No importa si se escriben con maysculas o minsculas, cuando QBASIC
detecta que se ha escrito una palabra asociada a un comando, automticamente lo escribir con letras
maysculas. Es recomendable escribir el programa con minsculas y dejar que el programa haga el cambio, con
ello se obtiene un cdigo fcil de leer en el que se puede distinguir fcilmente los comandos del resto del
cdigo.
REM
Sirve para introducir comentarios en el programa. Al ejecutar el programa, QBASIC no toma en cuenta las
lneas que comienzan con el comando REM. Al programar, estas lneas permiten incluir comentarios que
explican el funcionamiento de cada una de las partes del programa.
Sintaxis:
REM comentario
La orden REM puede sustituirse por comillas simples ()
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
PRINT
Se utiliza para escribir datos en la pantalla. Hay que tener en cuenta:
Si se quiere mostrar un texto debe escribirse entre comillas.
Una instruccin PRINT puede incluir varios datos, estos se separan mediante el carcter punto y coma
(;) lo cual deja un espacio en blanco entre los distintos grupos de datos.
La instruccin PRINT puede sustituirse por el signo de interrogacin (?).
Sintaxis:
PRINT datos; datos..
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.
VARIABLE:
Una variable es una porcin de la memoria de la computadora que reservada para almacenar un valor. Para
identificar esa zona de la memoria el cdigo del programa le asigna un nombre. En cualquier punto del
programa se puede referir a dicho valor mediante el nombre que se le ha asignado a esa porcin de memoria.
Al igual que las constantes las variables pueden ser numricas y alfanumricas.
La forma de asignar un valor a una variable es mediante lneas del tipo nombre variable = expresin, por
ejemplo:
A = 5 Asigna a la variable A el valor 5
A$ = Hola Asigna a la variable B la expresin Hola
El nombre asignado a la variable debe 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 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 nombre palabras reservadas como PRINT, letras acentuadas, , guion bajo,
espacios en blanco
Es aconsejable utilizar nombres que describan el contenido de la variable.

OPERACIONES MATEMTICAS BSICAS


Al trabajar con nmeros se debe respetar una serie de normas:
La separacin decimal se realiza mediante el carcter punto (.).
Los nmeros negativos deben ir precedidos por el signo menos (-).
Los nmeros de ms de 16 cifras aparecen en notacin decimal (6,023D+23).
Cada operacin tiene un smbolo asociado y el orden de prioridad de las operaciones es el siguiente (si
dos operaciones tienen el mismo grado de prioridad se realizan de izquierda a derecha, el orden de
prioridad se puede modificar utilizando parntesis).

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:
INPUT texto explicativo opcional; nombre de la variable
Si se usa 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 se quiere que aparezca
ningn signo se coloca una coma (,) en lugar de un punto y coma (;).

CONDICIONALES
Muchas veces se presentan situaciones en las que se debe evaluar una condicin o situacin. Si la condicin es
verdadera, se ejecuta una o ms instrucciones. Si no es verdadera, se ejecutan otras instrucciones diferentes.
Sintaxis:
IF condicin1 THEN
Secuencia de clculo o instrucciones 1
ELSE IF condicin2 THEN
Secuencia de clculo o instrucciones 2
ELSE
Bloque de instrucciones 3
END IF
La traduccin de ese bloque de instrucciones sera:
SI se cumple la condicin1 ENTONCES haz la Secuencia de clculo o instrucciones 1
SINO se cumple la condicin 1 pero SI se cumple la condicin2 ENTONCES haz el
Secuencia de clculo o 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 ELSE IF-THEN.
Las condiciones se evalan utilizando operadores relacionales.
CICLOS FOR-NEXT
En ellos se utiliza una variable que acta como contador. Esta variable va incrementando su valor cada vez que
se ejecuta el ciclo. Las instrucciones que se encuentran dentro del ciclo se ejecutan hasta que el contador
llegue a su valor final.
Sintaxis:
FOR contador = valor inicial TO valor final
Bloque de instrucciones
NEXT contador
CICLOS DO-LOOP UNTIL
Este ciclo permite realizar una serie de clculos sin que se conozca el nmero de iteraciones, ni se debe
satisfacer una condicin inicial.
Sintaxis:
DOl
Bloque de instrucciones
LOOP UNTIL condicin lgica
CUERPO DEL PROGRAMA PRINCIPAL PARA RESOLVER UN SISTEMA DE 2 ECUACIONES NO LINEALES
DECLARE SUB LAMBDA1 (K1, l1, l2, CONV, l1p)
DECLARE SUB LAMBDA2 (K2, p, l1p, l2, CONV, l2p)
INPUT "valor inicial de lambda1"; L1INI
INPUT "valor inicial de lambda2"; L2INI
INPUT "k1"; K1
INPUT "k2"; K2

INPUT "PRESION (ATM)"; p


INPUT "CRITERIO DE CONVERGENCIA (%)"; CONV
l1 = L1INI
l2 = L2INI
CLS
DO
l1 = L1INI
l2 = L2INI
LAMBDA1 K1, l1, l2, CONV, l1p
LAMBDA2 K2, p, l1p, l2, CONV, l2p
EPR1 = ABS((l1p - L1INI) / l1p) * 100
EPR2 = ABS((l2p - L2INI) / l2p) * 100
EPRC = EPR1 + EPR2
L1INI = l1p
L2INI = l2p
PRINT "lambda1="; l1p
PRINT "lambda2="; l2p
LOOP UNTIL EPRC < CONV
PRINT "LAMBDA1 DE EQUILIBRIO= "; l1p
PRINT "LAMBDA2 DE EQUILIBRIO= "; l2p
l1 = lip
l2 = l2p
f1 = K1 * ((1 + 2 * l1) ^ 2 * (2) * (1 - 2 * l1) * (-2) + (.333 - 2 * l1) ^ 2 * (2) * (1 + 2 * l1) * (2)) - ((3 * (3 * l1 - l2) ^ 2
* (3) * (.333 + l1) + (3 * l1 - l2) ^ 3))
f2 = K2 * ((3 * l1 - l2) * (-1) + (.333 - l2) * (-1)) - 2 * l2

PRINT "La funcion f1 es igual a :"; f1


PRINT "La funcion f2 es igual a :"; f2
END
SUB LAMBDA1 (K1, l1, l2, CONV, l1p)
K1 = .01784
DO
f1 = K1 * ((1 + 2 * l1) ^ 2 * (2) * (1 - 2 * l1) * (-2) + (.333 - 2 * l1) ^ 2 * (2) * (1 + 2 * l1) * (2)) - ((3 * (3 * l1 - l2) ^ 2
* (3) * (.333 + l1) + (3 * l1 - l2) ^ 3))
D1 = K1 * ((-4) * (1 + 2 * l1) ^ 2 * (1 - 2 * l1) + (4) * (.333 - 2 * l1) ^ 2 * (1 + 2 * l1)) - ((9 + (3 * l1 - l2) ^ 2 * (.333 +
l1) + (3 * l1 - l2) ^ 3))
l1p = l1 - (f1 / D1)
EPR = ABS((l1p - l1) / l1p) * 100

l1 = l1p
LOOP UNTIL EPR < CONV
END SUB
SUB LAMBDA2 (K2, p, l1p, l2, CONV, l2p)
l1 = l1p
K2 = .00056
p=1
DO
f2 = K2 * ((3 * l1 - l2) * (-1) + (.333 - l2) * (-1)) - 2 * l2
D2 = -K2 * ((3 * l1 - l2) + (.333 - l2)) - 2 * l2
l2p = l2 - (f2 / D2)
EPR = ABS((l2p - l2) / l2p) * 100
l2 = l2p
LOOP UNTIL EPR < CONV
END SUB
DECLARACION DE SUBRUTINAS
En ellas se deben especificar los parmetros o variables de entrada y salida. Las subrutinas son pequeos
programas insertados en el programa principal. En el caso de ste programa se tienen dos subrutinas, para
definirlas se debe seleccionar en la barra de men la opcin Edit y elegir New Sub. Enseguida aparece un
cuadro de dialogo para asignar el nombre de la subrutina, en este caso sera LAMBDA1. Esta subrutina permite
resolver la ecuacin 1 del sistema de ecuaciones por el mtodo de Newton-Raphson modificado, en el primer
ciclo los valores de lambda1 y lambda2 corresponden a los asignados al inicio del programa, si la solucin
requiere ms de un ciclo, la segunda iteracin usar los valores calculados en el ciclo anterior.
Se deben escribir las variables asociadas a esa subrutina, en este caso seran la constante de equilibrio 1, (K1),
el valor inicial propuesto para lambda1, (l1), el valor asociado a lambda2 (l2), el criterio de convergencia y el
valor nuevo o calculado para lambda1, que corresponde a l1p.

SUB LAMDA1 (K1, l1, l2, CONV, l1p)


K1 = Aqu se escribe el valor de la constante de equilibrio 1 K1
DO (Inicio del ciclo)
f1 = Aqu se escribe la funcin correspondiente a la ecuacin 1
D1= Aqu se escribe la derivada
l1p = l1 - (f1 / D1) (Aplicacin de la ecuacin de recurrencia del mtodo de N-R)
EPR = ABS((l1p - l1) / l1p) * 100 (Criterio de convergencia)
l1 = l1p (Asignacin del nuevo valor calculado para el siguiente paso del ciclo)
LOOP UNTIL EPR < CONV (Fin del ciclo, hazlo hasta que el valor del error porcentual sea menor al
criterio de convergencia)
END SUB (Final de la subrutina)

La subrutina SUB LAMBDA2 realiza prcticamente lo mismo que la SUB LAMBDA1 pero para la ecuacin 2 y usa
los valores previamente calculados.

NOTA: Los valores y las funciones que aparecen en el cuerpo del programa principal NO corresponden a los del
problema resuelto en clase. Por favor sustityanlos.
Pueden escribir cada subrutina y el cuerpo principal del programa o bien seleccionar el texto, copiar y pegarlo
en la ventana de QBasic. Si lo hacen de ste modo respeta las dos subrutinas y el cuerpo principal.
Recuerden introducir los valores del problema de la clase.
Una vez que corren el programa, aparece una ventana como la siguiente

Deben introducir los valores iniciales propuestos para cada lambda, las constantes de equilibrio, la presin y el
criterio de convergencia, segundos despus aparecen los valores de ambas funciones y de las dos lambdas.
El archivo se debe guardar con la extensin .bas y el nombre puede tener hasta ocho caracteres.

También podría gustarte