miércoles, 4 de junio de 2008

¿Qué es QBASIC?

QBASIC, Quick Beginner's All-Purpose Symbolic Instruction Code, es una variante del lenguaje de programación BASIC. No es capaz de compilar ejecutables independientes en las primeras versiones, pero sí en QBASIC Extended (QBASIC 7.1). El código fuente es compilado en una forma intermedia desde el entorno de desarrollo integrado y luego esta forma intermedia es ejecutada (interpretada) a demanda. Fue creado con el objetivo de reemplazar a BASICA y GW-BASIC y fue distribuido junto con MS-DOS 5.0 y versiones subsiguientes, incluyendo Windows 95. Su diseño fue basado en el anterior QuickBASIC 4.5, pero carecía de los elementos del compilador y enlazador de QuickBASIC.
Microsoft dejó de distribuir QBASIC en siguientes versiones de Windows. Actualmente es distribuido únicamente a través del sitio web de Microsoft para usuarios con licencia de uso de MS-DOS. El entorno de desarrollo de QBASIC incluye varias características aún raras en entornos de desarrollo actuales.
QBASIC fue también utilizado para enseñar programación a principiantes.

¿Qué tipo de programas se pueden usar con QBASIC?

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

Programa para resolver una ecuación de segundo grado:

CLS
PRINT " RESOLUCION DE UNA ECUACION DE SEGUNDO GRADO"
PRINT " Ax² + 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
PRINT C; "= 0, IMPOSIBLE"
END IF
ELSE
REM ECUACION DE PRIMER GRADO
PRINT " ECUACION DE PRIMER GRADO"
PRINT " X="; -C / B
END IF
ELSE
D = B ^ 2 - 4 * A * C
IF D > 0 THEN
PRINT " SOLUCION DOBLE"
PRINT " X1="; (-B + SQR(D)) / (2 * A)
PRINT " X2="; (-B - SQR(D)) / (2 * A)
ELSE
REM D <= 0 IF D = 0 THEN PRINT " SOLUCION UNICA" PRINT " X1=X2="; -B / (2 * A) ELSE REM D < x1= "; -B / (2 * A); " x2= "; -B / (2 * A); ">