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 fácilmente. Sin embargo esas instrucciones no son entendibles
directamente por la computadora, se necesita un compilador o intérprete que “traduzca” esas instrucciones a
un lenguaje que sea “comprensible” por la computadora, ese lenguaje se llama código.
La diferencia entre un compilador y un intérprete 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 intérprete: Traduce y ejecuta cada línea del programa siguiendo la secuencia del mismo y lo hace cada vez
que se tiene que ejecutar dicha línea, esto hace que sea mucho más lento que un compilador. QBASIC utiliza un
intérprete.

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 CÓDIGO 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 están estructuradas en líneas de código. Para finalizar una línea de código basta con pulsar la tecla
Enter.
Hay que tener claro que al ejecutar el programa se irán ejecutando de forma secuencial cada una de las líneas
de código 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 opción RUN y dentro de ella seleccionamos la orden START.
2. Tecleamos el método abreviado (SHIFT + F5).
Una vez que haya terminado la ejecución del programa aparecerá el mensaje “Press any key to continue”, se
pulsa cualquier tecla y regresa a la pantalla de edición.

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 BÁSICAS. 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 mayúsculas o minúsculas, cuando QBASIC
detecta que se ha escrito una palabra asociada a un comando, automáticamente lo escribirá con letras
mayúsculas. Es recomendable escribir el programa con minúsculas y dejar que el programa haga el cambio, con
ello se obtiene un código fácil de leer en el que se puede distinguir fácilmente los comandos del resto del
código.
REM
Sirve para introducir comentarios en el programa. Al ejecutar el programa, QBASIC no toma en cuenta las
líneas que comienzan con el comando REM. Al programar, estas líneas 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 información que aparece en la pantalla. Conviene utilizar este comando al comienzo del programa
para eliminar la información 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 instrucción PRINT puede incluir varios datos, estos se separan mediante el carácter punto y coma
(;) lo cual deja un espacio en blanco entre los distintos grupos de datos.
 La instrucción PRINT puede sustituirse por el signo de interrogación (?).
Sintaxis:
PRINT “datos”; “datos”…..

CONSTANTES Y VARIABLES

CONSTANTE:
Una constante es un dato cuyo valor no cambia durante la ejecución del programa.
Puede ser:
 Numérica: Una cifra, un valor numérico.
 Alfanumérica: Cadena de caracteres encerrados entre comillas.

VARIABLE:
Una variable es una porción de la memoria de la computadora que reservada para almacenar un valor. Para
identificar esa zona de la memoria el código 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 porción de memoria.
Al igual que las constantes las variables pueden ser numéricas y alfanuméricas.
La forma de asignar un valor a una variable es mediante líneas del tipo “nombre variable = expresión”, por
ejemplo:
A = 5 Asigna a la variable A el valor 5
A$ = “Hola” Asigna a la variable B la expresión “Hola”

El nombre asignado a la variable debe cumplir una serie de condiciones:


 El primer carácter ha de ser una letra.
 El número máximo de caracteres en un nombre es de 40.
 El último carácter se suele emplear para identificar el tipo de carácter.
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 MATEMÁTICAS BÁSICAS


Al trabajar con números se debe respetar una serie de normas:
 La separación decimal se realiza mediante el carácter punto (.).
 Los números negativos deben ir precedidos por el signo menos (-).
 Los números de más de 16 cifras aparecen en notación decimal (6,023D+23).
 Cada operación tiene un símbolo 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 paréntesis).

INSTRUCCIÓN INPUT
Utilizando esta instrucción, el programa puede solicitar al usuario que introduzca datos a través 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 símbolo 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 interrogación. Si no se quiere que aparezca
ningún 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 condición o situación. Si la condición es
verdadera, se ejecuta una o más instrucciones. Si no es verdadera, se ejecutan otras instrucciones diferentes.
Sintaxis:
IF condición1 THEN
Secuencia de cálculo o instrucciones 1
ELSE IF condición2 THEN
Secuencia de cálculo o instrucciones 2
ELSE
Bloque de instrucciones 3
END IF
La traducción de ese bloque de instrucciones sería:
SI se cumple la condición1 ENTONCES haz la Secuencia de cálculo o instrucciones 1
SINO se cumple la condición 1 pero SI se cumple la condición2 ENTONCES haz el
Secuencia de cálculo 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 línea END IF.
 En un bloque IF puede haber varios ELSE IF-THEN.
 Las condiciones se evalúan utilizando operadores relacionales.

CICLOS FOR-NEXT
En ellos se utiliza una variable que actúa 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 cálculos sin que se conozca el número de iteraciones, ni se debe
satisfacer una condición inicial.
Sintaxis:
DOl
Bloque de instrucciones
LOOP UNTIL condición lógica

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 parámetros o variables de entrada y salida. Las subrutinas son pequeños
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 opción Edit y elegir New Sub. Enseguida aparece un
cuadro de dialogo para asignar el nombre de la subrutina, en este caso sería LAMBDA1. Esta subrutina permite
resolver la ecuación 1 del sistema de ecuaciones por el método de Newton-Raphson modificado, en el primer
ciclo los valores de lambda1 y lambda2 corresponden a los asignados al inicio del programa, si la solución
requiere más de un ciclo, la segunda iteración usará los valores calculados en el ciclo anterior.
Se deben escribir las variables asociadas a esa subrutina, en este caso serían 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 función correspondiente a la ecuación 1
D1= Aquí se escribe la derivada

l1p = l1 - (f1 / D1) (Aplicación de la ecuación de recurrencia del método de N-R)


EPR = ABS((l1p - l1) / l1p) * 100 (Criterio de convergencia)
l1 = l1p (Asignación 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 prácticamente lo mismo que la SUB LAMBDA1 pero para la ecuación 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 sustitúyanlos.

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 presión y el
criterio de convergencia, segundos después aparecen los valores de ambas funciones y de las dos lambdas.
El archivo se debe guardar con la extensión .bas y el nombre puede tener hasta ocho caracteres.

También podría gustarte