En el artículo de hoy vamos a profundizar en el tema de QBASIC, explorando sus implicaciones, características y posibles aplicaciones. QBASIC es un tema que ha sido objeto de interés y debate en diversos ámbitos, generando opiniones encontradas y desafiando conceptos establecidos. A lo largo de este artículo, nos adentraremos en la historia de QBASIC, analizaremos su relevancia en la actualidad y examinaremos su impacto en diferentes contextos. Además, nos detendremos en las distintas perspectivas que existen en torno a QBASIC, ofreciendo una visión panorámica que permita comprender la complejidad de este tema. Con una mirada crítica y enriquecedora, abordaremos las múltiples facetas de QBASIC, con el objetivo de enriquecer el conocimiento y fomentar una reflexión profunda sobre su significado y trascendencia.
QBasic | ||
---|---|---|
Desarrollador(es) | ||
Microsoft | ||
Información general | ||
Paradigma | Programación por procedimientos | |
Apareció en | 1991 | |
Influido por | QuickBASIC, GW-BASIC | |
Ha influido a | QB64, Small Basic | |
Sistema operativo | MS-DOS, Windows 95, Windows 98, Windows Me, PC DOS, OS/2, eComStation | |
Licencia | Parte del sistema operativo (una variedad de licencia de código cerrado) | |
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 esta es inmediatamente interpretada en demanda dentro del IDE. Puede correr bajo casi todas las versiones del DOS y de Windows, o con DOSBox/DOSEMU, en Linux y FreeBSD. 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 velozmente. 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. 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. QBasic tiene limitado soporte para los tipos de datos definidos por el usuario (estructuras), y varios tipos primitivos usados para contener strings de texto o datos numéricos.
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.
QBasic fue creado en 1991 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. 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. (Sin embargo, algunas versiones localizadas del Windows 2000 y Windows XP todavía lo tienen, y puede ser entregado 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").
Con posterioridad han aparecido productos que continuaban el estándar QBASIC/QuikBASIC, entre ellos el PowerBASIC, el FreeBASIC y el QB64/QB32.
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.
QBasic vino completo con cuatro programas de ejemplo escritos de antemano. Estos 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.
El siguiente es un muy sencillo programa de "hola mundo" escrito en QBASIC:
PRINT "Hola Gente"
INPUT "Ingrese Su Nombre: "; Nombre$
PRINT "Su Nombre es: " + Nombre$
'Esto es un comentario
Programa para resolver una ecuación de segundo grado:
CLS
PRINT " Resolución de una ecuación 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 ecuación"
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 única"
PRINT " X1=X2="; -B / (2 * A)
ELSE
REM A <> 0, D < 0
R = -B / (2 * A)
I = ABS(SQR(-D) / (2 * A))
PRINT " Raíz 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:
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.