QBASIC

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Qbasic2.jpg

QBasic es un entorno de desarrollo integrado y un Intérprete para una variante del lenguaje de programación BASIC basada en el compilador QuickBASIC. El código introducido en el IDE es compilado a una forma intermedia, y ésta es inmediatamente interpretada en demanda dentro del IDE.[1] Puede correr bajo casi todas las versiones del DOS y de Windows, o con DOSBox/DOSEMU, en Linux y FreeBSD.[2] En su tiempo, QBasic proveyó de un IDE avanzado, incluyendo un depurador con características tales como evaluación de expresiones y modificación del código al vuelo. El entorno de desarrollo de QBASIC incluye varias características aún raras en entornos de desarrollo actuales.

Al igual que QuickBASIC, pero a diferencia de versiones anteriores del Microsoft BASIC, el QBasic es un lenguaje de programación estructurada, soportando construcciones tales como subrutinas y bucles while.[3] [4] los números de líneas, un concepto a menudo asociado al BASIC, son soportados para la compatibilidad, pero no se considera una buena forma, siendo reemplazados por etiquetas descriptivas.[1] QBasic tiene limitado soporte para los tipos de datos definidos por el usario (estructuras), y varios tipos primitivos usados para contener strings de texto o datos numéricos.[5] [6]

QBASIC fue también utilizado para enseñar programación a personas que no tenían mucho conocimiento de lo que es la programación.

Historia[editar]

QBasic fue creado con el objeto de reemplazar al BASICA y GW-BASIC como un lenguaje de programación para el usuario final. Fue basado en el anterior compilador QuickBASIC 4.5 pero sin los elementos del compilador y del enlazador del QuickBASIC. La versión 1.0 fue despachada junto con el MS-DOS 5.0 y posteriores, así como con Windows 95, Windows NT 3.x, y Windows NT 4.0. IBM recompiló el QBasic y lo incluyó en PC-DOS 5.x, así como desde el OS/2 2.0 en adelante.[7] El eComStation, descendiente del código del OS/2, incluye el QBasic 1.0. El QBasic 1.1 es incluido con el MS-DOS 6.x, y, sin el EDIT, en Windows 95, Windows 98 y Windows Me.

Microsoft lo incluyó como opcional en los discos de instalación de Windows 95 y Windows 98, incluido en el paquete olddos.exe, pero dejó de distribuir QBASIC en siguientes versiones de Windows. Comenzando con Windows 2000, Microsoft ya no incluye QBasic.[8] (Sin embargo, algunas versiones localizadas del Windows 2000 y Windows XP todavía lo tienen, y puede ser entragado como freeware). Actualmente es distribuido únicamente a través del sitio web de Microsoft para usuarios con licencia de uso de MS-DOS.

QBasic (así como el MS-DOS Editor incorporado) es compatible hacia atrás con los lanzamientos del DOS antes de 5.0 (hasta por lo menos el DOS 3.20). Sin embargo, si es usado en cualquier computador de 8088/8086, o en algunos computadores 80286, el programa QBasic puede correr muy lentamente, o quizás en absoluto, debido a su tamaño en la memoria. Hasta el MS-DOS 7, el MS-DOS Editor requería al QBasic. El programa "edit.com" simplemente comienza QBasic en modo de edición solamente, y este modo puede también ser entrado corriendo QBASIC.EXE con el swiche /EDIT (es decir, la línea de comando "QBASIC /EDIT").

Ejemplos[editar]

Los ejemplos que se pueden presentar de programas escritos en este lenguaje son muchos, veamos algunos que nos permiten ver el formato de este lenguaje de programación.

Ejemplos que vienen con el QBasic[editar]

QBasic vino completo con cuatro programas de ejemplo escritos de antemano. Éstos eran "Nibbles" (una variante del juego Snake), "gorilas", un juego de artillería, "MONEY MANAGER", manejador de finanzas personales y un "RemLine", un programa removedor de número de líneas para código de GW-BASIC.[1]

Hola mundo[editar]

El siguiente es un muy sencillo programa de "hola mundo" escrito en QBASIC:

PRINT "Hola mundo"
INPUT "Ingrese Su Nombre: "; Nombre$
PRINT "Su Nombre es: " + Nombre$
 'Esto es un comentario

Ecuación de segundo grado[editar]

Programa para resolver una ecuación de segundo grado:

 Ax^2 + Bx + C = 0\,
CLS
PRINT " Resolución de una ecuacion de segundo grado"
PRINT " Ax^2 + Bx + C = 0"
PRINT
INPUT " Coeficiente A: ", A
INPUT " Coeficiente B: ", B
INPUT " Coeficiente C: ", C
PRINT
IF A = 0 THEN
    REM A = 0
    IF B = 0 THEN
        REM A = 0 Y B = 0
        IF C = 0 THEN
            REM A = 0, B = 0 Y C = 0
            PRINT " Sin ecuacion"
        ELSE
            REM A = 0, B = 0, C <> 0
            PRINT C; "= 0, Imposible"
        END IF
    ELSE
        REM A = 0, B <> 0
        PRINT " Ecuación de primer grado"
        PRINT " X="; -C / B
    END IF
ELSE
    REM A <> 0
    D = B ^ 2 - 4 * A * C
    IF D > 0 THEN
        REM A <> 0, D > 0
        PRINT " Dos soluciones reales"
        PRINT " X1="; (-B + SQR(D)) / (2 * A)
        PRINT " X2="; (-B - SQR(D)) / (2 * A)
    ELSE
        REM A <> 0, D <= 0
        IF D = 0 THEN
            REM A <> 0, D = 0
            PRINT " Solución real unica"
            PRINT " X1=X2="; -B / (2 * A)
        ELSE
            REM A <> 0, D < 0
            R = -B / (2 * A)
            I = ABS(SQR(-D) / (2 * A))
            PRINT " Raiz compleja"
            PRINT " X1= "; R; "+"; I; "i"
            PRINT " X2= "; R; "-"; I; "i"
        END IF
    END IF
END IF

Este programa contempla el siguiente árbol de decisión:


   ax^2 + bx +c = 0
   \left \{
      \begin{array}{ll}
         a = 0   &
   \left \{
      \begin{array}{ll}
         b = 0   & 
            \left \{
               \begin{array}{ll}
                  c = 0   & \longrightarrow Sin \;  ecuaci \acute{o} n  \\ \\
                  c \ne 0 & \longrightarrow Imposible 
               \end{array}
            \right . \\ \\
         b \ne 0 & \longrightarrow \; Ecuaci \acute{o} n \; de \; 1^e \; grado
      \end{array}
   \right .
  \\ \\
         a \ne 0 & 
   \left \{
      \begin{array}{ll}
         b^2 - 4ac < 0   & \longrightarrow Ra \acute{\imath} z \; compleja \\ \\
         b^2 - 4ac = 0   & \longrightarrow Soluci \acute{o} n \; real \; \acute{u} nica \\ \\
         b^2 - 4ac > 0   & \longrightarrow Dos \; soluciones \; reales
      \end{array}
   \right .
      \end{array}
   \right .

Resolviendo en cada caso los valores de x que cumplen la ecuación, se emplea la instrucción IF para seleccionar el caso concreto y realiza las operaciones oportunas, presentando según el caso la solución de x que cumple la ecuación, contemplándose casos extremos como: a=0, b=0, c=0.

Véase también[editar]

Referencias[editar]

  1. a b c «Differences Between GW-BASIC and QBasic» (12-05-2003). Consultado el 28-06-2008.
  2. «HOWTO Play With Your Old QBasic Programs on Linux» (31-03-2007). Consultado el 28-06-2008.
  3. «QBASIC Manual: SUB...END SUB Statement QuickSCREEN». Consultado el 28-06-2008.
  4. «QBASIC Manual: WHILE...WEND Statement QuickSCREEN». Consultado el 28-06-2008.
  5. «QBASIC Manual: TYPE Statement QuickSCREEN». Consultado el 28-06-2008.
  6. «QBASIC Manual: Limits - Names, Strings, and Numbers». Consultado el 28-06-2008.
  7. «Microsoft BASIC version information». Consultado el 12-06-2008.
  8. «QBasic Missing from Windows 2000» (01-03-2007). Consultado el 12-06-2008.

Bibliografía[editar]

  1. García Merayo, Félix; Alcalde Lancharro, Eduardo (4 de 1998). Programación básica con Logo y QBasic : (guía práctica para estudiantes) (1 edición). McGraw-Hill / Interamericana de España, S.A. p. 64. ISBN 978-84-481-1441-1. 
  2. Ceballos Sierra, Fco. Javier (7 de 1996). De QBasic a Visual Basic. Ra-Ma, Librería y Editorial Microinformática. p. 384. ISBN 978-84-7897-232-6. 
  3. Joyanes Aguilar, Luis (6 de 1994). Programación en QuickBasic, QBasic (2 edición). McGraw-Hill / Interamericana de España, S.A. p. 736. ISBN 978-84-481-1887-7. 
  4. Ceballos Sierra, Fco. Javier (1 de 1992). Curso de programación QBasic y MS-DOS 5. (1 edición). Ra-Ma, Librería y Editorial Microinformática. p. 560. ISBN 978-84-7897-059-9. 
  5. Moldes Teo, Francisco Javier (9 de 1991). QBasic (1 edición). Anaya Multimedia-Anaya Interactiva. p. 272. ISBN 978-84-7614-343-8. 

Enlaces externos[editar]