You are on page 1of 38

INTRODUCTION TO

COMPUTER PROGAMMING IN QBASIC LANGUAGE

OVERVIEW:
There are two facts that dive human reasoning and thoughts. Basically, human beings cannot
speak or write in computer language and computers cannot speak or write in human language,
therefore an Intermediate language had to be developed to allow people to communicate with
the computers. These intermediate languages are known as programming language which allows
computer programmers (Users) to direct the activities of the computer. Thus, programming
languages are structured around unique set of rules that direct the computer to perform a specific
task. A typical instruction in a programming language consists of two parts:-
1. An operation code
2. Some operands

The operation code tells the computer what to do such as add, subtract, multiply and divide. The
operands tells the computer the data items involved in the operations. E.g. considering the
instruction a = b + 5, the = and + are operation codes while a, b and 5 are operands. Some
computer uses many types of operation codes in their instruction format and may provides several
methods for doing the same thing.

Nevertheless, there are four basic types of instruction namely:


1. Input output instructions
2. Arithmetic instructions
3. Branching instructions
4. Logic instructions

Summary:-
An input instruction directs the computer t accept data from a specific input device and store it in
a specific location. An output instruction tells the computer to move a piece of data from a
computer storage location and record it on the output screen. All of the basic arithmetic operations
can be operated by the computer. Branch instruction causes the computer to alter the sequence
of execution of instruction within the programme. Logic instructions allow the computer to change
the sequence of execution of instruction, depending on conditions built into the programme by the
programmer.

TYPES OF PROGRAMMING LANGUAGE


The effective utilization and control of a computer system is primarily through the software of the
system. Just as system software directs the internal operations of the computer while applications
software allows the programmer to use the computer to solve user made problems.

Programming languages which means the primarily means of human vs computer communication
which have evolved the early stage programmers enter instruction into the computer in a language
similar to that used in the application software. Computer programming language can be classified
into the following categories:
i) Machine Language
ii) Assembly Language
iii) High level symbolic Language
iv) Very high level symbolic Language

Summary:-
Machine language programmes allows the programmer to take advantage of all the features and
capabilities of the computer system for which it was designed. A machine language is computer
dependent. Thus, it is the first generation computers language.

Assembly language is as well known as the low level programming language. This allows the
programmer to remember the operations codes easily than when expressed strictly as binary
numbers. It must be translated into a machine language using a system software programme
called an assembler. They are the second generation computers languages.
High level language are machine independent, i.e. it can run on a variety of computers. Its
instructions do resemble English language statements and the mathematical symbols are the
symbols used in ordinary mathematics. Examples are fortran, basic, cobol, pascal, algol, ada and
pi/i. They are the third generation computers language. Very high level language are the fourth
generation computers language that allow the user to specify what they require, rather, than
describing the procedures by which requirements are met. It also offers the user an English-like
set of commands and simple control structures in which to specify general data processing or
numerical operations.

PROGRAMMING MICROCOMPUTERS IN BASIC LANGUAGE


There are some computer languages which are capable of supporting both scientific and business
data processing efficiently and effectively. An example of such computer language is basic.

Basic programming language is an easy- to-go use friendly language whose instructions
resembled elementary algebraic formular augmented by certain English Language keywords
such as input, read, print, Goto, if, then and so on.

WHAT DOES QBASIC STANDS FOR?


It is an acronyms for:
Q - Quick
B - Beginners
A - All-purpose
S - Symbolic
I - Instruction
C - Code

DEFINITION:
QBASIC is one of the many versions or dialects of the basic language which retains the user
friendly environment characterizes by the implementation of basic language. This means that
QBASIC runs on the windows to facilitate the storing of coded programmes in the secondary
memory for retrieval with the ability to support real integer and string data typed. It also contains
necessary tools that are required for the manipulation of matrices, graphs and images.

A BRIEF HISTORY OF QBASIC


QBASIC came into existence in the year 1960s. It was developed by two mathematical professors
and technicians named Prof. John Kemeny and Prof. Thomas Kurtz, at Dartmouth College,
Hanover, NH 03755 USA (603) 646-1110 (E-mail): contact@dartmouth.edu

The story goes that the students were having difficulty learning FORTRAN so the professors
decided that creating a language from scratch would be an excellent teaching tool for the
students. The result was BASIC, which was eventually placed in the public domain.
On the contrary, QBASIC is a programming language invented and modified by Bill Gates and
Hitler designed to make a program that would launch missiles from outer space in hopes of
destroying the cancer that is killing /b/. Unfortunately, since the earliest versions of QBASIC could
only display text, they had to settle for a word processing program that could WRITE SHIT ON
YOUR SCREEN instead.

Bill Gates and Paul Allen had something different in mind. In the 1970's when M.I.T.S.'s Altair
personal computer was being conceived Allen convinced Gates to help him develop a Basic
Language for it. When M.I.T.S. answered with interest, The future of BASIC and the PC began.
Gates was attending Harvard at the time and Allen was a Honeywell employee. Allen and Gates
licensed their BASIC to M.I.T.S. for the Altair. This version took a total of 4K memory including
the code and data used for a source code. Gates and Allen then ported Basic to other various
platforms and moved back to their hometown of Seattle where they had attended grade school
together. It was at this time that the Microsoft Corporation began it's reign in the PC world.

WHAT IS QBASIC PROGRAMME ALL ABOUT (AIMS / FOCUS OF QBASIC)


1. It is a friendly people orientated easy to learn programme and fun to use.
2. It is operated in an English-like commands
3. It is very powerful and popular- high level programming language.
4. It runs on all microcomputers.
5. It provides enough steps for coding a sample progrommes.
6. It solves practical mathematical equations applicable to scientist mathematics.
7. It allow the user to write and play around QBASIC
8. Its operations share similar ideas on how to operates other basic programmes such as visual
basic, c plus, java, etc.

MORE ADVANCED ADVANTAGES OF PROGRAMMING LANGUAGE


1. It is friendly, that is, it is people-orientated. It is easy to learn and fun to use. Any well
organized person can learn to programme in BASIC.
2. It is very flexible, allowing the programmer to develop new programmes and to alter existing
programme with relatively little effort.
3. It is well suited for use in an interactive environment. This includes dedicated microcomputer
applications as well as large computer time sharing applications.
4. It is universally available, on both large and small computers. It has become the standard
programming language for most microcomputer applications.
5. The commonly used features of BASIC are relatively standard, though there are some
differences between one versions of Basic to another.

LOADING QBASIC
Loading QBASIC is very easy depending on your computer. It is commonly found in all
computers except vista. But one can purchase it from CD ROM and install it.

Method: 1
Loading through Ms. DOS
Click start button
Click run
Type cmd and select Ok
Type cd\ and press enter
Type qbasic and press enter key ones

Note:
If Ms. DOS display invalid command, it means QBASIC is not installed on your computer. But if
QBASIC screen pop-up appear, two choices will be shown.
Alternatively:
Method: 2
Loading through Windows Desktop
Double click on QBASIC or SHORTCUTS TO QBASIC
Double click QBASIC and choose to run if available

QBASIC SCREEN IDENTITY:


If you press the <Enter> key, you will be taken to the QBASIC HELP menu where you find
information that concerns QBASIC operations/statements. While pressing the Esc key, the pop-
up box will disappear and QBASIC opens up blue painted environment.

In addition, one will find the menus of QBASIC display after the title bar.

QBASIC MENU
Diagram:
Below the menu is the blue painted area called the process. QBASIC process is the desktop
where the user operates the demand and coded programmes but the user will not see the
outcome / result displayed. It is expected that the user sees the outcome of his coded programme
on the Black & White screen called the output.

Down below the process screen (blue painted) space is the line of Immediate

IMMEDIATE LANE:
Diagram:
The immediate line cannot process any data, therefore it is no go area. Nothing works there. It
is useless going there to type or code your program.

OUTPUT SCREEN
Diagram:
At the output screen the user is prompt to press any key to return back to the process when the
user have finished viewing the outcome of his/her programme via the message Press any key to
continue

TERMINOLOGIES OPERATED ON QBASIC PROGRAMME

1. PROGRAMMING A COMPUTER IN QBASIC


Programming a computer in QBASIC means that you tell the computer what you want it to do. In
other to tell the computer what to do in QBASIC, you need those special words called commands.
When you put all the needed/demand special words in typing together in other to execute
something, then it can be regarded as coding. Therefore when the user writes or code a
programme on QBASIC is known as programming.

2. BASIC RESERVED WORDS


These are commands or keywords that acts in the capacity of commands and execution, when
typed. QBASIC uses it to execute your written programmes. For instance, some acts in the
capacity to calculates, to show final results, to correct errors, to allow writing of numbers or words
to be a heading, etc.
On the contrary, these reserved words only acts as commands and execution but in terms of
typing your programmes, do not use those reserved words, because if typed it will cause your
programmes written on the process (blue painted space) to malfunction.

3. Key Basic Statement


Key basic statement are commands or keywords required to type as you code/write your
programmes on the blue painted space which will later turn into CAPITAL letters meant for
execution of calculation, as well as running the written/coded programmes.
In addition, each of the basic statement you type must be on a line and each line must be assign,
a number known as LINE number. These line numbers gives an order of sequence how QBASIC
should execute her programme. Usually a positive multiples numbers from 0, - infinity are
expected to used. This can be optional to the user.

EXAMPLES OF KEY BASIC STATEMENTS OPERATED IN QBASIC CODED PROGRAMMES

1. Rem Statement:
Rem is a special keyword known as remark. Sometimes when a programmer write long
programme, he or she will like to leave notes inside their programme so that they can remember
why they did certain things. So to leave a note that explains certain things, use remark. QBASIC
knows that when it sees Rem it does not have to do what you wrote after it on that line.

2. Cls Statement:
Cls means clear screen. If you run a programme from QBASIC, everything that was on the screen
before you started QBASIC will show (i.e. written on the screen), that is why we need the keyword
cls.

3. List Statement:
List statement is used to examine the programme and correct errors before it is executed. This is
because QBASIC displays and execute programmes line-by-line according to the numbers used.

4. Print Statement:
Print is one of the most useful and powerful commands in QBASIC that causes the information
typed between the double quote ( ) to be sent to the screen or visual display unit end result
where the users sees or runs the programme to get the final results.

In addition, when Print is typed on the line number without double quote (i.e. line number bearing
print), QBASIC will provide one empty space between such line and the next line at the output.
5. Input Statement:
This statement allows information to be typed using the keyboard of the computer in generating
the needed data before the final answer will appear at the output. The computer executes this
input statement by using a representative question mark ( ? ) waiting for the data (i.e. figures) at
the output screen to be typed in.

6. Read Data Statement:


This statement allows information be followed by the word read while the figures will be
typed/supply at the same line typing of Data, before the final answer be displayed on the V.D.U.
Screen.

7. Let Statement:
This statement will cause the arithmetic expression on the right hand side typed before an equal
sign ( = ) be stored as the result (answer that belongs to) the variable at the left of the equality
sign.

8. End Statement:
This statement stops the execution of the programme. That is to say, end statement tells the
computer that the written/coded programme done on QBASIC blue painted space (process) has
come to an end.

9. Dim Statement:
Dim means dimension. It is the statement used to reserved different locations of stored values
when many locations are involved in a programme by using just one variable.

10. Colour Statement:


Colour is a statement used to change the colour appearance of the words on the screen when
you run the coded programme. This allows for fun, making sure you add colour when the need
arises.

Nevertheless, the colour list table is as follows:-


To Number to used To paint Number to used
paint
Black 0 Grey 8
Blue 1 Light blue 9
Green 2 Light green 10
Cyan 3 Light cyan 11
Red 4 Light red 12
Magenta 5 Light magenta 13
Brown 6 Yellow 14
White 7 Bright white 15

11. Making Sound in QBASIC


Sound is an easy statement used to produce sound when you run your programme. To use the
keyword sound, you must type (enter) two (2) numbers. The first number is the frequency of the
sound in high or low capacity (kw) which ranges from very low frequent (37kw) to (32767kw) very
high frequency. The second number is how long the sound should last.

12. Drawing Pictures/Objects or Shapes with QBASIC with:

i) The Screen Statement:


Before you even start drawing object, shapes or pictures, you have to tell QBASIC that you want
to draw pictures. To do this, you need to used screen statement by assigning number to it. Number
12 (mode 12) is one of the screen numbers that is used to draw pictures.
ii) To Draw Line(s):-
Line Statement is used to draw lines but you must specify by typing where the line will starts and
ends.

iii) Drawing a rectangular box in conjunction with line statement:


The line statement can also be used to draw other shapes for instance it can be used to draw
boxes filled with colours or empty.

iv) Drawing a Circle:


Another very important shape is circle. The keyword Circle can be used to draw a circular shape
but you also need to specify where the centre of the circle should be and how far from the centre
it will be drawn and to the edges it will covers.

Watch all these statements when you start the practical.

ELEMENTS OF QBASIC

Every programming language consists of some important elements which are required to make a
programme be executed. Therefore elements are those typing that are required to make a coded
programme function properly, before running it to see your answers. These elements can involves
character sets, keywords, constants, variables, operators and expressions.

CHARACTER SETS:
These are typing required when coding a programme which can be type in alphabets both in
smaller and capital letters, numbers that ranges 0 to 9, and infinity. Special symbols and signs
are also part of character set in which each performs meanings and various functions and makes
your program of standard.

Examples of special symbols and signs used as a character set in QBASIC is shown below:-
Signs Signs Signs Signs
+ > s
- < %
* , ( $
/ ; ) !
\ : . #
^ = ? Blank space

CONSTANTS
They are the data or the values stored inside variable coded on qbasic program that cannot
changed during the program execution except for numbers. The data may be a letter, words,
numbers, special symbols but they are stored inside a variable name which QBASIC will not
changed the way you type it, except it is numbers. Why? Because numbers when stored as
constants, QBASIC can perform mathematical calculation on it.

In QBASIC coding of programme, constants are grouped into two broad headings:
a) String Constant
b) Numeric Constant

String Constants:
It is a letter, words, numbers, combination of letters with numbers or special symbols enclosed in
double quotes ( ) stored inside a variable name in which mathematical operations cannot be
done on it. It can also be used to express statement on a program typed to QBASIC. For instance,
B, Apple, Symbol No. 10208, Welcome to QBasic World!!!, etc.

Numeric Constants:
Numeric constant refers to a number with or without decimal point, stored inside a variable name
in which mathematical operations can be done on it. Numbers written in thousands to QBASIC
will not consists of separator (,) which also can not be enclose in double quotes. Generally,
mathematical and logical operations can be done on them e.g. 101, 105.50, 720, 45603, etc.

VARIABLE:
In QBASIC, a variable is a place on the computer memory which has a name and stores data
temporarily. On the otherhand, a variable is an entity that stores data needed to be used in a
program. Each program defines different number of variables. The value of a variable can be
change during the execution of the program. On declaring (i.e. typing) a variable, one will need
to determine the type of data which QBASIC will stored inside the variable.

There are mainly two types of variables declaration. They are:-


a) String variable
b) Numeric variable

String Variable:
String variable stores string data (i.e. quotation statements) with a string variable name declare
on that same line whereby mathematical and logical operations cannot be done on it as directed
by the declaration symbols of dollar sign ($).

Numeric Variable:
A numeric variable stores number data inside it variable name that mathematical and logical
operations can easily be done on it as directed by its declaration symbols typed.

Example of numeric variable declaration:


It can be expressed under four headings, namely, Integer, long integer, single precision and
double precision variable.

For integers, it stores short whole number with the sign of percentage (%) typed to the variable
name. Long integer stores large range of whole numbers with ampersand (&) declaration, for
single precision, it stores single decimal numbers with or without declaration of exclamation mark
(!) and for double precision, it stores large decimal numbers declares with the use of hash sign
(#)

RULES FOR TYPING A VARIABLE TO QBASIC


1. Variable names typing can have maximum of 40 characters in length typed together
without space.
2. Variable names can have alphabets, numbers and alphanumeric on line numbers.
3. Variable name must begin with a letter
4. Variable names cannot begin with fn or Fn alphabets for example, fnames$, fnum, etc. It is
because fn causes the to calculate frequency number of statistic data. Dont use it as a variable
name.
5. Variable names cannot be served words.
6. Variable names may be ended with type declaration characters like $, %, &, !, and #
OPERATORS
Operators are symbols that indicate the type of mathematical operations QBASIC has to perform
on the data or values of the variable. In QBASIC there are four types/branches of operators used
on coded program namely: Arithmetic, Relational, Logical and String operators.

Arithmetic operators:
These are all the general mathematical signs used to perform simple and practical mathematical
calculations like addition, subtraction, division, multiplication, exponents, etc
Example 1:
Operation Operators Example Results
Addition + 5+8 13
Subtraction - 86 2
Multiplication * 5*4 20
Division / 8/2 4
Integer division \ 9\2 4
Exponential ^ 4^3 64
Modular division Mod 7 Mod 3 1

Relational Operators:
They are operators used to perform comparison on two values of the same typed statements.
E.g.
Operators Relation Examples
= Equal to A = B, A$ = B$
> Greater than A > B, CAT > RAT
< Less than A < B, CAT < CAT
>= Greater than or equal to A >= B, X$ >= Y$
<= Less than or equal to A <= B, X$ <= Y$
<> Not equal to A$ <> B$, X <> Y

Logical Operators:
It combine two or more relational expression to evaluate a singe value as true (non zero answer)
or false (zero answer). For example:

And operation:
When all the results (statements) returned are true.
Statement 1 (for P) Statement 2 (for Q) Results (P & Q)
F T F
T F F
F F F
T T T

Or operation:
It return true if any one of the relational statements expressions return true. E.g.
Statement 1 (for A) Statement 2 (for B) Results (A & B)
F T T
T F T
T T T
F F F
Not Operation:
It operates on one statement operand and returns true if the logical statement returns false. E.g.
Statement 1 (for A) Result (for Not A)
F T
T F

STRING OPERATOR
String joins two or more than two string data (sentences) together to form a simple or compound
sentences.
E.g.
String data (for A$) String data (for B$) Results (A$ + B$)
Wel come Welcome
50 45 5045
The plus sign (+) is used as the string operator as the act of combining two strings together
which can also be known as as concatenation.

EXPRESSION
It is the combination of operators, constants and variables that is evaluated to get a result. The
result is string data, numeric data or logical value and can be stored in a variable. E.g.

(A + B) > C
A >= B + C
u = t + etc

Note, expression can come from any side of the mathematics, some from linear simultaneous equation, algebra,
statistics, trigonometry, etc.

Example of algebra expression:


It must be converted into QBASIC expression and interpretation before the result is shown at
the output.

A=LXB A=L*B
P = 2(L+B) P = 2 * (L + B)
I = (P X T X R)
100 I = (P * T * R)/100
V = 4 pi r3
3 V = 4/3 * (PI * R ^ 3)
V = r2h V = PI X r ^ 2 * h

ORDER OF OPERATION
The order of operations is the order (due process) in which all algebraic expression should be
simplified.
For instance on QBASIC:
Parenthesis
Exponents (and Roots)
Multiplication and Division
Addition and Subtraction
[PEMDAS]
Alternatively:
Brackets
Exponentiation
Division and Multiplication
Addition and Subtraction
[BEDMAS]
Note:
Be aware that multiplication does not always come before division, and addition does not always
come before subtraction. For example.
3X35+2
Your working will always starts from left to right.

You work like this. First notice that there is no parenthesis or exponents, so we move to
multiplication and division. Theres only one multiplication, so we do that first and end up with 9
5+2
Now we move to addition and subtraction, so finally we do the subtraction to get 4 + 2 and finally
the addition to give 6. Thus the order becomes: [PEDMSA]

Example 2: 75/5^(3-1) Using the PEDMAS


Solve for bracket (parenthesis) (3 1) = 2
= 75/5^2
Solve for exponentiation (5^2) = 25
=75/25
Finally, solve for division =75/25
=3
Example 3:
In this example chose the student that solves his/her expression correct.
Student 1 student 2
3+4x2 3+4x2
=7x2 =3+8
= 14 = 11

Student 1 is wrong and student 2 is right in the order of operation.

LETS PRACTICE

COMMON PRACTICAL QUESTIONS AND ANSWERS ON HOW TO CODE QBASIC


PROGRAM

ALWAYS RUN YOUR PROGRAM (BY PRESSING F5 KEY) AT THE END OF YOUR CODED
PROGRAM TO QBASIC BLUE PAINTED SPACE.

1. Write or code QBASIC program that demonstrates the steps or procedures involve to prepare an
office tea breakfast with the results shown at the output screen.

Solution:

5 REM Example 1
10 REM Coding a program that illustrate
15 REM how to prepare office tea breakfast
18 CLS
20 LET A$ = Wash the kettle
25 LET B$ = Add clean water into the kettle
30 LET C$ = Heat the kettle for 15 minutes
35 LET D$ = Check if the water is boiling
40 LET E$ = If the water boils after 15 mnutes
45 LET F$ = Add coffee, sugar and milk
47 PRINT
49 PRINT Directives to prepare office tea
50 PRINT ..
53 PRINT
55 PRINT The first procedure is to ; A$
60 PRINT The next procedure is to ; B$
63 PRINT The next procedure is to ; C$
65 PRINT The next process is to ; D$
68 PRINT The next process is to ; E$
70 PRINT The last procedure is to ; F$
75 END

2. Write a simple program that illustrate the below comment:

If Month = 11, 12, 1 or 2 (November, December, January, or February), then the word, Cool
Season appear on the screen. If month = 3, 4, or 5 (March, April, or May), then the words Hot
Season appear on the screen. If month is any number from 6 to 10 (June to October ), then the
words Wet Season appear on the screen.

Solution:

DIM Month AS INTEGER


CLS
REM Program to predict season
PRINT
INPUT Enter the number for season as: , Month
SELECT CASE MONTH
CASE 11, 12, 1, 2
PRINT Cool Season
CASE 3 TO 5
PRINT Hot Season
CASE 6 TO 10
PRINT Wet Season
CASE ELSE
PRINT What kind of season is demanded
END SELECT

Alternatively:
3. Write a program that asks for a score then prints the grade assigned to the score.

Solution:
DIM Score AS INTEGER
CLS
PRINT
INPUT "Enter The Test Score: ", Score
PRINT
SELECT CASE Score
CASE IS >= 97
PRINT "Grade A+"
CASE 93 TO 96
PRINT "Grade A"
CASE 90 TO 92
PRINT "Grade A-"
CASE 87 TO 89
PRINT "Grade B+"
CASE 83 TO 86
PRINT "Grade B"
CASE 80 TO 82
PRINT "Grade B-"
CASE 77 TO 79
PRINT "Grade C+"
CASE 73 TO 76
PRINT "Grade C"
CASE 70 TO 72
PRINT "Grade C-"
CASE 67 TO 69
PRINT "Grade D+"
CASE 63 TO 66
PRINT "Grade D"
CASE 60 TO 62
PRINT "Grade D-"
CASE ELSE
PRINT "Fail"
END SELECT

4. Write a program with the comment: I am 11 years old, soon I will grow up and be 25.

Solution:

CLS
AGE = 11
PRINT I am; AGE; years Old.
AGE = 25
PRINT But I will grow and soon will be ; AGE
END

5. Write a program that display todays date in the date format of dddd/mmm/yyyy

Solution:

CLS
INPUT Enter a year; year
INPUT Enter a day; day
INPUT Enter a month; month

PRINT The year is ; year


PRINT The month is ; month
PRINT The day is ; day
PRINT -or-
PRINT The day is; day; /; month; /; year
END
ALGEBRAIC EXPRESSION
6. How can the following formulas be converted to its QBASIC equivalent?

a) a = 3+ 3
4+4
E.g.
LET a = (3+3)/(4+4)

b) x = (a b)(a c)2

E.g.
LET x = (a b) * (a c) ^ 2

1
/3

c) f = a
b
E.g.
Let f = a ^ ( 1 / 2 ) / b ^ ( 1 / 3 )

d) d = (8 x2) - (4 x 2 1)
(x 9) x3
E.g.
Let d = ((8 x ^ 2) / ( x 9) (( 4 * 2 1) / (x ^ 3)

TRIGONOMETRY / CONSTRUCTION / TRIANGLE QUESTIONS.


7. Write a program that calculate the area and circumference of a circle on the following
values for radius (12, 14, 15, 22 and 45 respectively).

Solution:

REM
Author: Sir Isaac
Class: Computer science 404
Date: 07/09/2011

Purpose:
This program will calculate the Area and circumference of a circle
after receiving the value for the radius from the user.

(a) Start
CLS
(b) Declare variable, define known values
DIM radius AS DOUBLE Radius
DIM PI AS DOUBLE Pi
DIM Circumf AS DOUBLE Circumference
DIM Area as DOUBLE Area
PI = 3.141593

COLOR 9
(c) Get Required data from user
PRINT This program calculates the Area and Circumference of a circle
INPUT What is the radius of the circle; radius

(d) Make the calculation


Circumf = 2 * PI * radius
Area = PI * radius ^ 2

(e) Send the results to the screen for the user


COLOR 2
PRINT For a circle of radius; radius;
PRINT and using a value for PI as; PI
PRINT The calculated circumference is ; Circumf
PRINT The calculated Area is ; Area

(f) Stop

8. Write a program to express these equation

y = a(b c)2
d+2
where a = 2, b = 8, c = 4 and d = 2

Solution:

5 REM
10 CLS
15 a = 2
20 b = 8
25 c = 4
30 d = 2
35 e = a * (b c) ^ 2
40 f = d + 2
45 y = e / f
50 PRINT Your answer is ; y
55 END

ADVANCED FEATURES TO CODE INTERVIEW PROGRAM


9. Write a program to illustrate an interview with the user to make the right choice based on your
instruction.

Solution:

10 REM Interview program


20 CLS
30 INPUT Please enter your first name; N$
40 INPUT Are you born again? Answer Y or N; A$
50 IF A$ = Y THEN 70
60 IF A$ = N THEN 90
70 PRINT N$, Youve made the right choice!
80 GOTO 100
90 PRINT N$, You need to get born Again
100 END

CODING LINEAR SIMULTANEOUS EQUATION ( THE ALMIGHTY FORMULA)

10. Write a program to solve the below quadratic linear equation

x = -b b2 4ac
2a
Where 3x2 + 8x 16 = 0 find x.
Solution:

5 REM Program to evaluate quadratic formula


10 CLS
20 INPUT Enter the number of 1st coefficient of x; a
30 INPUT Enter number of second coefficient of x; b
40 INPUT Enter number of third coefficient of x; c
50 d = - b + SQR (b ^ 2 ( 4 * a * c))
60 e = 2 * a
70 f = - b SQR (b ^ 2 (4 * a * c))
80 g = d / e
90 h = f / e
100 PRINT
105 PRINT Result of positive x is ; g
110 PRINT Result for negative x is ; h
115 END

CODING A GAME GUESS PROGRAM ON QBASIC

11. Write a program to play a game of knowing how many days are there in a week?

Solution:

CLS
Score = 0
PRINT How many days are there in a week?
INPUT a
IF a = 7 THEN GOTO 2
PRINT Wrong answer!
PRINT To try again press y
INPUT a$
IF a$ = y THEN GOTO 1 ELSE END
Score 10
PRINT Its the right answer!
PRINT Your Score is now; Score; !
PRINT Thanks for playing
END

CODING A RECTANGLE MEASUREMENT ON QBASIC

12. Given that:


5cm
6cm

Write a program to calculate the area of the rectangle drawn above

Solution:
REM Example 5.6
-------------------------------------------------------------
Compute the area of a rectangle
Length L and width W
--------------------------------------------------------------
DIM L AS SINGLE
DIM W AS SINGLE
DIM Area AS SINGLE
CLS
INPUT Length of the rectangle is ; L
INPUT Width of the rectangle is ; W
Area = L * W
PRINT The area of ; L; by; W; rectangle will be ; Area
END

USING BUSINESS / SMALL SCALE FIRM INCENTIVE TO CODE QBASIC

13. You have a Canteen Business and you want to create an incentive bonus for your staff that meet
the stipulated target. Write a program that illustrate these statement.

Solution:

REM Program to set Canteen target


CLS
INPUT Target ; Target
INPUT Canteen Sales; Canteensales
IF Canteensales >= target THEN
Performance$ = We are Happy
Bonus = 100 + 0.01 * (canteensales target)
ELSE
Performance$ = We are NOT Happy
Bonus = 0
ENDIF
PRINT *=============================*
PRINT Target; Target
PRINT Sales; Canteensales
PRINT Performance; Performance$
PRINT Bonus; Bonus

14. Alternatively, the Canteen management held meeting and agreed that where the incentive to the
staff does not meet the target, there will be redundancy. Re-write the program to show the
decision of the management.

Solution:

REM Canteen Management Incentive


CLS
INPUT Target ; Target
INPUT Sales; Canteensales
IF Canteensales >= 2 * target THEN
Performance = Excellent
Bonus = 1000
ELSEIF Canteensales >= 1.5 * target THEN
Performance$ = Fine
Bonus = 500
ELSEIF Canteensales >= target THEN
Performance$ = Satisfactory
Bonus = 100
ELSE
Performance$ = Unsatisfactory
PRINT Youre FIRED!!!
ENDIF
PRINT Target; Target
PRINT Sales; Canteensales
PRINT Performance; Performance$
PRINT Bonus; Bonus
15. Write a program to select days of the week within seven days.

Solution:

CLS
INPUT Date Number is ; dayNumber
SELECT CASE dayNumber
CASE 1
PRINT Monday
CASE 2
PRINT Tuesday
CASE 3
PRINT Wednesday
CASE 4
PRINT Thursday
CASE 5
PRINT Friday
CASE 6
PRINT Saturday
CASE 7
PRINT Sunday
CASE ELSE
PRINT How many days in your week?
END SELECT

MATHEMATICAL EXPRESSION

16. Write a programme that will show a list of times table number of 3s e.g. 3 x 1 = 3, 3 x 2
= 6, etc.

Solution:

5 CLS
10 REM Compute times table numbers of 3
15 INPUT Enter any number for ; n
20 FOR I = 1 to 12
25 PRINT n; x; I = n * I
30 NEXT I
35 END

17. Write a program that generates multiples of 5 between 5 and 500, displaying their sum and
products at the output screen.

Solution:

5 CLS
10 REM Program to generate multiples of 5
15 between 5 and 500
20 Calculates their sum and products
30 displayed their results
40 SUM = 0
50 PRDT = 1
60 FOR L = 5 TO 500 STEP 5
70 SUM = SUM + L
80 PRDT = PRDT * L
85 Display the current values of L, SUM AND PRDT
90 PRINT L, SUM, PRDT
100 NEXT L
110 display the final values of L, SUM and PRDT
120 PRINT L, SUM, PRDT
130 END

18. Given the below arithmetic sequences:


Find the sum of 12 terms of the series:
7 + 11 + 15 +
Hence, the first term a = 7, common difference d = 4 and number of terms n = 12.
Requirement:
Use QBASIC to write the above sequences and display the sum of the series at the output.

Solution:

REM Arithmetic sequences


CLS
PRINT Enter first term
INPUT A
PRINT Enter common difference
INPUT D
PRINT Enter number of terms
INPUT N
PRINT The sequence is
T=A
S=O
FOR I% = 1 TO N
S=S+T
T=T+D
NEXT I%
PRINT T
PRINT The sum is ; S
END

CODING BANKING INTEREST/PENSION ADVANCE PAYMENT ON QBASIC

19. Given that the goal you set for your retirement in your current employer is N850,000. You decide
to make deposit of your pension payment in advance to ECO BANK PLC with payment of N1,000
each month with the interest of 5.0% interest charge. Write a program to illustrate the above
comments, showing the number of years it will take to complete the retirement task.

Solution:

CLS
REM Program to meet pension retirement goal
DIM Goal AS DOUBLE
DIM Interest AS DOUBLE
DIM Payment AS DOUBLE
DIM Years AS INTEGER
Dim Balance AS DOUBLE
Balance = 0

PRINT So you want to put some money aside for retirement, hmmmm.
INPUT How much money do you need to retire; Goal
INPUT How much money will you contribute every year; Payment
INPUT Interest rate in % (e.g. use 5.0 for 5.0%) will be; Interest

Interest = Interest / 100


Balance = Payment
DO WHILE Balance < Goal
Balance = Balance * ( 1 + Interest)
Years = Years + 1
LOOP
PRINT
PRINT You can retire in ; Years; years
PRINT with; Balance; in the ECO BANK
END
CODING A MENU LIST FOR CHOICE IN QBASIC

20. Write a menu list program that allow the user to make a wish/choice in a statistical analysis coding
system.

Solution:

CLS
PRINT Which Statistical Analysis do you wish
PRINT
PRINT 1. Compute an Average
PRINT 2. Compute a Standard Deviation
PRINT 3. Find the Median
PRINT 4. Find the Smallest and Largest data value
PRINT 5. Plot the Data
PRINT
PRINT 0. Quit/Return to preview menu
DO
INPUT Enter your choice ( 0 through 5); a%
Use SELECT CASE or IF to check the user
Input, and do the work that has been requested.
LOOP UNTIL a% = 0

MATHEMATICAL CONTINUES
21. Suppose we are given ten rectangles and required to find the area of each rectangle. Given below
is a QBASIC program that reads the length and breath of each rectangle, finds its area and prints
the areas.

Solution:

5 CLS
10 REM Program that reads the length L and
15 breath B of ten rectangles
20 calculates the area of each rectangle
30 and prints the result
40 KANTER = 0
50 PRINT Please enter the values of L and B
60 INPUT L
65 INPUT B
70 Area = L * B
80 PRINT L, B, Area
90 KANTER = KANTER + 1
100 IF KANTER > 10 THEN 120
110 GOTO 50
120 END

DATA:
6 X 5cm, 3 X 4cm, 16 X 6cm, 4 X 5cm, 6 X 8cm, 7 X 3cm, 10 X 4cm, 2 X 2cm, 9 X 2cm,
12 X 6cm.

22. Given that you are required to calculate the powers of numbers. Write a programme that list all
the resulting powers of an integer that is less than 1000.
For example:

20 = 2, 21 = 2, 22 = 4, 23 = 8, 24 = 16, 25 = 32, 26 = 64, 27 = 128, 28 = 256, 29 = 512, etc.


Solution:

CLS
REM Compute List of powers
Const Maxpower = 1000
DIM Power AS INTEGER
DIM n AS INTEGER
Power = 1 The first power n ^ 0 is always 1
COLOR 10, 1
PRINT This program prints all powers <; Maxpower; of an integer
INPUT Enter an integer for; n
DO WHILE Power < Maxpower
PRINT Power;
Power = Power * n
LOOP

CODING ACCOUNTING RECORDS ON QBASIC

23. Below is the record of Sales on tickets from each gate of a sports stadium represented as a set
of data in the following form:

i) Identity of the gate as G01


ii) Series of positive integers representing the income from the sales of ticket at the gate

Sample Records
G01 27.00 254.00 15.00 21.00
G02 2.00 196.00 240.00
G03 25.00 300.00 10.00
G04 36.00 298.00 150.00 etc

Write a QBASIC programme to read the sample data above, calculate the total income for each
gate separately and calculate the total income for the stadium and the gate which records the
largest income.

Solution:

5 REM Clear the screen


10 CLS
15 REM Enter the number of the gates that are available
30 INPUT Enter the number of the gates; P
35 DIM A$(P), S(P)
40 CLS
50 FOR K = 1 TO P
60 INPUT Please enter gate identity; A$(I)
65 REM Initialize S(I) which represents total income
70 S(I) = 0
80 INPUT Income from the gate : = ; C
85 REM Test for the negative income which is the terminator
90 IF C > 0 THEN
95 REM Add up the income for each gate
100 S(I) = S(I) + C
105 REM Pass the control to line 80
110 GOTO 80
115 REM Close the if statement
117 ELSE
119 GOTO 130
120 ENDIF
130 CLS
140 NEXT K
150 CLS
155 REM Create a for, next loop to print out the report
160 PRINT Gate ID. Total Income
180 FOR I = 1 TO P
190 PRINT A$(I),,, S(I)
210 NEXT I
215 REM Test for the gate with the largest income
217 LG = 0
220 FOR N = 1 TO P
230 IF S(I) > LG THEN
240 LG = S(I)
250 T$ = A$(I)
260 ENDIF
270 NEXT N
275 REM Print the gate with the largest income and the amount
290 PRINT The gate with the largest income; LG, is; T$
320 END

24. Write QBASIC Program to read the records/accounts of 1000 employees of STARBLISS (NIG.)
LTD. Each record has the following layout:

Columns 1 20 contains employee surname,


Columns 21 35 contains employee other names,
Columns 36 45 contains employee department,
Columns 46 52 contains employee gross monthly income
Columns 53 54 contains spaces,
Columns 54 61 contains employee gross monthly deduction.

Requirement:
Calculate the total monthly net pay of each employee and generate the output reports and
accounts.

Solution:

10 REM This programme reads the records of 1000 employee of


20 STARBLISS (NIG.) LTD. Each employee is described by
30 surname, other names, departments,
40 gross monthly income and gross monthly deduction.
50 Calculate for each employee
60 the total gross income
65 the total gross deduction and
70 monthly net pay and print the output report
90 CLS
100 REM Set all previous key setting off
110 KEY OFF
120 DIM S$(1000), O$(1000), T$(1000), M(1000), U(1000), N(1000)
130 TINC = 0
140 TDED = 0
150 TNCTPAY = 0
160 REM Set a for and next loop to accept 1000 records
170 FOR I = 1 TO 1000
180 REM accept all the necessary data
190 INPUT Surname: ; S$(I)
200 INPUT Other names: ; O$(I)
210 INPUT Department: ; T$(I)
220 INPUT Gross monthly income: ; M(I)
230 INPUT Gross monthly deduction: ; U(I)
240 REM Calculate monthly net pay for each employee
250 N(I) = M(I) U(I)
260 TINC = TINC + M(I)
270 TDED = TDED + U(I)
280 TNETPAY = TNETPAY + N(I)
290 CLS
300 NEXT I
310 CLS
320 REM Print the required report
330 FOR I = 1 TO 1000
340 PRINT S$(I), O$(I), T$(I), M(I), U(I), N(I)
350 NEXT I
360 REM Print total gross income, total gross deduction and total net pay
370 PRINT Total gross income: ; TINC
380 PRINT Total gross deduction: ; TDED
390 PRINT Total net pay: ; TNETPAY
400 END

25. Write QBASIC Programme to input the records of a file where each record contains the identity
of a person, the amount of loan in Naira he obtains (the principal), the interest rate of the loan
and the number of payment period per year. The programme should compute the loan payment
required for each pay period to repay the outstanding principal in one year at the indicated rate in
Naira equal payments. The formula for calculating payments is:

Payment = P(1 + K) + 12
n
Where
P = Principal loan
K = Interest rate
n = Number of periods per year

Solution:

10 CLS
20 REM Set previous key setting off
30 KEY OFF
40 REM Enter the number of the debtors
50 INPUT Please enter the number of debtors to consider; d
60 CLS
70 DIM A$(d), B$(d), C(d), D(d), E(d), F(d)
80 REM Create a for and next loop to accept the records of debtors
90 FOR I = 1 TO d
100 INPUT Surname: ; A$(I)
110 INPUT Other names: ; B$(I)
120 INPUT Principal Loan: ; C(I)
130 INPUT Interest rate: ; K(I)
140 INPUT Payment period per year = ; E(I)
150 REM Compute the payment per period for each debtor
160 F(I) = (C(I) * (1 + K(I)) + 12) / E(I)
170 CLS
180 NEXT I
190 CLS
200 REM Print the report
210 FOR I = 1 TO d
220 PRINT A$(I), B$(I), C(I), K(I), E(I), F(I)
225 NEXT I
230 END

INTRODUCING BASIC GRAPHICS ON QBASIC

26. Write QBASIC programme that causes a red lighting bolt to be displayed on the screen

Solution:

10 REM Case study of lighting bolt


20 REM
30 KEY OFF
35 CLS
40 SCREEN 1
45 COLOR 0,0
50 LINE (20, 20) (120, 80), 2
55 LINE (80, 80), 2
60 LINE (220, 180), 2
65 LINE (140, 100), 2
70 LINE (190, 100), 2
80 LINE (110, 20), 2
90 LINE (20, 20), 2
100 END

27. Given below is a QBASIC Programme which causes a sequence of rectangles to move from the
centre of the screen to the outer edges. This programme also utilizes sound to enhance the
graphics effects.

Solution:
10 REM Case study of concentric rectangles
20 REM
30 KEY OFF
35 CLS
40 SCREEN 1
45 COLOR 0, 1
47 C = 3
50 P = 0
55 Q = -45
70 REM Begin main loop
80 FOR I = 1 TO 10
90 LINE (160 1.6 * P, 100 P) (160 + 1.6 * P, 100 + P), C, B
100 IF Q > 0 THEN
105 LINE (160 1.6 * Q, 100 Q) (160 + 1.6 * Q, 100 + Q), O, B
107 ENDIF
110 P = P + S
115 IF P > 95 THEN
117 P = 0
119 C = 1 + INT(3 * RND)
120 Q = Q + 5
123 ENDIF
125 IF Q > 95 THEN
127 Q = 0
129 ENDIF
130 IF P = 0 OR Q = 0 THEN
133 SOUND 20 + INT(100 * RND), 10
135 ENDIF
140 NEXT I
150 END

28. Given below is a QBASIC programme which causes repeated groups of concentric circles to be
generated, with each group starting at the centre of the screen and moving outward to the edge.

Solution:

10 REM Case study of concentric circles


20 REM
30 KEY OFF
35 CLS
40 SCREEN 1
45 COLOR 0, 1
50 LINE (39, 0) (279, 199), 3B
60 CLR = 1
70 REM
80 REM begin loop
90 REM
100 FOR 1 = 5 TO 120 STEP 5
110 CIRCLE (160, 100), R, CLR
120 NEXT I
130 CLR = CLR + I
133 IF CLR > 3 THEN
135 CLR = 1
137 ENDIF
140 GOTO 100
150 END

29. Write an alternative QBASIC programme that allow any shape objects, circles, ellipses and
rectangles to be filled with other paint colours, with the general form of using paint statement.

Solution:

5 CLS
10 REM This programme generates concentric painted circles
20 SCREEN 9
30 FOR K = 1 TO 100
40 CIRCLE(300, 165), K
50 CIRCLE(320, 165), K
60 CIRCLE(100, 183), K
70 CIRCLE(200, 265), K
80 CIRCLE(220, 34), K
90 CIRCLE(240, 55), K
100 CIRCLE(120, 134), K
110 CIRCLE(160, 123), K
120 CIRCLE(80, 265), K
130 CIRCLE(40, 80), K
140 CIRCLE(14, 105), K
150 CIRCLE(140, 25), K
160 CIRCLE(70, 65), K
170 CIRCLE(300, 16), K
180 CIRCLE(400, 84), K
190 CIRCLE(340, 99), K
200 LINE (500, 200 K + 8) (600, 230 K + 8), 2, BF
210 LINE (350, 225 K + 8) (500, 215 K + 8), 7, BF
220 SLEEP 1
230 LINE (500, 200 K + 8) (600, 230 K + 8), 0, BF
240 LINE (350, 225 K + 8) (500, 215 K + 8), 0, BF
250 NEXT K
260 END

ADVANCE GRAPHS OF BAR CHART ON QBASIC

30. Given below is a QBASIC programme that causes a bar chart to be generated. Each value is
assumed to be non-negative, therefore the values will be displayed above each of their respective
rectangles, that is, above each bar

To run the programme, the input data set are:-


Annual Sales Increases
Increase (%) Year
7.8 1991
8.2 1992
6.7 1993
10.6 1994
12.3 1995

Solution:

10 REM Bar chart generation


20 REM
30 KEY OFF
35 CLS
40 WIDTH 80
42 SCREEN 0
44 COLOR 7, 0
50 DIM Label$(12), Y(12)
60 LOCATE 1, 20: PRINT String$(40, *)
70 LOCATE 2, 20: PRINT *; SPC(38); *
80 LOCATE 3, 20: PRINT *; SPC(9); Bar Chart Generation; SPC(10); *
90 LOCATE 4, 20: PRINT *; SPC(38); *)
100 LOCATE 5, 20: PRINT String$(40, *)
110 YMAX = 0
120 REM
130 REM Enter data and find largest y
140 REM
150 LOCATE 7, 1: INPUT Title: ; Title$
160 LOCATE 9, 1: INPUT How many data items? (1 12); ANS$
165 N = VAL(ANS$)
170 IF N < 1 OR N > 12 THEN
173 BEEP
175 LOCATE 9, 29: PRINT Space$(6)
177 ENDIF
179 GOTO 160
180 FOR I = 1 TO N
190 LOCATE 1 + 10: PRINT I = ; I
200 LOCATE 1 + 10, 15: INPUT Value: ; ANS$
205 Y(I) = VAL(ANS$)
210 IF LEFT$(ANS$, 1) = 0 THEN 230
220 IF Y(I) < = 0 THEN
222 BEEP
224 LOCATE 1 + 10, 21: PRINT Space$(6)
226 ENDIF
228 GOTO 200
230 LOCATE 1 + 10, 35: INPUT Label: ; Label$(I)
240 IF Y(I) > YMAX THEN YMAX = Y(I)
250 NEXT I
260 REM
270 REM Generate and display the bar chart
280 REM
290 CLS
292 W = 60 \ N
300 FOR I = 1 TO N
310 R = 20 18 * Y(I) \ YMAX
313 IF R = 20 THAN 370
320 FOR ROW = R TO 20
330 FOR COL = ( I 1) * W + 11 TO I * W + 8
340 LOCATE ROW, COL: PRINT *
350 NEXT COL
360 NEXT ROW
370 NEXT I
380 REM
390 REM Label the bar chart
400 REM
410 FOR I = 1 TO N
420 R = 19 19 * Y(I) \ YMAX
430 C = 9 + (I 1) * W + (W LEN(Str$(Y(I) ) ) ) / 2
440 LOCATE R, C: PRINT Y(I)
450 C = 10 + (I 1) * W + (W LEN (Label$(I) ) ) / 2
460 LOCATE 21, C: PRINT Label$ (I)
470 NEXT I
480 C = 10 + (N * W LEN(Title$) ) / 2
490 LOCATE 23, C: PRINT Title$; :LOCATE 23, 1
500 END
ANIMATIONS OF GRAPHICS ON QBASIC

31. Given below is a basic programme which causes a ball to move freely within a confined enclosure.
Write to generate the animation by means of the GET and PUT statement.

Solution:

10 REM Bouncing Ball


20 REM
30 KEY OFF
35 CLS
40 DEFINT A Z
50 RANDOMIZE
55 CLS
60 SCREEN 2
70 DIM BALL (34)
80 LINE (0, 0) (639, 199), , B
90 LINE (10, 5) (629, 194), , B
100 PAINT (5, 2)
110 X = 20 + INT(600 * RND)
115 Y = 20 + INT(190 * RND)
120 DX = 1 + INT(10 * RND)
125 DY = 1 + INT(10 * RND)
130 CIRCLE (X, Y), 10
140 PAINT (X, Y)
150 GET(X 10, Y 10) (X + 10, Y + 10), BALL
190 PUT(X 1 , Y 10), BALL
200 X1 = X + DX
205 Y1 = Y + DY
210 IF X1 < 21 THEN
213 X1 = 21
215 DX = -DX
217 ENDIF
219 GOTO 230
223 X1 = 618
225 DX = -DX
227 ENDIF
230 IF Y1 < 10 THEN
233 Y1 = 10
235 DY = -DU
237 ENDIF
239 GOTO 250
240 IF Y1 > 189 THAN
243 Y1 = 189
245 DY = -DY
247 ENDIF
250 PUT(X1 10, Y1 10), BALL
260 X = X1
265 Y = Y1
270 FOR K = 1 TO 5
275 NEXT K
280 GOTO 190
290 END

ADVANCE ANIMATION

32. Write a QBASIC program of moving circular shape objects.

Solution:

10 REM This program makes a particular shape


20 REM scrolls up the screen leaving a circular design
30 CLS
40 SCREEN 1
50 FOR K = 1 TO 300 STEP 10
60 LINE(50, 120 K) (100, 300 K), 2, BF
70 LINE(100, 70 K) (200, 300 K), , BF
80 LINE(150, 120 K) (250, 300 K), 2, BF
90 SLEEP 1
100 LINE(50, 120 K) (100, 300 K), 0, BF
110 LINE(100, 70 K) (200, 300 K), 0, BF
120 LINE (150, 120 K) (250, 300 K), 0, BF
130 CIRCLE(150, 150), K, 1
140 NEXT K

33. Write QBASIC program that display a picture of human face using object.

Solution:

5 CLS
10 REM This programme displays the picture of a human face
20 SCREEN 1
30 FOR K = 1 TO 10
40 COLOR 7, 2
50 CIRCLE(150, 100), 70
60 CIRCLE(120, 80), K
70 CIRCLE(180, 80), K
80 LINE(150, 80) (170, 110)
90 LINE-(150, 110 K)
100 CIRCLE(150, 130), K
110 SLEEP 1
120 NEXT K

34. Write a QBASIC programme that generate a waving Nigerian flag on a pole using objects.

Solution:

5 CLS
10 REM This program generates Nigerian flag on a pole
20 SCREEN 9
30 FOR K = 1 TO 100
40 LINE(150, 100) (200, 140), 2, BF
50 LINE(200, 100) (250, 140), 7, BF
60 LINE(250, 100) (310, 140), 2, BF
70 LINE(300, 100) (310, 300), 1, BF
80 SLEEP 1
90 LINE(150, 100) (200, 140), 0, BF
100 LINE(200, 100) (250, 140), 0. BF
110 LINE(250, 100) (300, 140), 0, BF
120 LINE(300, 100) (310, 300), 1, BF
130 LINE(310, 100) (360, 140), 2, BF
140 LINE(360, 100) (410, 140), 7. NF
150 LINE(140, 100) (460, 140), 2, BF
160 LINE(300, 100) (310, 300), 1, BF
170 SLEEP 1
180 LINE(310, 100) (360, 140), 0, BF
190 LINE(360, 100) (410, 140), 0, BF
200 LINE(410, 100) (460, 140), 0, BF
210 LINE(300, 100) (310, 300), 1, BF
220 NEXT K
OPTIONAL

APPENDIX A: (CASE STUDY OF A RACING CAR)

35. Write QBASIC programme that generates a racing car using objects

Solution:

43 CLS
44 REM This programme generates a racing car
45 SCREEN 1
46 COLOR 2
47 LINE(10 + K, 100 + J) (10 + K, 80 + J)
48 LINE (30 + K, 80 + K)
49 LINE (50 + K, 60 + J)
50 LINE (70 + K, 57 + J)
51 LINE (90 + K, 60 + J)
52 LINE (120 + K, 80 + J)
53 LINE (170 + K, 80 + J)
54 LINE (180 + K, 100 + J)
55 LINE (180 + K, 110 + J)
56 LINE (170 + K, 110 + J)
57 LINE(10 + K, 100 + J) (20 + K, 110 + J)
58 LINE(65 + K, 110 + J) (140 + K, 110 + J)
59 LINE(10 + K, 100 + J) (35 + K, 100 + J)
60 LINE(60 + K, 100 + J) (140 + K, 100 + J)
61 LINE(180 + K, 100 + J) (170 + K, 100 + J)
62 LINE(10 + K, 90 + J) (170 + K, 90 + J)
63 LINE(70 + K, 80 + J) (80 + K, 90 + J)
64 LINE (80 + K, 110 + J)
65 LINE(120 + K, 80 + J) (130 + K, 90 + J)
66 LINE (130 + K, 110 + J)
67 LINE(50 + K, 80 + J) (50 + K, 95 + J)
68 LINE(77 + K, 82 + J) (80 + K, 85 + J), 5, BF
69 LINE(52 + K, 82 + J) (55 + K, 85 + J), 5, BF
70 LINE(50 + K, 80 + J) (50 + K, 60 + J)
71 LINE (90 + K, 60 + J)
72 LINE(30 + K, 80 + J) (120 + K, 80 + J)
73 LINE(52 + K, 62 + J) (69 + K, 78 + J), 3, BF
74 LINE(71 + K, 62 + J) (88 + K, 78 + J), 3, BF
75 LINE(90 + K, 62 + J) (118 + K, 78 + J)
76 LINE (90 + K, 78 + J)
77 LINE (90 + K, 62 + J)
78 LINE(70 + K, 80 + J) (80 + K, 90 + J)
79 CIRCLE(50 + K, 110 + J), 15
80 CIRCLE(50 + K, 110 + J), 10
81 LINE(40 + K, 110 + J) (60 + K, 110 + J)
82 LINE(50 + K, 105 + J) (50 + K, 115 + J)
83 CIRCLE(155 + K, 110 + J), 15
84 CIRCLE(155 + K, 110 + J), 10
85 LINE(145 + K, 110 + J) (165 + K, 110 + J)
86 LINE(155 + K, 105 + J) (155 + K, 115 + J)
87 LINE(20 + K, 110 + J) (35 + K, 110 + J)
88 PRINT Set! ; BEEP
89 SLEEP 3
90 LOCATE 10, 30: PRINT Go! ; BEEP
91 SLEEP 1
92 CLS
93 SCREEN 9
94 COLOR 2
95 FOR T = 1 TO 5
96 LINE (1, 50) (700, 140), , B
97 LINE (1, 230) (700, 230)
98 LINE (1, 320) (700, 320)
99 FOR J = 1 TO 270 STEP 90
100 FOR K = 1 TO 1000 STEP 50
101 LINE (10 + K, 100 + J) (10 + K, 80 + J)
102 LINE (30 + K, 80 + J)
103 LINE (50 + K, 60 + J)
104 LINE (70 + K, 57 + J)
105 LINE (90 + K, 60 + J)
106 LINE (120 + K, 80 + J)
107 LINE (170 + K 90 + J)
108 LINE (180 + K, 100 + J)
109 LINE (180 + K, 110 + J)
110 LINE (170 + K, 110 + J)
120 LINE (10 + K, 100 + J) (20 + K, 110 + J)
130 LINE (65 + K, 110 + J) (140 + K, 110 + J)
140 LINE (10 + K, 100 + J) (35 + K, 100 + J)
150 LINE (60 + K, 100 + J) (140 + K, 100 + J)
160 LINE (180 + K, 100 + J) (170 + K, 100 + J)
170 LINE (10 + K, 90 + J) (170 + K, 90 + J)
180 LINE (70 + K, 80 + J) (80 + K, 90 + J)
190 LINE (80 + K, 110 + J)
200 LINE (120 + K, 80 + J) (130 + K, 90 + J)
210 LINE (130 + K, 110 + J)
220 LINE (50 + K, 80 + J) (50 + K, 95 + J)
230 LINE (77 + K, 82 + J) (80 + K, 85 + J), 5, BF
240 LINE(52 + K, 82 + J) (55 + K, 85 + J), 5, BF
250 LINE (50 + K, 80 + J) (50 + K, 60 + J)
260 LINE (90 + K, 60 + J)
270 LINE (30 + K, 80 + J) (120 + K, 80 + J)
280 LINE(52 + K, 62 + J) (69 + K, 78 + J), 3, BF
290 LINE(71 + K, 62 + J) (88 + K, 78 + J), 3, BF
295 LINE (90 + K, 62 + J) (88 + K, 78 + J)
300 LINE (90 + K, 78 + J)
310 LINE (90 + K, 62 + J)
320 LINE (70 + K, 80 + J) (80 + K, 90 + J)
330 CIRCLE (50 + K, 110 + J), 15
340 CIRCLE (50 + K, 110 + J), 10
350 LINE (40 + K, 110 + J) (60 + K, 110 + J)
360 LINE (50 + K, 105 + J) (50 + K, 115 + J)
370 CIRCLE (155 + K, 110 + J), 15
380 CIRCLE (155 + K, 110 + J), 10
390 LINE (145 + K, 110 + J) (165 + K, 110 + J)
400 LINE (155 + K, 105 + J) (155 + K, 115 + J)
410 LINE (20 + K, 110 + J) (35 + K, 110 + J)
420 LINE (10 + K, 100 + J) (10 + K, 80 + J), 0
430 LINE (30 + K, 80 + J), 0
440 LINE (50 + K, 60 + J), 0
450 LINE (70 + K, 57 + J), 0
460 LINE (90 + K, 60 + J), 0
470 LINE (120 + K, 80 + J), 0
480 LINE (170 + K, 90 + J), 0
490 LINE (180 + K, 100 + J), 0
500 LINE (180 + K, 110 + J), 0
510 LINE (170 + K, 110 + J), 0
520 LINE (10 + K, 100 + J) (20 + K, 110 + J), 0
530 LINE (65 + K, 110 + J) (140 + K, 110 + J), 0
540 LINE (10 + K, 100 + J) (35 + K, 100 + J), 0
550 LINE (60 + K, 100 + J) (140 + K, 100 + J), 0
560 LINE (180 + K, 100 + J) (170 + K, 100 + J), 0
570 LINE (10 + K, 90 + J) (170 + K, 90 + J), 0
580 LINE (70 + K, 80 + J) (80 + K, 90 + J), 0
590 LINE (80 + K, 110 + J), 0
600 LINE (120 + K, 80 + J) (130 + K, 90 + J), 0
610 LINE (130 + K, 110 + J), 0
620 LINE (50 + K, 80 + J) (50 + K, 95 + J), 0
630 LINE (77 + K, 82 + J) (80 + K, 85 + J), 0, BF
640 LINE (52 + K, 82 + J) (55 + K, 85 + J), 0, BF
650 LINE (50 + K, 80 + J) (50 + K, 60 + J), 0
660 LINE (90 + K, 90 + J), 0
670 LINE (30 + K, 80 + J) (120 + K, 80 + J), 0
680 LINE (52 + K, 62 + J) (80 + K, 85 + J), 0, BF
690 LINE (71 + K, 62 + J) (88 + K, 78 + J), 0, BF
700 LINE (90 + K, 62 + J) (118 + K, 78 + J), 0
710 LINE (90 + K, 78 + J), 0
720 LINE (90 + K, 62 + J), 0
730 LINE (70 + K, 80 + J) (80 + K, 90 + J), 0
740 CIRCLE (50 + K, 110 + J), 15
750 CIRCLE (50 + K, 110 + J), 10
760 LINE (40 + K, 110 + J) (60 + K, 110 + J), 0
770 LINE (50 + K, 105 + J) (50 + K, 115 + J), 0
780 CIRCLE (155 + K, 110 + J), 15, 0
790 CIRCLE (155 + K, 110 + J), 10, 0
800 LINE (145 + K, 110 + J) (165 + K, 110 + J), 0
810 LINE (155 + K, 105 + J) (155 + K, 115 + J), 0
820 LINE (20 + K, 110 + J) (35 + K, 110 + J), 0
830 NEXT K
840 NEXT J
850 NEXT T

I WILL STOP HERE FOR NOW. I HOPE THIS WILL HELP YOU FOR YOUR PROGRAMMING.

THANKS AND GOD BLESS YOU.

You might also like