QBASIC
QBASIC(Quick
Beginners all Purpose Symbolic Instructions Code) is a programming language. It
supports structured programming. The older version of the QBASIC is
BASIC invented by Professor J. G. Kemeny and T. E. Kurtz of
Dartmouth College, New Hampshire, U.S.A. as a language for the beginners and
was implemented in 1964. Later Microsoft Inc has been releasing QBASIC
programming language. New version of QBASIC contains new features. QBASIC has
its own compiler. QBASIC is supplied as an additional programming environment
in DOS diskettes as an interpreter.
Basics of QBASIC
The
foundation of QBASIC programming is made with various elements. These elements
are discussed in the coming sections.
Basic Data Types: Different types of data are sued in QBASIC.
These are listed as follows.
DATA
Type
|
Declaration
Symbol
|
Maximum
|
Minimum
|
String
|
$
|
32767
Chars
|
0 Chars
|
Integer
|
%
|
32767
|
-32768
|
Long
Integer
|
&
|
2147483647
|
-21474836478
|
Single(7
digit) precision
|
!
|
3.402823E+38
|
1.401298E-45
|
Double(15
digit) precision
|
#
|
1.7976931
|
4.940656
D324
|
User –
Defined Data Types
|
String
There are
two kinds of strings used in QBASIC. They are:
(a) Variable – length String
(b) Fixed length string
(a) Variable – length string : A variable – length sring is a
sequence of up to 32767 characters. The codes for these characters range from 0
– 127 for regular ASCII (American Standard Code for Information Interchange)
characters, and from 128 – 255 for the extended – ASCII characters.
(b) Fixed Length string: A fixed – length string contains a declared
number of characters, no more than 32767. Like variable – length strings, a
fixed – length string contains characters with code ranging from 0 – 255.
String
type of data are assigned from right to a variable on the left of equal to
sign. the variable contains $ sign as suffix.
A$=
"Happy Diwali"
here, A$
is a variable and happy diwali is a actual data.
Integer Long Integer
Integers
are stored as 16 bit binary numbers (two bytes) ranging in value from -32768 to
+23767. Long integers are stored as assigned 32 – bit binary numbers( four
bytes) ranging in value from -2147483648 to +2147483647.
User Defined Data Typed
Basic
lets you define new data types using the TYPE statement. A user – Define type
is an aggregate type made up of elementary BASIC types. for example, The
following type statement defines a type, SymTabEntry.
TYPE
SymTabEntry
Identifier
AS STRING *40
LineNumber
AS LONG
Value AS
LONG
END TYPE
Constants
Constants
are predefined values that do not change during program execution. There are
two types of constants. There are:
(a) String Constant
(b) Numeric
Constant
(a). String
Constant: A string constant is a sequence of alphanumeric characters
enclosed by double quotation marks. There alphanumeric characters can be any of
the characters whose ASCII codes fall within the range 0 – 255 (except the
double quote character(").
(b). Numeric
constants : A
Variable
A
variable is a name that refers to an object, i.e. a particular number, string
or record. A record is a variable declared to be a user-defined type, Simple
variables refer to a single number, string or record. Array variables refer to
a group of objects, all of the same type.
A numeric
variable, whether, simple or array, can be assigned only a numeric value either
integer, long integer, single precision or double precision. A string variable
can be assigned only a character- string value. You can assign one
record variable to another only if both variables are the sage user defined
type.
Example,
A
constant value:
a=9.5
The value
of another string or numeric value:
B$="Disk
of operators"
A$=B$
Variable Name
A QBASIC
variable name may contain up to 40 characters. The characters allowed in a
variable name are letters, numbers, the period(.) and the type -
declaration characters(%, &, !, # and $). The first character in a variable
name must be a letter. If a variable begins with FN, it is assumed to be called
to DEF FN function.
Expressions and Operators
An
expression can be a string or numeric constant, a variable, or a single value
obtained by combining constants, variable and other expressions with operators.
Operators
perform mathematical or logical operations on value. The operators provided by
BASIC can be divided into five categories.
a) Arithmetic Operator
b) Relational Operator
c) Logical Operator
d) Functional operator
e) String operator
a) Arithmetic Operators: Arithmetic operators
perform calculations.
Examples,
+
: Addition
-
: Subtraction
*
: Multiplication
/
: Division
%
: Percentage
b) Relational Operator : Relational operators
compare strings and numeric values. Relational operators compare two values.
The result of the comparison is either true or false.
These are
given below:
Operator
|
Relation
|
Expression
|
=
|
Equality
|
x=y
|
<>
|
Inequality
|
x<>y
|
>
|
Greater
|
x>y
|
<
|
Less
|
x<y
|
>=
|
Greater
than Equal
|
x> =
y
|
<=
|
Less
than Equal
|
x <
= y
|
c) Logical Operator : Logical operators text
complex conditions or manipulate individual bits. Logical operators performs
texts on multiple relations, bit manipulations, or Boolean operations and
returns a true or false values to be used in making a decision.
Example,
if
D<=200 And F<5 then 40
While
i>=10 or k<0
The six
logical operators in BASIC, listed in order of precedence,
Operators
|
Meaning
|
NOT
|
Logical
Complement
|
AND
|
Conjunction
|
OR
|
Disjunction
(inclusive "or")
|
XOR
|
Exclusive
"or"
|
EQV
|
Equivalence
|
IMP
|
Implication
|
d) Functional Operators : - Functional operators
supplement simpler operators. A function is used in an expression to call a
predetermined operation to be performed on an operand. For example, SQR is a
function used twice in the following assignment statement.
A=SQR(25)
e) String Operator :- String operators combine and
compare strings. A string expression consists of string constants, string
variables, and other string expressin consists of string constants, string
variables, and other strings expressions combined by string operators. There
are two classes of string operations: concatenation and string function.
Example,
A$="FILE"
:B$="NAME"
PRINT
A$+B$
Output
FILENAME
Flowchart
A flowchart is a diagram that
represent the acts such as inputs, calculations and output that must be
performed in proper order to solve the problem with the help of program.
Flowchart helps us design logically correct solutions to a problem. We can keep
on making improvements on the flowchart until all the aspects of the problem
have been represented in the diagram.
Algorithm
An
algorithm is a well-defined sequence of acts or procedures to perform the
solution of problem in a finite number of steps. Hence, a flowchart is an
excellent vehicle to represent an algorithm. Stepwise instructions to solve the
problem as known as algorithm.
Control Statement
Statements
that controls the program statements. There are two types of control
statements.
1.
Decision
Making
a).
If…….. then ……..else …….statement
b).
Select………. Case Statement
2. Loop
Statements
a). For
Loop
b). While
Loop
c) Do
Loop
e) Goto
Loop (breaking statement)
a) If …. then ……else statement
The if
else statement used to express conditional expressions. If the given condition
is true then it will execute the statements; otherwise it will execute the
optional statements.
Syntax: 1
if
(Conditional _ Expression) then
statement1
statement2
else
statement1
statement2
end if
Example,
if(x>y)
then
print
"X is greater"
else
print
"Y is greater"
end if
Syntax2.
if(conditional
_Expression)
statement1
statement2
elseif(conditional
_expression)
statement1
statement2
elseif(conditional
_ expression)
statement1
statement2
else
statement1
statement2
endif
Example,
cls
input
"Enter your choice";ch
if(ch=1)
print
"The day is Sunday"
elseif(ch=2)
print
"The day is Monday"
elseif(ch=3)
print
"The day is Tuesday"
elseif(ch=4)
print
"The day is Wednesday"
elseif(ch=5)
print
"The day is Thrusday"
elseif(ch=6)
print
"The day is Friday"
elseif(ch=7)
print
"The day is Saturday"
else
print
"Please don't type more than 7 and less then 0"
end if
b) Select Case statement
The
select case is a special multi way decision maker that tests whether an
expression matches one of the number of constant values, and braces
accordingly. The syntax is given below:
Select
case <expression>
case is
=<exp>
statement1
case is
=<exp>
statement1
end
select
Example,
cls
input
"Your choice";ch
select
case ch
case is=1
print
"Sunday"
case is=2
print
"Monday"
case is =
3
print
"Tuesday"
case is=4
print
"Wednesday"
case is
=5
print
"Thursday"
case is
=6
print
"Friday"
case is=7
print
"Saturday"
end
select
c). For
Loop
The for
loop is most commonly used statement in QBASIC. This loop consists of three expressions.
The first expression is used to initialize the index value, the second to check
whether or not the loop is to be continued again and the third to change the
index value for further iteration.
Syntax:
for
expression _ 1 to expression _ 2 step value
statement1
statement2
next
<expression>
Example,
CLS
for i=1
to 10 step 2
print i
next i
d). While
Loop
The
second type of loop , the while loop, is used when we are not certain that the
loop will be executed. After checking whether the initial condition is true or
false and finding it to be true, only then the while loop will enter into
the loop operations.
Syntax:
While
conditional _ expression
statement
1
statement
2
wend
Example,
CLS
x=1
while
x<20
print x
x=x+1
wend
e). Do
Loop
It also
loop statement.
Syntax:
do
statement1
statement2
loop
while(condition)
Example,
CLS
x=1
do
print x
x=x+1
loop
while(x<=20)
f). Goto
Statement
The Goto
statement is used to alter the program execution sequence by transferring
control to some other part of the program. There are two types of goto
statement.
Unconditional Goto : The unconditional goto statement is used
just to transfer the control from one part of the program to the other part
without checking any condition. Normally, a good programmer will not prefer to
use the unconditional goto statement in his program as it may lead to a very
complicated program like a never ending process.
Syntax:
Start:
statement1
statement2
goto
start:
Conditional Goto
The
conditional goto is used to transfer the control of execution from one part of
the program to the other in certain conditional cases.
Syntax:
start:
statement1
statement2
statement2
if(conditional_
Expression) then
goto
start;
else
end
Practical
1. Write a program to print radius of the circle.
DEF fna
(a) = 3.14 * r * r
INPUT
"value of radius"; r
PRINT
"the area of circle"; fna(a)
END
2. Write
a program to print the simple interest.
CLS
pv = 5000
r = 12
t = 2
si = (pv
* r * t) / 100
PRINT si
END
3. Write
a program to find qube value.
CLS
INPUT
"first value"; a
INPUT
"second value"; b
INPUT
"third value"; c
x = (a +
b + c) ^ 3
PRINT x
END
4. Write
a menu driven program to display a menu by using case statement.
s:
PRINT
"main manu"
PRINT
"*********"
PRINT
" 1. change ic to nc"
PRINT
"2.area of the circle"
PRINT
"3. greater number"
PRINT
"4.to calculate the total salary"
PRINT
"5. month of the year"
PRINT
"6. student result sheet"
PRINT
"7.exit"
INPUT "enter your choice", ch
SELECT CASE ch
CASE IS = 1
CLS
INPUT "indian currency", ic
nc = ic * 1.6
PRINT "the nepali currency", nc
GOTO s:
CASE IS = 2
CLS
INPUT "radius of circle", r
pi = 3.14
ac = pi * r ^ 2
PRINT "area of the circle", ac
GOTO s:
CASE IS = 3
CLS
INPUT "value of x", x
INPUT "value of y", y
IF (x > y) THEN
PRINT "x is greater"
ELSE
PRINT "y is greater"
END IF
GOTO s:
CASE IS = 4
INPUT "basic salary", bs
hra = bs * 5 / 100
ma = bs * 4 / 100
ta = bs * 2 / 100
da = bs * 4 / 100
ts = bs + ma + da + hra + ta
PRINT "total salary", ts
GOTO s:
CASE IS = 5
INPUT "value of the month", m
SELECT CASE m
CASE IS = 1
PRINT "junary"
CASE IS = 2
PRINT "february"
CASE IS = 3
PRINT "march"
CASE IS = 4
PRINT "april"
CASE IS = 5
PRINT "may"
CASE IS = 6
PRINT "june"
CASE IS = 7
PRINT "july"
CASE IS = 8
PRINT "august"
CASE IS = 9
PRINT "september"
CASE IS = 10
PRINT "october"
CASE IS = 11
PRINT "november"
CASE IS = 12
PRINT "december"
END SELECT
GOTO s:
CASE IS = 6
INPUT "student result sheet", result
INPUT "eng", eng
INPUT "math", ma
INPUT "nepali", ne
INPUT "science", sc
tot = eng + ma + ne + sc
percent = tot / 4
IF (percent >= 60) THEN
PRINT "first"
ELSEIF (percent >= 45) THEN
PRINT "second"
ELSE
PRINT "third"
END IF
PRINT "total", tot
PRINT
"percent", percent
END
CASE IS = 7
END
END SELECT
5. Write
a program to print maximum value and minimum number. number input through the
keyboard.
CLS
DIM x(10)
FOR i = 1
TO 10
INPUT
" any value"; x(i)
NEXT i
max =
x(1)
min =
x(1)
FOR i = 1
TO 10
IF max
< x(i) THEN max = x(i)
IF min
> x(i) THEN min = x(i)
NEXT i
PRINT
"the maximum value"; max
PRINT
"the minimum value"; min
END
6. Write
a program to print Fibonacci series.
CLS
x = 1
y = 1
PRINT x
WHILE z
< 144
z = x + y
PRINT z
x = y
y = z
WEND
END
7. Write
a program to enter student marks from the keyboard and print the total
mark, percentage, division and result.
CLS
INPUT
"marks of english=", en
INPUT
"marks of math=", ma
INPUT
"marks of nepali=", ne
INPUT
"marks of science=", sc
INPUT
"marks of social=", soc
total =
en + ma + ne + sc + soc
percent =
total / 5
f$ =
"first"
s$ =
"second"
t$ =
"third"
p$ =
"pass"
f1$ =
"fail"
CLS
PRINT
"**********************************************************"
PRINT
"marks of english=", en
PRINT
"marks of math=", ma
PRINT
"marks of nepali=", ne
PRINT
"marks of science=", sc
PRINT
"marks of social=", soc
PRINT
"total marks= ", total
PRINT
"percentage=", percent
IF
(percent >= 60) THEN
PRINT
"the division is:first"
ELSEIF
(percent >= 45) THEN
PRINT
"the division is:second"
ELSE
PRINT
"the division is:third"
END IF
IF (en
>= 32 AND ma >= 32 AND ne >= 32 AND sc >= 32 AND soc >= 32) THEN
PRINT
"the result is:pass"
ELSE
PRINT
"the result is:fail"
END IF
PRINT "******************************************************************"
END
Functions:
Functions
are the ready made formula in QBASIC . There are mainly two types of functions
in QBASIC.
1. String Functions
For
Example,
CHR$,
ASC, STR$, UCASE$, LCASE$ DATE$, TIME$ Etc.
2. Numeric Functions
For
Example,
ABS, SIN,
TAN, COS, Etc.
File Handling
Open
It is a command which opens a file to read and write in
qbasic.
Syntax
Open
<mode>, <file number>, <file Expression>
Example,
OPEN
"O", #1,"hari.txt"
MODE IN FILE
HANDLING
"O"
: - Write data into a sequencial file.
"I"
:- Reads data form the sequencial file.
"A"
:- Write data into a sequencial file from the end of the records. Or appends
the records or data.
"R"
Reads or writes the files from the random access file.
"B"
:- Read or write data from binary file.
CLOSE
This
command closes all open files which are opened to read and write data.
Syntax:
CLOSE
<File number>
Example,
CLOSE #1
WRITE
This
command allows you to write the data into sequecial a file.
Syntax:
Write
<File Number>, Expression1, expression2..exp n.
Example,
WRITE
#1,NAME$,ADDRESS$,PHONE
WIRTE #1,
"HARI", "BARDIA", 524545
PRINT#
The
print# command allows you to store or write data into a sequencial file.
Syntax:
Print
<Fine number> ,Expression1, Expression2....exp n.
Example,
PRINT
#1,NAME$,ADDRESS$,PHONE
INPUT #
INPUT
Command reads data form the sequencial file and assigns them into a variable.
Syntax:
INPUT
<FILE Number>, <Exp1.exp2...expn.>
Example,
INPUT
#1,NAME$,ADD$,PHONE
LINE INPUT #
The LINE INPUT# Command reads an entire line from the
sequential file.
Syntax:
LINE
INPUT <FILE Number>,Exp1, Exp2..expn.>
Example,
LINE
INPUT #1, REC$
INPUT$
It
reads the strings or characters up to n from the sequential file.
Here n
means number of charactes.
Syntax:
INPUT$(N,<File
number>)
Example
INPUT$(12,#1)
EOF( )
:-End of File;
EOF() is a function which checks or tests the end of file
condition. It will check that the file records are end or not.
Syntax:
EOF(File Number)
Example,
While EOF(#1)
Print "Name";name$
Print "Address";add$
Print "Phone";phone
Wend
KILL
It is command which deletes the files in DOS.
Syntax:
KILL <file Name>
Example,
Kill "hari.txt"
NAME AS
It is a command which renames the file old name to
new name in DOS.
Syntax:
NAME <OLD FILE NAME> AS <NEW FILENAME>
EXAMPLE,
NAME "Hari.txt" as "Geeta.txt"
MKDIR
It will create a new directory.
Syntax:
MKDIR <Directory Name>
Example,
MKDIR "Hari"
CHDIR
Change Directory To come to one step up of the existing directory.
Syntax
CHDIR <Existing Directory Name>
Example,
CHDIR "hari"
RMDIR :- Remove Directory
It can be use to remove the directory in dos .
Syntax:
RMDIR <existing directory name>
Example,
RMDIR "HARI"
No comments:
Post a Comment