Qbasic Avinash Ranjan
Qbasic Avinash Ranjan
A computer program is actually just a series of instructions telling the computer what to
do. A computer language acts as an interpreter. The programmer writes instructions using
the language, and the language tells the computer what to do. Before we get too far, let’s
get familiar with few convention used throughout this tutorial.
Style Meaning
Capital text in this font is to be typed exactly as it appears --
CLS
these are the keywords.
LET varname = expression Text in italics represents values or variables you'll have to enter.
An ellipsis (...) means you can add as many elements as you wish.
READ varname [, varname,
Here, you can put as many values after READ as you wish,
...]
separated by commas.
IF test THEN
A <statements> means one or more lines of code was omitted for
<statements>
clarity's sake.
END IF
Few terms in that table that may be unfamiliar, such as variable. Below is another table, this one
defining some important vocabulary words that are used throughout this tutorial and beyond.
Word Definition
Statement An instruction to do something. These words can be used interchangeably
Command most of the time;
A word that is part of the QBasic language. When you type a keyword,
QBasic will automatically capitalize it for you. Keywords are used to identify
Keyword commands and parts of commands. Note that you cannot make a named
constant or variable with the same name as a QBasic keyword.
A bunch of characters. In QBasic, strings have quotation marks around them,
String
for example, "Kuldeep”.
Number A number. This can be subdivided into Integer Long Integer, Single Floating
By Avinash Ranjan 1
k.s.m. college Aurangabad
QBASIC
QBasic is a DOS based program. To run it you have to open a DOS box. Click:
To run this Qbasic program, press Shift-F5 (or choose Run|Start from the Qbasic menu).
When you run this, a blank screen will appear and the two words will appear. Observe that
QBasic displayed Press any key to continue. at the bottom of the screen. QBasic does this
when a program ends. Let's understand this simple program by looking at each individual
line to see what's going on.
By Avinash Ranjan 2
k.s.m. college Aurangabad
QBASIC
END
This line, easily enough, ends the program.
REM Command
CLS Command
Syntax: CLS
The simple CLS command clears everything off of the screen and puts the cursor at the
top left corner of the screen. Example: CLS
PRINT Command
Examples: PRINT
PRINT " Name", "SSN" PRINT "My name is. . . . "; myname$;
END Command
Syntax: END
The END command quits the program and returns to the QBasic editor. Example: END
By Avinash Ranjan 3
k.s.m. college Aurangabad
QBASIC
Data Types
Every variable used in the program has data type. These variables are the key to making a
useful program: without them, your program will run the same way every time it is run.
But how do you use variables in the first place? A variable is created the first time it is
referenced in your code, such as when you first set a value to it. As stated before, there
are five types of variables. Each one has its own associated suffix to identify its type. The
table below describes in more detail the five data types:
Arithmetic Operators:
Before we go on, let’s look at the first set of operators. These are the arithmetic operators.
You can use them to perform the basic arithmetic functions. You use them by putting the
operator between two numeric expressions: num1 operator num2.
By Avinash Ranjan 4
k.s.m. college Aurangabad
QBASIC
Variables should be assigned a value, to use it in the program. There are two ways to do thi.
LET Command
INPUT Command
Condition Testing
As you can see, in the previous programs the program starts at the top of the program and
works down through your lines of code. We can divert this "natural" program flow as
shown in this section. Also in the previous section we used variables to keep your program
from doing the same thing every time it's run. This section will teach you the core of doing
different things: conditionals.
The major conditional, the IF commands, work to direct program flow. Program flow is
the term for the "path" the executed statements follow. Up until now, the program flow
has started at the first line and worked down to the last line. With conditional statements,
you can skip one or more lines depending on a condition.
The core to any conditional is a Boolean, or true/false, value. If the value is True (any non-zero
value, preferably -1), it does one thing. A value of False (0) does another thing. You can get T/F
values by using the other two kinds of operators: relational and logical (Boolean)/binary.
Relational operators are tests between two number values. Basically, you can find
how two numbers relate to each other. Here's a table of all of them:
By Avinash Ranjan 5
k.s.m. college Aurangabad
QBASIC
Returns true if the first number is greater than the second, and
Greater than >
false if not.
Returns true if the first number is less than the second, and false
Less than <
if not.
Greater than or Returns true if the first number is greater than or equal to the
>=, =>
Equal to second, and false if not.
Less than or Equal <=, =< Returns true if the first number is less than or equal to the second,
to and false if not.
Now that you know all about logical and relational operators, we'll put them to use. There
are two main commands you can use with conditionals: IF and SELECT CASE. Both are
similar, but are better suited to some things over others. Really, IF can be used wherever
SELECT CASE can, but not the other way. Let’s start with the more common one, IF.
Syntax:
IF condition THEN
<statements>
] ...
[ELSE
<statements>
]
END IF
As you can see, this form of IF is designed for both complex situations and large chunks of code.
First, the top condition is tested. If true, the code between it and the next ELSEIF, ELSE, or END
IF is run. If it's false, the next ELSEIF clause is tested, and so on. If none of the clauses are true,
the ELSE's code is run. After going through any chunk of code, flow returns to after the END IF
line. The ELSE clause is optional, and you can have as many ELSEIF clauses as you
By Avinash Ranjan 6
k.s.m. college Aurangabad
QBASIC
wish.
Let’s see a sample program that demonstrates the use of both forms of IF. This is a
number guessing game.
Example:
Note: In large programs you might have a number of blocks inside each other. It's easy to
forget the closing statements, and QBasic gives cryptic, confusing errors when you leave
a block or loop open. For example, you might get a "Block IF with no END IF" error
when in fact you forgot to close one of your loops. Even QBasic admits it.
Now, here's another way to do conditionals. This way is preferred when you are only
examining the value of one variable throughout the tests.
Syntax:
SELECT CASE expression
CASE {expression1 [, expression2, ...] | IS relational_operator expression
| expression1 TO expression2}
<statements>
] ...
[CASE ELSE
statements
]
END SELECT
This block statement looks at the value of the beginning expression. It checks the first CASE.
By Avinash Ranjan 7
k.s.m. college Aurangabad
QBASIC
The expression1 [, expression2, ...] form checks to see if the value equals a certain value.
The IS relational_operator expression form checks to see how it relates to another value.
The expression1 TO expression2 checks to see if it is between (inclusively) two other
values. If it is found to be True, the following block of code is run. If none are found True,
the C ASE ELSE block (if it exisis) is run. After a block is run, the program continues after
the END SELECT keyword.
SELECT CASE is recommend when checking the value of one number, and IF when
using multiple variables in your tests. It's all personal preference, though. The next
program shows how SELECT CASE can be used.
Example:
Iteration -- Loops
Loops are the nice and easy solution if you wanted your program to do something repeatedly. All
of the loop constructions in QBasic execute a block of commands repeatedly 0 or more times.
Syntax:
FOR counter = start TO end [STEP
increment] NEXT [counter]
The FOR/NEXT loop iterates the commands a set number of times. You assign a numeric
variable as the counter. It changes value each iteration. The start and end values are the
first and last values counter will be. You can also specify the increment, which can be
positive or negative but not 0. If you omit it, it defaults to 1. The FOR/NEXT construct is
ideal for blocks of code you want to run n times.
Example:
FORI=1TO10STEP2
'Write my name 5 times
By Avinash Ranjan 8
k.s.m. college Aurangabad
QBASIC
PRINT “Kuldeep”;
NEXT I
Syntax:
DO {WHILE|UNTIL} condition
LOOP
or
DO
LOOP {WHILE|UNTIL} condition
Note the two different ways of using it. If you put the condition at the beginning, it is
evaluated before each loop execution. If you put it with LOOP at the end, however, it
evaluates it after each execution! This guarantees that, no matter what, the code inside
runs at least once. If you use the WHILE keyword before the condition, the loop runs as
long as condition is true. If you use UNTIL, the loop runs as long as condition is false!
Example:
'This example shows one of its best uses: verifying input!
DO 'run the code at least once
INPUT "Enter a number between 1 and 10. ", num%
LOOP UNTIL num% > 0 AND num% < 11 'wait until it's valid
EXIT Command
Example:
DO
INPUT "Please enter a number between 1 and 10. ",
num% IF num% > 0 AND num% < 11 THEN EXIT DO PRINT
"Hey! Can't you read?"
LOOP 'note that the DO/LOOP can be used without a condition at all,
'resulting in an infinite loop. EXIT is the only way to break such
a loop.
By Avinash Ranjan 9
k.s.m. college Aurangabad