Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Tutorial de QBasic




Enviado por scorpiko



    Indice:
    1.
    Introducción

    2. Reglas Basicas
    3. Comandos de QBASIC
    4. Un poco de gráficos en
    QBASIC

    1.
    Introducción

    Qbasic es un entorno de programacion constituido por un
    editor que permite convertir la computadora
    en una maquina de escribir,sofisticada para construir programas fuente,
    un gestionador de archivos (en el
    caso del PC,el propio sistema
    operativo),un compilador de lenguaje y un
    depurador para correccion de errores.
    El editor interactivo es la pieza central de Qbasic.Es un editor
    que verifica la sintaxis de cada linea tan pronto se teclea.Si la
    sintaxis es correcta,se traduce la linea inmediatamente al
    codigo
    ejecutable;en caso contrario,aparece una descripcion del
    error.Como cada linea se traduce a codigo
    ejecutable (.BAS) en el momento de introduccion,se puede
    inmediatamente corregir y capturar la mayoria de los errores.No
    se precisa esperar a la compilacion (.EXE) despues de que se haya
    terminado la edicion,el programa esta
    preparado para su ejecucion.
    Qbasic incorpora un depurador interactivo.Se puede detener un
    programa en
    cualquier punto, editar el programa y reanudar la ejecucion en el
    punto en que se detuvo.En Qbasic se puede crear de modo facil y
    rapido versiones de programas (.EXE)
    que se ejecutan directamente desde el DOS.Cabe resaltar que el
    Qbasic es un lenguaje de
    alto nivel.

    2. Reglas para la
    formación de nombres de programas o variables:

    -Los Nombres pueden contener numeros y letras pero deben
    comenzar con letras.
    -Es recomendable que los nombres guarden relacion con el
    contenido.
    -El Nombre no debe exceder de seis caracteres.
    -No incluir espacios en blanco ni caracteres especiales en el
    Nombre.

    Importante
    Las Teclas : ESC , ALT+Q y Ctrl+"BREAK" detienen la ejecucion del
    programa!!!
    (F5-Ejecuta el programa)

    3.Comandos de
    QBASIC

    Los Comandos se
    encuentran en la "Barra de Menú" de la pantalla de
    QBasic.
    Un programa se compone de grupos de
    comandos (Instrucciones) que les damos al computador,
    los comandos en QBASIC se escriben después de un
    número de ubicación.Empecemos con el comando PRINT,
    éste comando es él mas usado en Qbasic, ya que es
    el que pone cualquier tipo de información en la pantalla,escribamos el
    ejemplo:
    10 PRINT " EPA "
    20 END
    La función
    END lo que hace es terminar el programa,ahora para colocar el
    texto en una
    determinada parte de la pantalla (por que si ponemos solo PRINT
    "epa" vamos a ver el texto en la
    esquina de arriba de la pantalla), eso se hace con el comando
    "LOCATE No de fila,No de columna" y en el ejemplo pueden ver como
    funciona:
    10 LOCATE 9,13
    20 PRINT "SEGUNDO EPA"
    30 END
    Es obvio que no vamos a estar siempre mostrando textos en la
    pantalla, muchas veces lo que queremos es dar a conocer datos,
    números y cadenas de caracteres (palabras y frases),
    aquí entramos a ver las VARIABLES, las
    variables se pueden dividir en dos grupos:
    numéricos y de caracteres, las variables son declaradas
    (se les da un valor) a
    través de un nombre y un valor, para
    ver lo mas claramente vean el ejemplo:
    10 CLS
    20 numero=220000
    30 palabra$="INFORMATICA"
    40 LOCATE 7,7
    50 PRINT " Costo de
    Inscripcion "; numero
    60 LOCATE 8,7
    70 PRINT" Estudiante de: "; palabra$
    80 END

    El Comando "CLS" limpia la pantalla de los "EPA" anteriores, las
    variables de caracteres van precedidas por un signo $ y su
    contenido debe ir entre comillas. También hay un comando
    muy importante que nos permite poner comentarios en nuestros
    programas este comando es REM y su uso es muy fácil,
    ejemplo:
    10 PRINT"EPA":REM lo que hace esta línea es poner EPA en
    la pantalla 20 END
    Se fijaron que lo que va después del REM no importa, eso
    del REM nos permite poner frases que nos ubiquen y recuerden
    cosas que luego se nos puedan olvidar. Otro comando importante en
    QBASIC es "INPUT", y lo que hace es pedir una información al usuario para luego darle un
    nombre al dato introducido, ejemplo:
    10 INPUT"Cual es tu nombre ?",nombre$
    20 LOCATE 7,7 :PRINT"TU NOMBRE ES ";nombre$
    30 END
    Si te fijaste en este programa puse el LOCATE y el PRINT en una
    sola línea, lo único que hay que hacer para poner
    dos o más comandos juntos son separarlos por un :. Ahora
    les explico una función
    que especifica el tipo de pantalla que vamos a ocupar, las que
    voy a explicar son solo las dos más importantes que admite
    QBASIC, estas son 640*480 (con 16 colores ) que se
    especifica a través de la función SCREEN 12 y la
    pantalla de 320*240 (con 255 colores ) que se
    especifica con SCREEN 13, para ver cómo funciona
    aquí va el ejemplo :
    10 SCREEN 12
    20 PRINT"EPA"
    30 END
    Ejemplo 2:
    10 SCREEN 13
    20 PRINT"EPA"
    30 END
    Si se dan cuenta en SCREEN 13 el texto se ve mas grande, el
    único inconveniente de usar el SCREEN 13 es que la
    mayoría de los compiladores no
    lo aguanta así que mejor vamos a trabajar con el SCREEN
    12.
    Para poder dar
    color a nuestros
    textos se ocupa el comando COLOR (x), para
    poder ocupar
    este comando primero tenemos que poner SCREEN 12, tal y como se
    ve en el código
    de ejemplo:
    10 SCREEN 12
    20 FOR A=1 TO 15
    30 COLOR A
    40 PRINT"EL NUMERO DE ESTE COLOR ES",A
    50 NEXT
    60 END
    En este código
    usamos algo nuevo (FOR, NEXT), y significa que se realizara
    "algo" desde que A=1 hasta A=15.
    Ese "algo" que realiza son las instrucciones que están
    entre donde dice FOR y donde dice NEXT tantas veces desde 1 hasta
    15, para que se entienda mejor ahí va un ejemplo con su
    explicación:
    10 CLS
    20 FOR S=1 TO 10
    30 PRINT" 2 * ";S
    40 NEXT
    50 END
    Aquí se ve que el PRINT ejecuta 10 veces(1-10) la primera
    vez S vale 1, luego 2 y así sucesivamente hasta que valga
    10 y luego sigue con la línea que le sigue al NEXT, en
    este caso la línea 50 (END).
    En tu pantalla aparecera esto:
    2*1
    2*2
    2*3
    2*4
    2*5
    2*6
    2*7
    2*8
    2*9
    2*10

    ¿ Que? Y los resultados!!!!!
    No te desesperes,copiate del siguiente y ejecutalo.
    Pero mas importante………. RAZONALO!!!!!!
    10 CLS
    20 FOR S=1 TO 10
    30 PRINT" 2 * "; S; "="; 2*S
    40 NEXT
    50 END
    Si es que se fijaron, todos estos programas se acaban apenas se
    ejecutan, por lo cual si queremos detener el programa en alguna
    parte hasta que el usuario apriete una tecla, solo tiene que
    poner el comando INPUT$, este comando tiene la siguiente
    forma:
    Variable$=INPUT$(cantidas_de_teclas_a_recibir)
    Y ahora el ejemplo:
    10 CLS
    20 PRINT" presiona una tecla para continuar"
    30 A$=INPUT$(1)
    40 PRINT"ya la presionaste"
    50 END
    Debemos destacar que esta función sirve también
    para saber que teclas fueron apretadas, ya que la cantidad de
    teclas a presionar quedan asignadas a la variable A$ ,otro
    ejemplo:
    10 CLS
    20 PRINT"ahora presiona dos teclas"
    30 A$=INPUT$(2)
    40 PRINT"apretaste las teclas";A$
    50 END
    Si ya aprendiste el FOR NEXT entonces te explico ahora el otro
    tipo de bucle (bucle es… una serpiente que se muerde la cola
    !!! AHAHAH…es algo que tiene comienzo,pero no tiene fin ), este
    otro comando se llama WHILE y WEND y lo que hace es repetir los
    comandos que están entre el WHILE y el WEND (igualito que
    en el FOR y el NEXT) pero este repite los comandos hasta que se
    cumpla una condición que nosotros especificamos.
    Ejemplo:
    10 RIFA=0:REM VALOR INICIAL DE RIFA
    20 WHILE RIFA=0
    30 INPUT" CUAL ES EL VALOR?";RIFA
    40 WEND
    50 CLS
    60 PRINT"AHORA QUE ES DIFERENTE A CERO,PUDISTE SALIR DEL
    BUCLE"
    70 END
    Ahora vienen, el GOTO y el GOSUB y lo que hacen es saltar la
    ejecución de un programa a una línea determinada,
    pero la diferencia entre el GOTO y el GOSUB radica en que el GOTO
    salta a una línea especificada por el numero y el programa
    sigue normalmente desde la línea especificada hacia abajo
    y el GOSUB (que en verdad es GOSUB y RETURN) salta hasta una
    línea especificada y cuando encuentra el RETURN sigue la
    ejecución en la línea que sigue al último
    GOSUB que se ejecuto.Ejemplo:
    10 PRINT "LA LINEA 30 NO SE VA A EJECUTAR "
    20 GOTO 40:REM AQUÍ SE SALTA A LA LINEA 40
    30 PRINT"ESTA LINEA NO SE EJECUTA"
    40 PRINT:PRINT"EL PROGRAMA EJECUTO LA 10-20 Y LA 40"
    50 END
    Otro Ejemplo:
    10 PRINT"EJEMPLO DE GOSUB"
    20 GOSUB 100
    30 PRINT"YA VOLVIO A LA LINEA 30"
    40 END
    100 PRINT:PRINT"ESTA ES LA SUBRUTINA"
    110 PRINT:PRINT"CON EL RETURN A LA LINEA QUE VA DESPUES DEL
    GOSUB"
    120 RETURN
    El PRINT: PRINT se hace para hacer un retorno de carro, por
    ejemplo si ponemos un print "hola" y luego viene un print "chao"
    al ejecutarlo se va a ver "holachao" en cambio con
    print "hola" y luego print:print "chao" se va a ver hola y en la
    línea siguiente chao.
    Ahora vamos a ver otro de los comandos importantes de BASIC, este
    es el IF, THEN ELSE y lo que hace es que si se da una
    condición se hace lo que viene después del THEN y
    si no hace lo que viene después del ELSE:
    El "ELSE" es optativo así que solo ponlo si lo
    necesitas.
    Ejemplo:
    10 INPUT"DIME QUIEN ESCRIBIO ESTE TUTORIAL",QUIEN$
    20 IF QUIEN$="SCORPIKO" THEN PRINT"MUY BIEN"
    30 ELSE PRINT"NO SABES QUIEN ESCRIBIO ESTO?… ES UNA
    LASTIMA"
    40 END
    Tienes que fijarte en que las variables de caracteres distinguen
    entre mayúsculas y minúsculas, en el ejemplo si
    respondes scorpiko en vez de SCORPIKO te va a ejecutar el
    ELSE,porque no es lo mismo scorpiko que SCORPIKO.
    Con esto que llevamos saben lo más básico de BASIC
    y ya pueden hacer sus programas.Ves que no es para nada
    difícil BASIC, a lo mejor te preguntas, ¿tengo que
    ponerle numero a todas las líneas? y ¿por
    qué van de 10 en 10?, No, no es necesario ponerle numero a
    las líneas pero es util y van de 10 en 10 solo por hacerlo
    mas ordenado y por que si fueran de 1 en 1 no podrías
    poner una línea que se te olvido, ya que solo acepta
    números enteros.

    4.Gráficos en QBASIC

    Advertencia: No esperes de Qbasic mucha rapidez en los
    gráficos.
    PRINT, END, LOCATE, INPUT, INPUT$, CLS, COLOR, SCREEN, REM,
    FOR_NEXT,WHILE_WEND, GOTO, GOSUB, IF_THEN_ELSE.
    Esas son las funciones que ya
    llevan aprendidas (supongo).
    Lo que va aprender en esta parte es la parte de
    gráficos…
    Lo primero que hay que poner en el programa es la función
    SCREEN, y la que voy a utilizar en los ejemplos es la SCREEN 12
    (640*480 con 16 colores).
    Lo otro importante son los colores, por ejemplo si quiere poner
    un texto en la pantalla de un determinado color eso se
    haría así:
    10 SCREEN 12:CLS:CLEAR
    20 INPUT"numero del color (1 al 15) ? ",NUMCOL
    30 INPUT"escribe un texto ? ",TEXTO$
    40 COLOR NUMCOL
    50 CLS
    60 LOCATE 15,30
    70 PRINT TEXTO$
    80 END
    Practica un poco con ese programa para saber que numero del color
    corresponde a cada color, pero por si acaso no te quedo claro si
    pones en el número de color 15, entonces el texto se ve en
    blanco y si lo pones por ejemplo en 10, vas a ver el texto en
    verde claro.
    Ahora va el comando más importante en gráficos,
    este es LINE y lo que hace es dibujar una línea en la
    pantalla, la sintaxis es:
    SINTAXIS -> LINE (x1,y1)-(x2,y2),nrodecolor
    Ejemplo:
    SCREEN 12:CLS:CLEAR
    LINE (45,75)-(135,215),9
    END
    El programa dibuja una línea de color azul en la pantalla,
    si te preguntas que es eso de CLEAR, CLEAR hace que todas las
    variables queden a cero, esto es opcional y solo por seguridad.
    Este comando es muy flexible y te explico que, LINE aparte de
    poder hacer una línea también puede hacer un
    cuadrado solo agregándole ,B y con ésto el comando
    para hacer un cuadrado queda:
    SINTAXIS -> LINE (x1,y1)-(x2,y2),nrodecolor,B
    Ejemplo:
    SCREEN 12:CLS
    LINE ( 45,75)-(135,215),9,B
    END
    Y si quisiéramos que ese cuadrado estuviera relleno en vez
    de B iría un BF.
    Este hace un cuadrado de color azul .(Hazlo).
    Para hacer círculos ocupamos el comando CIRCLE,para
    hacerlo más fácil voy a poner lo que hace, la
    sintaxis y el ejemplo para cada comando para hacer
    gráficos.
    CIRCLE : Hace un circulo en la pantalla de un determinado
    radio
    (medido
    en pixeles) y …
    SINTAXIS -> CIRCLE (x,y),radio,color
    Ejemplo:
    SCREEN 12
    CIRCLE(150,140),25,14
    END
    Ese código hace un circulo de un radio de 25 pixeles y de
    color amarillo.
    PAINT : El
    comando paint es el
    típico balde de los programas de gráficos para
    Windows, y
    pinta de un color hasta encontrarse con un borde de un color
    especifico esto significa que si no se aplica sobre algo cerrado
    pinta toda la pantalla, esto pasa también si encuentra un
    borde que no es del color que debería ser.
    SINTAXIS -> PAINT (x,y),color,colordelbordelimite
    Ejemplo:
    SCREEN 12
    CIRCLE (150,140),25,14 : REM hace el circulo de borde amarillo
    (14).
    PAINT (150,140),15,14: REM el 14 es el borde y el 15 el color de
    relleno
    REM este ejemplo hace un circulo amarillo y lo rellena de
    blanco.
    END
    Nota: Como ya sabemos el REM es para poner comentarios que nos
    ayuden a ubicarnos en nuestros programas.
    También esta el comando que dibuja un punto en la
    pantalla, este es PSET:
    SINTAXIS -> PSET (x,y),color
    Ejemplo:
    SCREEN 12
    PSET (270,160),10
    REM este programa pone un punto de color verde en la
    pantalla.
    END
    También esta el multi-comando DRAW, que tiene muchas
    funciones
    dentro de él, como dibujar algo conforme a los
    parámetros que le vamos dando.Primero ejecuta el ejemplo y
    luego te vas a hacer una idea:
    SINTAXIS -> DRAW "parámetros"
    SCREEN 12
    DRAW " C10 BM 150,140 D20 L30 U40 R60 "
    END
    Lo que está especificado en DRAW es que:
    C10 (con el color 10(verde)), BM 150,140 (vaya a la
    posición 150,140de la pantalla), D20 (dibuja una
    línea de 20 pixeles hacia abajo), L30 (dibuje 30 pixeles a
    la izquierda), U40 (40 pixeles hacia arriba), R60 (y finalmente
    60 pixeles a la derecha). Ves que no era tan difícil,
    ahora van a ver una lista de los parámetros que puedes
    poner:
    Cx (color X, especifica que se va a empezar a dibujar con el
    color x )
    Dx (Down x, dibuja x pixeles hacia abajo)
    Ux (Up x, dibuja x pixeles hacia arriba)
    Lx (Left x, dibuja x pixeles a la izquierda)
    Rx (Right x, dibuja x pixeles a la derecha)
    Ex (dibuja x pixeles en diagonal hacia arriba derecha)
    Fx (dibuja x pixeles en diagonal hacia abajo derecha)
    Gx (……… abajo izquierda)
    Hx (…… arriba izquierda)
    Mx,y (Move x,y , se mueve al punto x,y dibujando pixeles(hace una
    línea desde donde este al punto x,y)
    BM x,y (se mueve al punto x,y sin visualizar)
    Ax (gira una figura hecha con draw, si x=1 entonces la gira
    90º, x=2 entonces 180º, x=3 entonces 270º ) Esas
    eran todos los
    comandos gráficos para Qbasic, pero….y para hacer que
    nuestros dibujos Qbasic
    se muevan ???? Cuando uno hace una figura en Qbasic y quiere
    moverla por la pantalla lo primero es hacerle un espacio en
    la memoria
    (DIM), luego almacenar el dibujo en la
    memoria (GET),
    después ocuparla (PUT), esa es la base ahora veamos esto
    con un ejemplo totalmente explicado:
    SCREEN 12: REM pantalla 640*480*16 colores
    CIRCLE (200,200),10,14 :REM hacer un circulo de 10 pixeles y
    color amarillo
    PAINT (200,200),10,14 :REM pintar el circulo de color verde y con
    el borde amarillo
    DIM BALON (600) : REM darle un espacio en memoria al
    dibujo llamado
    BALON
    GET (185,185)-(245,245),BALON :REM guarda desde x1,y1 a x2,y2
    como BALON
    CLS: REM borra la pantalla
    FOR X=20 TO 420:REM X VA DESDE 20 HASTA 420
    PUT (X,200),BALON,PSET :REM pone BALON en la posición
    x,200 de la pantalla.
    NEXT:REM retorno del FOR
    END

     

     

     

     

    Autor:

    Carlos Goncalves

    Guatire-Venezuela
    Tlf.0414-3651986

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter