You are on page 1of 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.

You might also like