Introduction To QBASIC
Introduction To QBASIC
QBASIC stands Quick Beginners All purpose Symbolic Instruction Code which is a
popular high level language for beginners developed by Microsoft corporation
originally developed by Thomas Kurtz and John Kemeny. It is very easy to use and
understand so, It is popular among students.
Features of QBASIC
1. It use simple English like structure.
2. It has user friendly interface.
3. It automatically checks syntax error.
4. It has wide range keywords.
5. We can use both mouse and keyboard on its interface.
6. It capitalize keyword automatically.
Software Breakdown
Data types used in QBASIC
Numeric data: It consist of numeric values i.e. numbers 0-9 and its combination.
For eg; 45,12,1
String data: It consist of alphanumeric value i.e combination of letters and
numbers. For eg; “global” , “pokhara7”
Variables: Those entities which holds either numeric or alphanumeric (string)
values and changes its value throughout the time of program execution is called
variables. There are two types of variables.
Variables in QBASIC
Numeric variable: Those entities which holds only numeric values and changes
its value throughout the time of program execution is called numeric variables.
Eg, age = 17, i =2 , wardno = 12
String variable: Those entities which holds only alphanumeric values and
changes its value throughout the time of program execution is called string
variables.
Note: String variable should end with ‘$’ sign and its respective value should be
enclosed within double quotation “ “.
Example: school$ = “global”, fname$ = “Krishna” , address$ = “Pokhara”
Rules while writing variables name:
1. Variable name should be 1 to 40 character long.
2. Blank space in variable name is not allowed.
For eg, ward no = 12 (Invalid) , wardno = 12(valid)
School name$ = “global” (Invalid)
Schoolname$ = “global” (Valid)
3. Any special symbol except $, #, !, %, & symbols are not allowed in variable
name.
Ward*no = 13 (Invalid) , ward$no = 14 (invalid)
4. Keyword cannot be used as a variable name.
Print =3 (Invalid)
Cls =8 (Invalid)
Name =4 (invalid) if,else,while,for
5. Variable name should not start with number.
123abc = 2 (invalid), abc123 =2 (valid)
123fname$ = “global” (invalid)
fname123$ = “global” (valid)
Reserved words: Words having a special meaning to QBASIC such as the name
of the statements, library functions etc. are termed as reserved words or
keywords.
E.g. Statements PRINT, INPUT, LET, CLS etc are reserved words and should not
be used as the name of the variables or functions.
Here, LET is a keyword and is a reserved word while NAME$ is a variable and is a
user-defined word.
(b) Variable
A variable is a small amount of computer memory (RAM) that has been given a
name. It stores the value of a particular data type while the program is being
executed. The location of a variable in RAM is called the "address."
(c) Constants
A constant is an entity that doesn’t change, whereas a variable is an entity that
may change.
Example:
a=4
4 a
Since the location whose name is a can hold different values at different times,
so a is known as a variable. As against this, 4 does not change, hence is known
as constant.
Types of Constants
Numeric Constant
It has only numbers from 0 to 9. For example: 45,456.35, -44 etc.
String Constant
It accepts both numbers and alphabets (alphanumeric values). Examples:
“Nepal”, “45.67”, “A45” etc.
Symbolic Constant
A constant whose value remains the same through the whole program is called a
symbolic constant. In QBASIC, CONST statement is used to declare a symbolic
constant.
i) Implicit Declaration
In this type of declaration, the type of variable is defined as certain special
declaration characters. We use %,&,!,# and $ symbols to declare the variable
type implicitly.
Example:
A$=”Nepal”
Here, we use $ symbol after the variable name A, which indicates the type of
variable is string.
i) Arithmetic Operators
These operators represent arithmetic operations such as addition, subtraction,
multiplication etc.
E Exponentiation ^
/, \,
D Division
MOD
M Multiplication *
A Addition +
S Subtraction -
Multiplication and division has the same hierarchy and hence whichever
comes first from left to right has to be dealt first.
Similarly, addition and subtraction also have the same hierarchy.
E.g.: In the expression A*B/C; A will be divided by B first after which the
result will be divided by C.
Similarly, in the expression X-Y+Z, Y will be subtracted by X after which Z
will be added to it.
AND Operator
An AND operator returns True (1) at its output only when all of the inputs are
high (1).
False (0) is returned when one or more of the inputs are low (0).
OR Operator
An OR operator returns True (1) at its output when one or more of its inputs are
high
(1). False (0) is returned only when all of the inputs are low (0).
NOT Operator
The NOT operator (Inverter) performs the logic function called inversion or
complementation. If the input signal is low then the high output signal is
obtained and vice versa.
Example:
a+b)^2-2*a*b
X$=MID$(A$,N,1)
Types of expression
Algebraic Expression
The expressions that are used in mathematical and other fields are called
Algebraic expression.
Example: S = ut + at2
QBASIC Expression:
The expressions that can be used in QBASIC programs are called QBASIC
expressions.
Boolean Expression
Any expression that yields true or false value (0 or 1) is known as a Boolean
expression.
The conditions we check in the programs are Boolean expression.
Example: a >= b
I=(P*T*R)/100
(a+b)(a-b) (a+b)*(a-b)
(a/b)*x^2
(c) Operands
Operands are the values on which the operator performs its operation.
C = A+B
The symbols ‘=’ and ‘+’ are the operators and the variables ‘C’, ‘A’ and ‘B’ are
the operands.
Types of Statements
Statements can be categorized into four groups.
→ Declaration Statements
→ Assignment Statements
→ I/O (Input/Output) Statements
→ Control Statements
Example:
REM to find the sum of two numbers
CLS
INPUT "Type any two numbers: "; a, b
PRINT "Sum = "; a + b
END
Syntax:
END [{DEF | FUNCTION | IF | SELECT | SUB | TYPE}]
Syntax:
CONST constant name = expression
Here, pi is a symbolic constant and its value remains same as 3.14 throughout
the whole program and cannot be changed.
General Constant Symbolic Constant
A = 45 CONST A = 45
A = A+5 A= A + 5
Possible to change the value of Not possible to change the
general constant. value of symbolic constant.
iv) DIM statement
Purpose: DIM specifies a data type for a variable (explicit declaration) or declares
an array.
Syntax:
DIM variable [AS type]
i) LET statement
Purpose: To assign a value to a variable.
Syntax:
[LET] variable=expression
Example:
LET A = 200
C$ = “SCHOOL”
Here, A is a numeric variable and the value 200 is assigned to A. Similarly, C$ is
a string variable and the value “SCHOOL” is assigned to C$.
Example:
LET A=200
The above statement is equivalent to
A=200
Syntax:
SWAP variable1, variable2
a = 5: b = 10
SWAP a, b
PRINT "The value of a = "; a
PRINT "The value of b= "; b
END
Similarly, the statements that are used to get the result of the processing from
the output device or to the file are called output statements.
i) CLS statement
Purpose: To clear the display screen Syntax:
CLS
Note: It is a good practice to start your every program with CLS statement so that
the previous displayed content will be erased before executing your new
program.
Syntax:
INPUT[;]["prompt string"{;|,}]variable list
Example:
INPUT “Type First Number”;a
Here, a is a numeric variable.
“Type First Number” is a prompt string
Note: You can also ask more than one value from a single INPUT statement.
Syntax:
LINE INPUT[;] ["promptstring";] stringvariable
Example:
CLS
LINE INPUT "Describe about yourself "; S$
PRINT S$
END
Syntax:
PRINT [expressionlist][{,|;}]
Example:
N = 50
PRINT “I live in Kathmandu.” PRINT 5;6
PRINT (3+2 + N) / 3
Note: You must enclose string constant with double quotes (“ ”).
As a shortcut, use a question mark symbol (?) for PRINT. Try it. Press <Enter> to
start typing on a new line. Now
Type this:
PRINT “Nepal”
String literals “Nepal” enclosed in quotation marks is printed.
Syntax:
PRINT USING formatstring; expressionlist[{,|;}]
- formatstring, a string-expression, specifies the format.
# Digit position
- Decimal point position
, Placed left of the decimal point, prints a comma every third digit
$$ Prints leading $
+ Position of number's sign
^^^^ Prints number in exponential format
** Fills leading spaces with *
**$ Combines ** and $ Example:
Statement Output
PRINT USING "##.##"; .12 0.12
PRINT USING "###.##"; 117.614 117.61
PRINT USING "##.## "; 10.2; 5.3; 10.20 5.30 66.78
66.789; .234 0.23
PRINT USING "+##.## "; -68.95; 2.4; -68.95 +2.40 +55.60
55.6; -.9 -0.90
PRINT USING "**#.# "; 415.4; -.5; 415.4 *-0.5 *76.1
76.14
PRINT USING "$$###.##"; 125.18 $125.18
PRINT USING "**$##.##"; 7.69 ***$7.69
PRINT USING "##.##^^^^"; 758.56 7.59E+02
PRINT USING "####,.##"; 1452.9 1.452.90
Characters used to format a String Expression
Example:
A$ = "LOVE": B$ = "NEPAL"
PRINT USING "!"; A$; B$ 'First characters of A$ and B$.
PRINT USING "\ \"; A$; B$ 'Two spaces between backslashes, prints 4
'characters each from A$ and B$
PRINT USING "&"; B$ 'all of B$
Output:
LN
LOVENEPAL
NEPAL vi) LPRINT and LPRINT USING
statements
Syntax 1:
LPRINT [expressionlist][{;|,}] Syntax 2:
LPRINT USING formatstring; expressionlist[{;|,}] Example:
LPRINT "LOVE"; TAB(76); "NEPAL"
Syntax:
READ variablelist
- Variablelist is made up of one or more variables, separated by commas,
which are to receive the data. The variables may be string or numeric.
DATA Statement – a non-executable statement that stores the numeric and
string constants used by a program's READ statements
Syntax:
DATA constant[,constant]...
Example 1:
READ a, b, c
PRINT a, b, c
DATA 34,56,78
Example 2:
READ a$, b
PRINT a$, b
DATA "Nepal's View",45
Example 3:
FOR i = 1 TO 5 READ n
s=s+n
NEXT i
PRINT "Sum = "; s
DATA 56,78,65,43,21
END
Note:
→ READ statement cannot be used without DATA statement.
→ DATA statement can be placed anywhere in the program.
→ Data and variable types should be same.
→ In DATA statement, string data is not necessary to be enclosed by double
quotes.
→ If number of variable in READ statement is more than number of data in DATA
statement, an error message “Out of DATA” will be displayed.
Sample Programs
1. REM ask name, address & class and display them
CLS
INPUT "Type your name "; n$
INPUT "Type your address "; a$
INPUT "Type your phone "; c
PRINT "Your name is "; n$
PRINT "You live in "; a$
PRINT "You study in class "; c
END
Control Structure
Control structures are used to alter the way of execution of the program or used
to control the flow of a program. The controls are classified into three types.
→ Sequential Structure
→ Selection Structure
→ Looping Structure
(a) Sequential Structure
In sequential structure, the statements are
executed one after another sequentially from top to
bottom without changing the flow of the program. Statement 1 The
programs which you have written in previous
chapters are based on sequential structure.
→ Conditional statement
Unconditional Statement
The statement that transfers the control of the program from one step to
another without testing the condition is called an unconditional statement. In
QBASIC, GOTO statement is the unconditional statement.
GOTO statement
Purpose: a control flow statement that branches unconditionally to the specified
line
Syntax:
GOTO {linelabel | linenumber}
linelabel or linenumber is the label of the line to execute next. This line must be
in the same procedure or subroutine as the GOTO statement
Example:
CLS
PRINT "Kathmandu"
GOTO abc
PRINT "Birgunj" abc:
PRINT "Biratnagar"
END
Output:
Kathmandu
Biratnagar
Biratnagar
Here, abc is a linelabel. After displaying “Kathmandu”, the control is transferred
to “abc” and displayed “Biratnagar” bypassing the statement PRINT "Birgunj".
Using linenumber
The below program gives the same output using line number.
CLS
PRINT "Kathmandu"
GOTO 10
PRINT "Birgunj"
10 PRINT "Biratnagar"
END
Conditional Statement
a) IF .. THEN … ELSE statement
Purpose: It is a control flow statement that allows conditional execution or
branching, based on the evaluation of an expression that must be either true or
false.
True
Condition
Statement 1
False
Statement 1
Syntax:
IF boolean expression THEN [statement]
- booleanexpression is an expression that must return non-zero (true) or zero
(false) - statement consists of a task to be executed if the booleanexpression
returns true.
Example:
CLS
INPUT “Type your marks ”;m
IF m>=40 THEN PRINT “Pass”
END
Note: In the above program, if the booleanexpression m>=40 returns true, it
displays “Pass”. The program displays nothing if the value is less than 40.
Syntax:
IF booleanexpression THEN [statement1] ELSE [statement2]
Example:
CLS
INPUT “Type your marks”;m
IF m>=40 THEN PRINT “Pass” ELSE PRINT “Fail”
END
Note: statement1 will be executed if the booleanexpression returns true,
otherwise statement2 will be executed.
Syntax:
IF booleanexpression THEN
[statementblock]
END IF
Syntax:
IF booleanexpression THEN
[statementblock-1]
ELSE
[statementblock-2]
END IF
Example:
CLS
INPUT “Type your marks ”;m
IF m>=40 THEN
PRINT “Pass”
PRINT “Congratulations”
ELSE
PRINT “Fail”
PRINT “Work hard”
END IF
END
Syntax:
IF booleanexpression1 THEN
[statementblock-1]
[statementblock-2]
...
ELSE
[statementblock-n]
END IF
Example:
CLS
INPUT "Type your percentage "; p
IF p >= 80 THEN
PRINT "Distinciton"
ELSE
PRINT "Fail"
END IF
END
Syntax:
SELECT CASE testexpression
[CASE expressionlist1
[statementblock-1]
[CASE expressionlist2
[statementblock-2]
...
[CASE ELSE
[statementblock-n]
END SELECT
TO 10
room = 5
CASE 11 TO 15
room = 6
room = 7
CASE IS >= 35
room = 8 CASE
ELSE room = 9
END SELECT
PRINT "Your room number is "; room
END
Example: CLS
n = 1 top:
PRINT "Nepal" n = n + 1
IF n <= 5 THEN GOTO top
END
Flowchart of the above program is: Memory table of dry run
Star n OP (Output)
t 1 Nepal
2 Nepal
3 Nepal
n=
1 4 Nepal
5 Nepal
6
Print "Nepal"
The output of the above program
is
Nepal
Nepal
Yes Nepal
n <=
Nepal
5?
Nepal
No
Stop
Here the statement PRINT “Nepal” is executed 5 times till the condition n<=5 is
true.
[statementblock]
The mid-values of a counter except initial and final value in a loop are called
intermediate value and the final value of a counter is called sentinel value.
Example:
A=1
DO
PRINT A;
S=S+A
A = A+1
LOOP WHILE A<=10
PRINT “Sum = “;S
END
In the above program, the variable A is used as a counter which counts the
number of execution of a block of statements in the loop. Here, the intermediate
values of the counter A are 2,3,4,5,6,7,8 & 9. Similarly, the sentinel value of A is
10. The variable S is used as an accumulator which adds the intermediate values
of A.
[statements]
WEND
[statementblock]
n=1
DO
PRINT "Nepal" n = n
+1
LOOP UNTIL n>5
END
Note: The loop will be continued until the condition is true. That is, if the given
Boolean expression returns false (0) the loop will be continued. The loop will be
terminated if the condition is true.
The above program displays “Nepal” 5 times. When the value of n reaches 6, the
given conditions return true (1) value and the loop will be terminated.
[statementblock]
LOOP
Example: CLS
n=1
DO UNTIL n>5
PRINT "Nepal" n = n + 1
LOOP
END
NEXT counter
- counter is a numeric variable used as the loop counter
- start is the initial value and end is the final value of the counter
- increment is the amount the counter is incremented each time through the
loop Example:
CLS
FOR n=1 TO 5 STEP 1
PRINT “Nepal”
NEXT n
END
Note: The above program displays “Nepal” 5 times.
Here, the counter is n and its initial value is 1 and final value is 5 and after each
iteration, the value of the counter will be incremented by 1.
CLS
FOR n=10 TO 2 STEP -2
PRINT “Nepal”
NEXT n
END
If the counter has to be incremented by 1, then you don’t need to specify it with
STEP keyword.
CLS
FOR n=1 TO 5
PRINT “Mount Everest”
NEXT n END
Nested Loop
A loop inside another loop is called a nested loop.
PRINT Y; 123
NEXT Y 1234
1234
PRINT
5
NEXT X
Sample Program
i) To check whether the supplied number is prime or not
CLS
INPUT "Type any number "; n
FOR x = 2 TO n - 1
IF n MOD x = 0 THEN c = c + 1
NEXT x
IF c = 0 THEN PRINT "Prime" ELSE PRINT "Composite"
END
PRINT n;
n = n * 10 + 2
NEXT i
END
PRINT a
PRINT b
ELSE
PRINT c
END IF
END
n% = n% \ 10
WEND
PRINT "Sum of individual digits = "; s%
END
Types of Function
Basically, there are two types of function available in QBASIC.
→ Library Function
→ User-Defined Function
Library Function
Also called Built-in function or intrinsic function. It is already available with a
programming language. The programmer does not need to define this function.
Syntax:
LEN(stringexpression) or
LEN(variable)
- variable identifies the object for which you want the number of required
bytes
Example: CLS
a$ = "Nepal" b% =
456
c& = 23 d! =
56.789 e# =
44.55
PRINT LEN(a$) ‘ Displays 5
PRINT LEN(b%) ‘ Displays 2
PRINT LEN(c&) ‘ Displays 4
PRINT LEN(d!) ‘ Displays 4
PRINT LEN(e#) ‘ Displays 8
END
Syntax:
LEFT$(stringexpression,n)
- stringexpression is a string constant, string variable, or string expression
- n, a numeric expression, must have a value between 0 and 32,767. If n is
zero, the null string (a zero-length string) is returned.
Syntax:
RIGHT$(stringexpression,n)
iv) MID$ function
Purpose: a string-processing function that returns a substring of a string
Syntax:
MID$(stringexpression,start,length)
- length can be omitted if you want all the characters to the right of start
Example of using LEFT$, RIGHT$ and MID$ functions:
CLS
S$ = "BIRATNAGAR"
PRINT LEFT$(S$, 5) ‘Displays BIRAT
PRINT RIGHT$(S$, 5) ‘Displays NAGAR
PRINT MID$(S$, 3, 5) ‘Displays RATNA
END
v) CHR$ function
Purpose: a string processing function that returns a one-character string whose
ASCII code is the argument
Syntax:
CHR$(code)
- code, a numeric expression that has a value between 0 and 255, is one of the
ASCII character codes vi)
ASC function
Purpose: a string processing function that returns a numeric value that is the
ASCII code for the first character in a string expression
Syntax:
ASC (stringexpression)
Characters ASCII Value
A-Z 65-90
a-z 97-122
0-9 48-57
Space 32
Enter 13
Example:
PRINT CHR$(65) ‘ Displays A
VAL function
Syntax:
VAL(stringexpression) viii)
STR$ function
Syntax:
STR$(numeric-expression)
Example: CLS
a=5b=6
c$ = "7" d$ =
"8"
PRINT a + b ‘ Displays 11
PRINT c$ + d$ ‘ Displays 78
END
- n, a numeric expression that has an integer value between 0 and 32,767, is the
number of spaces you want in the string
Example:
CLS
PRINT "Stand-Up"; SPACE$(5); "Online"
END
x) STRING$ function
Purpose: a string processing function that returns a string whose characters all
have a given ASCII code or whose characters are all the first character of a
string expression
Syntax:
STRING$(m,n)
STRING$(m,stringexpression)
END xi)
DATE$
As a statement
Purpose: To set the current system date
Syntax:
DATE$ = stringexpression
Example:
DATE$ = "05-25-1995"
Sets the system date as 25th May 1995
As a function
Purpose: To return a string containing the current system date
Syntax:
DATE$
xii) TIME$
As a statement
Syntax:
TIME$=stringexpression
Example:
TIME$ = "05:25:55"
Sets the system time as 5 Hour 25 Minutes and 55 Seconds
As a function
Syntax:
TIME$
- an eight-character string is returned, in the form hh:mm:ss hh is the hour
(00-23), mm is the minute (00-59), and ss is the second (00-59)
Example:
PRINT TIME$
Displays the current system time
Syntax:
LTRIM$(stringexpression) xiv)
RTRIM$ function
Purpose: a string processing function that returns a string with trailing (right-
hand) spaces removed
Syntax:
RTRIM$(stringexpression)
Example:
B$ = “ KATHMANDU”
C$ = “BIRATNAGAR ”
B$=LTRIM$(B$)
C$=RTRIM$(C$)
PRINT LEN(B$);LEN(C$)
END
b) Mathematical Function
i) ABS function
Purpose: a math function that returns the absolute value of a numeric expression
Syntax:
ABS(numeric-expression)
Example:
a = -5
PRINT ABS(a)
Syntax:
SGN(numeric-expression)
Example: CLS
a = 5 b = 0 c = -9.8
PRINT SGN(a) ' prints 1
PRINT SGN(b) ' prints 0
PRINT SGN(c) ' prints -1
END
Syntax:
SQR(numeric-expression)
END
Syntax:
INT(numeric-expression)
v) FIX function
Purpose: a math function that returns the truncated integer part of a numeric
expression
Syntax:
FIX(numeric-expression)
Syntax:
CINT(numeric-expression) Example:
a=5 a= 5.5 a = -5.5
INT (a) 5 5 -6
FIX (a) 5 5 -5
CINT (a) 5 6 -6
vii) SIN function
Purpose: a math function that returns the sine of an angle given in radians
Syntax:
SIN(numeric-expression)
Syntax:
COS(numeric-expression)
Syntax:
TAN(numeric-expression)
Example:
a = 45
PRINT SIN(a)
PRINT COS(a)
PRINT TAN(a)
c) Other useful functions and statements
i) SPC function
Purpose: an I/O function that skips n spaces in a PRINT statement
Syntax:
SPC(n)
Example:
CLS
PRINT "Kathmandu"; SPC(5); "Nepal"
END
Output:
The SPC function returns 5 spaces which are printed as
Purpose: a device I/O function that moves the print position when used in the
PRINT statement
Syntax:
TAB(column)
Example:
CLS
PRINT "Kathmandu"; TAB(5); "Nepal"
END
Output:
The TAB() function moves the print position to the 5th column of the screen. So,
the string constant “Nepal” will be printed from the 5 columns i.e. after 4 spaces
in the second line as below.
Kathmandu
Nepal
iii) LOCATE statement
Purpose: an I/O statement that moves the cursor to the specified position
Syntax:
LOCATE [row],[column]
Output:
Column
1
→ 1 2 3 4 5 6 7 8 9
0 Returns 5 spaces by
Row ↓
SPC function
1 N E P A L Moves the cursor to 5th Column
2 N E P A L
3
Prints from 5th row & 2nd column
4
5 N E P A L Sample Program
6 i) To display the reverse of a
string
CLS
INPUT "Type your name "; n$
FOR i = 1 TO LEN(n$) c$ = MID$
(n$, i, 1) r$ = c$ + r$
NEXT i
PRINT "Reversed = "; r$
END
NEXT i
END
iv) To change the letters in uppercase without using UCASE$() function CLS
s$ = "nepal" FOR i = 1 TO 5
b$ = MID$(s$, i, 1) c =
ASC(b$) d$ = d$ + CHR$(c -
32)
NEXT i
PRINT "In uppercase: "; d$
END
v) REM to calculate hex equivalent of a decimal no.
INPUT "DECIMAL NO:"; D
DO WHILE D <> 0
R = D MOD 16
IF R < 10 THEN
A$ = LTRIM$(STR$(R)) + A$
ELSE
R = R + 55
A$ = CHR$(R) + A$
END IF
D = D \ 16
LOOP
PRINT "HEXADECIMAL EQUIVALENT:"; A$
Exercises
1. Answer the following questions:
a) What is a function? Mention its types.
NEXT q
END
FOR P = 1 TO LEN$(S)
END
c) CLS
BROWSER=”BROWSER”
BROWSERLEN$=LEN(BROWSER$)
PRINT MID(BROWSER$,KOUNTER,1);
NEXT BOUNCER
END
b) CLS
ST$ = "PLNMPBENPLA"
FOR I = 1 TO 5
READ N
PRINT MID$(ST$, N, 1);
NEXT I
DATA 3,7,9,11,2
END
c) CLS
FOR I = 1 TO 5
READ N$, A
PRINT MID$(N$, A, 1);
NEXT I
DATA COMPUTER,4,ORACLE,1,WINDOW,6
DATA KEYBOARD,2,FORTRAN,5
END
d)
i) N ii) N E P A L N ii) N E P A L
N E E P A E P A L
N E P N E P P A L
N E P A N E A L
N E P A L N L
iv) L v) N E P A L
vi) L A L
A L E P A L
P A L
P A L P A L
E P A L N E P A
E P A L A L
L
N E P A L L
vii) N viii) L ix) A
E A C A T
P P U C A T I
A E D U C A T I O
L N E D U C A T I O N
1.2.7 Array