QBasic

Not to be confused with QuickBASIC.
QBasic
Paradigm Procedural
Developer Microsoft
First appeared 1991 (1991)
OS MS-DOS, Windows 95, Windows 98, Windows Me, PC DOS, OS/2, eComStation
License Part of the operating system (a variety of closed-source licenses)
Website www.microsoft.com
Influenced by
QuickBASIC, GW-BASIC
Influenced
QB64, Small Basic

QBasic (Quick Beginners All purpose Symbolic Instruction Code) is an IDE and interpreter for a variety of the BASIC programming language which is based on QuickBASIC. Code entered into the IDE is compiled to an intermediate representation, and this IR is immediately interpreted on demand within the IDE.[1] It can run under nearly all versions of DOS and Windows, or through DOSBox/DOSEMU, on Linux and FreeBSD.[2] (The QBasic IDE/interpreter is a DOS application, not a Windows application, and requires either DOS or a DOS emulator to run. Windows XP comes with a DOS Virtual Machine, Windows Vista and later do not and will require DOSBox.) For its time, QBasic provided a state-of-the-art IDE, including a debugger with features such as on-the-fly expression evaluation and code modification.

Like QuickBASIC, but unlike earlier versions of Microsoft BASIC, QBasic is a structured programming language, supporting constructs such as subroutines and while loops.[3][4] Line numbers, a concept often associated with BASIC, are supported for compatibility, but are not considered good form, having been replaced by descriptive line labels.[1] QBasic has limited support for user-defined data types (structures), and several primitive types used to contain strings of text or numeric data.[5][6]

History

QBasic was intended as a replacement for GW-BASIC. It was based on the earlier QuickBASIC 4.5 compiler but without QuickBASIC's compiler and linker elements. Version 1.0 was shipped together with MS-DOS 5.0 and higher, as well as Windows 95, Windows NT 3.x, and Windows NT 4.0. IBM recompiled QBasic and included it in PC DOS 5.x, as well as OS/2 2.0 onwards.[7] eComStation, descended from OS/2 code, includes QBasic 1.0. QBasic 1.1 is included with MS-DOS 6.x, and, without EDIT, in Windows 95, Windows 98 and Windows Me. Starting with Windows 2000, Microsoft no longer includes QBasic with their operating systems,[8] but can still be obtained for use on newer versions of Windows.

QBasic (as well as the built-in MS-DOS Editor) is backwards-compatible with DOS releases prior to 5.0 (down to at least DOS 3.20). However, if used on any 8088/8086 computers, or on some 80286 computers, the QBasic program may run very slowly, or perhaps not at all, due to DOS memory size limits. Until MS-DOS 7, MS-DOS Editor required QBasic: the EDIT.COM program simply started QBasic in editor mode only, and this mode can also be entered by running QBASIC.EXE with the /EDITOR switch (i.e., command line QBASIC /EDITOR).

It was founded by Tom Kurtz and John George Kemeny of Dartmouth college.

Examples

QBasic came complete with four pre-written example programs. These were "Nibbles", a variant of the Snake game; "Gorillas", an Artillery game; "MONEY MANAGER", a personal finance manager; and "RemLine", a GW-BASIC code line-number-removing program.[1]

Simple game

This program challenges the user to guess a randomly selected number within the 1-10 range, without offering the usual hints of "higher"/"lower":

CLS
PRINT "Guess the numbers!"
INPUT "Would you like to play? (Y/N): ", choice$     
IF LEFT$(LCASE$(choice$),1) = "y" THEN                      
  guesses% = 5                                       
  RANDOMIZE TIMER                                    
  target% = INT(RND * 10) + 1                        
  won% = 0                                           
  PRINT "The number is between 1 and 10."
  WHILE guesses% > 0 AND won% = 0                    
    INPUT "Enter your guess: ", guess%               
    IF guess% = target% THEN                        
      PRINT "Correct, the answer was "; target%; "!"
      won% = 1                                       
    ELSE
      guesses% = guesses% - 1                        
      PRINT "Sorry, please try again. You have "; guesses%; " guesses left."
    END IF
  WEND                                               '
  IF won% = 0 THEN PRINT "You ran out of guesses, the number was "; target%; "."
END IF

Easter egg

QBasic has an Easter egg. To see it, press and hold:
Left CTRL+Left SHIFT+Left ALT and Right CTRL+Right SHIFT+Right ALT simultaneously after running QBasic at the DOS prompt but before the title screen loads: this lists The Team of programmers.[9] On fast modern computers, it is difficult to perform. It is best done on an old PC (preferably one with a working Turbo button, with the switch on to slow the CPU to 4.77 MHz) or in an emulator like Bochs or DOSBox which can be slowed down. A screenprint can be seen at The Easter Egg Archive (QBasic page).

See also

References

External links

Wikibooks has a book on the topic of: QBasic
This article is issued from Wikipedia - version of the 12/2/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.