MODULAR PROGRAMMING(Sub Procedure)
SYNTAX:-
DECLARE SUB
ANY_NAME (PARAMETER)
CLS
CALL
ANY_NAME (PARAMETER)
END
SUB ANY_NAME (PARAMETER)
BOS………
BOS……..
END SUB
SEQUENTIAL
STRUCTURE
Example: WRITE QBASIC PROGRAM USING SUB PROCEDURE TO FIND SUM OF TWO NUMBERS.
DECLARE SUB SUM(A,B)
CLS
INPUT
“ENTER ANY TWO NUMBER AS”;A,B
CALL
SUM(A,B)
END
SUB
SUM(A,B)
S=A+B
PRINT
“THE SUM OF TWO NUMBER IS”;S
END
SUB
1.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO FIND PRODUCT OF TWO NUMBERS.
DECLARE SUB PRODUCT (A,B)
CLS
INPUT
“ENTER ANY TWO NUMBER AS”;A,B
CALL
PRODUCT(A,B)
END
SUB PRODUCT(A,B)
P=A*B
PRINT
“PRODUCT OF TWO NUMBER IS”;P
END
SUB
2. WRITE QBASIC PROGRAM USING SUB PROCEDURE TO FIND THE AREA OF THE RECTANGLE (AREA = L*B)
DECLARE SUB AREA(L,B)
CLS
INPUT
“ENTER ITS LENGTH AND BREADTH AS”;L,B
CALL
AREA (L,B)
END
SUB AREA (L,B)
A
= L*B
PRINT
“AREA OF RECTANGLE IS”;A
END
SUB
3. WRITE QBASIC PROGRAM USING SUB PROCEDURE TO FIND THE AREA OF A CIRCLE USING SUB PROCEDURE.( A = (22/7)*R^2)
DECLARE SUB AREA(R)
CLS
INPUT
“ENTER ITS RADIUS AS”;R
CALL
AREA (R)
END
SUB AREA (R)
A
= (22/7)*R^2
PRINT
“AREA OF CIRCLE IS”;A
END
SUB
4. WRITE QBASIC PROGRAM USING SUB PROCEDURE TO FIND THE CIRCUMFERENCE OF A CIRCLE.( A = 2*(22/7)*R)
DECLARE SUB CIRCUMFERENCE (R)
CLS
INPUT
“ENTER ITS RADIUS AS”;R
CALL CIRCUMFERENCE (R)
END
SUB CIRCUMFERENCE (R)
C = 2*(22/7)*R
PRINT
“CIRCUMFERENCE OF CIRCLEIS”;C
END
SUB
5. WRITE QBASIC PROGRAM USING SUB PROCEDURE TO CONVERT DEGREE CELSIUS AND CONVERT IT INTO DEGREE FAHRENHEIT WHERE F=(9*C/5)+32.
DECLARE SUB FAHRENHEIT(C)
CLS
INPUT
“ENTER ITS CELCIUS AS”;C
CALL
FAHRENHEIT (C)
END
SUB FAHRENHEIT (C)
F=(9*C/5)+32
PRINT
“ITS FAHRENHEIT IS”;F
END
SUB
6. WRITE QBASIC PROGRAM USING SUB PROCEDURE TO FIND SIMPLE INTEREST.
DECLARE SUB INTEREST(P,T,R)
CLS
INPUT
“ENTER ITS PRINCIPAL , TIME AND RATE AS”;P,T,R
CALL
INTEREST(P,T,R)
END
SUB INTEREST(P,T,R)
I=
(P*T*R)/100
PRINT
“ITS SIMPLE INTEREST IS”;I
END
SUB
7. WRITE QBASIC PROGRAM USING SUB PROCEDURE TO FIND SQUARE ROOT OF GIVEN NUMBER.
DECLARE SUB ROOT(N)
CLS
INPUT
”ENTER ANY NUMBER”;N
CALL
ROOT(N)
END
SUB ROOT(N)
R=
N^(1/2)
PRINT
“SQUARE ROOT OF NUMBER IS=”;R
END
SUB
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO FIND CUBE ROOT OF GIVEN NUMBER.
DECLARE
SUB ROOT(N)
CLS
INPUT
”ENTER ANY NUMBER”;N
CALL
ROOT(N)
END
SUB
ROOT(N)
R=
N^(1/3)
PRINT
“CUBE ROOT OF NUMBER IS=”;R
END
SUB
8.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO CONVERT MINUTES INTO HOURS
AND MINUTES.
DECLARE SUB TIME(M)
CLS
INPUT
“ENTER MINUTES AS”;M
CALL
TIME(M)
END
SUB TIME(M)
H
= M\60
T=
M MOD 60
PRINT
H; “HOUR”T; “MINUTES”
END
SUB
9. WRITE QBASIC PROGRAM USING SUB PROCEDURE TO INPUT THE NUMBER OF DAYS AND CONVERT IT INTO YEARS, MONTHS AND DAYS.
DECLARE SUB DAYS (D)
CLS
INPUT
"ENTER NUMBER OF DAYS " ; D
CALL
DAYS (D)
END
SUB DAYS (D)
YR=D\365
D1=D
MOD 365
M=D1\30
D2=D1
MOD 30
PRINT
YR ;" YEAR " ; M; " MONTH "; D2 ; " DAY "
END
SUB
10. WRITE QBASIC PROGRAM USING SUB PROCEDURE TO CALCULATE AVERAGE OF THREE NUMBERS.
DECLARE SUB AVG (A,B,C)
CLS
INPUT
"ENTER THREE NUMBER"; A,B,C
CALL
AVG (A,B,C)
END
SUB
AVG (A,B,C)
AV
= (A+B+C)/3
PRINT
"AVERAGE IS"; AV
END
SUB
CONDITIONAL
STATEMENT
1. WRITE QBASIC PROGRAM USING SUB PROCEDURE TO
CHECK WHETHER GIVEN NUMBER IS POSITIVE, NEGATIVE OR ZERO.
DECLARE
SUB CHECK (N)
CLS
INPUT
"ENTER ANY NUMBER"; N
CALL
CHECK (N)
END
SUB
CHECK (N)
IF
N>0 THEN
PRINT N; "IS POSITIVE"
ELSEIF N<0 THEN
PRINT N; "IS NEGATIVE"
ELSE
PRINT N; "IS ZERO"
END
IF
END
SUB
2.WRITE
A QBASIC PROGRAM USING SUB PROCEDURE TO FIND THE SMALLEST NUMBER AMONG ANY TWO
DIFFERENT NUMBERS
DECLARE
SUB SMALLEST (A,B)
CLS
INPUT
"ENTER TWO NUMBERS ";A,B
CALL
SMALLEST (A,B)
END
SUB
SMALLEST (A,B)
IF
A<B THEN
PRINT A; " IS SMALLEST NUMBER. "
ELSE
PRINT B;" IS SMALLEST NUMBER. "
END
IF
END
SUB
3.WRITE
A QBASIC PROGRAM USING SUB PROCEDURE TO FIND THE GREATEST NUMBER AMONG ANY
THREE DIFFERENT NUMBERS
DECLARE
SUB GREATEST(A,B,C)
CLS
INPUT
"ENTER THREE NUMBERS ";A,B,C
CALL
GREATEST (A,B,C)
END
SUB
GREATEST (A,B,C)
IF
A>B AND A>C THEN
PRINT A; " IS GREATEST NUMBER. "
ELSEIF B>A AND B>C THEN
PRINT B; " IS GREATESTNUMBER. "
ELSE
PRINT C;" IS GREATESTNUMBER. "
END
IF
END
SUB
4.WRITE
A QBASIC PROGRAM USING SUB PROCEDURE TO FIND THE MIDDLE NUMBER AMONG ANY THREE
DIFFERENT NUMBERS
DECLARE
SUB MIDDLE(A,B,C)
CLS
INPUT
"ENTER THREE NUMBERS ";A,B,C
CALL MIDDLE(A,B,C)
END
SUB MIDDLE(A,B,C)
IF
(A>B AND A<C) OR (A<B AND A>C)THEN
PRINT A; " IS MIDDLE NUMBER. "
ELSEIF (B>A AND B<C) OR (B<A AND B>C) THEN
PRINT B; " IS MIDDLE NUMBER. "
ELSE
PRINT C;" IS MIDDLE NUMBER. "
END
IF
END
SUB
5.WRITE
A QBASIC PROGRAM USING SUB PROCEDURE TO TEST GIVEN NUMBER IS EXACTLY DIVISIBLE
BY 7 OR NOT.
DECLARE
SUB CHECK(N)
CLS
INPUT
"ENTER a NUMBERS ";N
CALL CHECK(N)
END
SUB CHECK(N)
R
= N MOD 7
IF
R=0 THEN
PRINT N; " IS DIVISIBLE BY 7"
ELSE
PRINT N; " IS NOT DIVISIBLE BY 7"
END
IF
END
SUB
6.WRITE
A QBASIC PROGRAM USING SUB PROCEDURE TO TEST GIVEN NUMBER IS ODD OR EVEN.
DECLARE
SUB CHECK(N)
CLS
INPUT
"ENTER A NUMBERS ";N
CALL
CHECK(N)
END
SUB
CHECK(N)
R
= N MOD 2
IF
R=0 THEN
PRINT N; " IS EVEN NUMBER "
ELSE
PRINT N;" IS ODD NUMBER "
END
IF
END
SUB
7.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO CHECK WHETHER THE GIVEN NUMBER IS
PALINDROME OR NOT. [1221 IS PALINDROME]
DECLARE
SUB PALIN (N)
CLS
INPUT
"ENTER ANY NUMBER"; N
CALL
PALIN (N)
END
SUB
PALIN (N)
Z
= N
WHILE
N <>0
R
= N MOD 10
S
= S*10+R
N
= N\10
WEND
IF
Z=S THEN
PRINT Z; "IS
PALINDROME"
ELSE
PRINT Z; "IS NOT
PALINDROME"
END
IF
END
SUB
8.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO CHECK WHETHER THE GIVEN NUMBER IS
ARMSTRONG OR NOT. [153 IS ARMSTRONG]
DECLARE
SUB ARM (N)
CLS
INPUT
"ENTER ANY NUMBER"; N
CALL
ARM (N)
END
SUB
ARM (N)
Z
= N
WHILE
N <>0
R
= N MOD 10
S
= S+Rˆ3
N
= N\10
WEND
IF
Z=S THEN
PRINT Z; "IS
ARMSTRONG"
ELSE
PRINT Z; "IS NOT
ARMSTRONG"
END
IF
END
SUB
9.WRITE
QBASIC PROGRAM USING SUB PROCEDURE TO CHECK WHETHER THE GIVEN NUMBER IS PRIME
OR COMPOSITE.
DECLARE
SUB CHECK (N)
CLS
INPUT
"ENTER ANY NUMBER"; N
CALL
CHECK (N)
END
SUB
CHECK (N)
FOR
I = 1 TO N
IF
N MOD I = 0 THEN
C = C+1
END
IF
NEXT
I
IF
C = 2 THEN
PRINT N; "IS
PRIME"
ELSE
PRINT N; "IS
COMPOSITE"
END
IF
END
SUB
10.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO CHECK WHETHER THE GIVEN STRING IS
PALINDROME OR NOT. [ MADAM IS PALINDROME]
DECLARE
SUB PALIN (N$)
CLS
INPUT
"ENTER ANY STRING"; N$
CALL
PALIN (N$)
END
SUB
PALIN (N$)
FOR
I = LEN(N$) TO 1 STEP -1
X$ = MID$(N$,I,1)
W$ = W$+X$
NEXT
I
IF
N$=W$ THEN
PRINT N$; "IS PALINDROME"
ELSE
PRINT N$; "IS NOT
PALINDROME"
END
IF
END
SUB
LOOPING
PROGRAM
a.
1,2,3...... UPTO 10TH TERMS
DECLARE
SUB SERIES()
CALL SERIES
END
SUB
SERIES()
FOR I = 1 TO 10
PRINT
I;
NEXT I
END SUB
b.
10,9,8...... UPTO 10TH TERMS
DECLARE
SUB SERIES()
CALL SERIES
END
SUB
SERIES()
FOR I = 1O TO 1 STEP -1
PRINT
I;
NEXT I
END SUB
c.
100,95,90...... UPTO 10TH TERMS
DECLARE
SUB SERIES()
CALL SERIES
END
SUB
SERIES()
A = 100
FOR I = 1 TO 10
PRINT
A;
A
= A - 5
NEXT I
END SUB
d.
1,3,5...... UPTO 10TH TERMS
DECLARE
SUB SERIES()
CALL SERIES
END
SUB
SERIES()
A = 1
FOR I = 1 TO 10
PRINT
A;
A
= A +2
NEXT I
END
SUB
e.
2,4,6...... UPTO 10TH TERMS
DECLARE
SUB SERIES()
CALL SERIES
END
SUB
SERIES()
A = 2
FOR I = 1 TO 10
PRINT
A;
A
= A +2
NEXT I
END
SUB
f.
1,8,27,64 ...... UPTO 10TH TERMS
DECLARE
SUB SERIES()
CALL
SERIE
END
SUB
SERIES()
FOR
I = 1 TO 10
PRINT I^3;
NEXT
I
END
SUB
g.
1,2,4,7,11 ...... UPTO 10TH TERMS
DECLARE
SUB SERIES()
CALL
SERIES
END
SUB
SERIES ()
A
= 1
FOR
I= 1 TO 10
PRINT A;
A = A + I
NEXT
I
END
SUB
h.
0,1,1,2,3,5 ...... upto 10th terms[Fibonacci Series]
DECLARE
SUB FIBO()
CALL
FIBO
END
SUB
FIBO()
A
= 0
B
= 1
FOR
I = 1 TO 10
PRINT A;
C = A + B
A = B
B = C
NEXT
I
END
SUB
i.
7,22,11,34 ...... upto 10th terms (Hailstone series)
DECLARE
SUB SERIES()
CALL
SERIES
END
SUB
SERIES()
N
= 7
FOR
I = 1 TO 10
PRINT N;
IF N MOD 2 = 0 THEN
N = N / 2
ELSE
N = 3 * N + 1
END IF
NEXT
I
END
SUB
j. WRITE QBASIC PROGRAM USING SUB PROCEDURE TO
CALCULATE THE SUM OF DIGITS OF A GIVEN NUMBER.
DECLARE
SUB SUM (N)
CLS
INPUT
"ENTER ANY NUMBER"; N
CALL
SUM (N)
END
SUB
SUM (N)
WHILE
N <>0
R = N MOD 10
S = S+R
N = N\10
WEND
PRINT
"SUM IS"; S
END
SUB
k.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO CALCULATE PRODUCT OF DIGITS OF
GIVEN NUMBER.
DECLARE
SUB PRODUCT (N)
CLS
INPUT
"ENTER ANY NUMBER"; N
CALL
PRODUCT (N)
END
SUB
PRODUCT (N)
P
= 1
WHILE
N <>0
R = N MOD 10
P = P*R
N = N\10
WEND
PRINT
"PRODUCT IS"; P
END
SUB
m.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO COUNT TOTAL NUMBERS OF VOWELS IN A
GIVEN STRING.
DECLARE
SUB COUNT (N$)
CLS
INPUT
"ENTER ANY STRING"; N$
CALL
COUNT (N$)
END
SUB
COUNT (N$)
FOR
I = 1 TO LEN(N$)
X$ = MID$(N$,I,1)
X$ = UCASE$(X$)
IF X$ = "A" OR X$ =
"E" OR X$ = "I" OR X$ = "O" OR X$ = "U"
THEN C = C+1
END
IF
NEXT
I
PRINT
"TOTAL NUMBERS OF VOWELS ="; C
END
SUB
WRITE
QBASIC PROGRAM USING SUB PROCEDURE TO DISPLAY ALL THE CONSONANTS FROM A GIVEN
STRING.
DECLARE
SUB COUNT (N$)
CLS
INPUT
"ENTER ANY STRING"; N$
CALL
COUNT (N$)
END
SUB
COUNT (N$)
FOR
I = 1 TO LEN(N$)
X$
= MID$(N$,I,1)
Y$
= UCASE$(X$)
IF
Y$ <> "A" AND Y$<> "E"
AND Y$<>"I" AND Y$<> "O"
AND Y$ <> "U" THEN C = C+1
END
IF
NEXT
I
PRINT
"TOTAL NUMBERS OF CONSONANT="; C
END
SUB
n.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO DISPLAY GIVEN STRING INTO
ALTERNATIVE CAPITAL AND SMALL LETTERS. [NEPAL]
DECLARE
SUB ALTER (N$)
CLS
INPUT
"ENTER ANY STRING"; N$
CALL
ALTER (N$)
END
SUB
ALTER (N$)
FOR
I = 1 TO LEN(N$)
X$
= MID$(N$,I,1)
IF
I MOD 2 = 0 THEN
X$
= LCAES$(X$)
ELSE
X$
= UCASE$(X$)
END
IF
W$
= W$ + X$
NEXT
I
PRINT
W$
END
SUB
o.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO CALCULATE SUM OF N-NATURAL NUMBER.
DECLARE
SUB SUM (N)
CLS
INPUT
"ENTER NUMBER";N
CALL
SUM (N)
END
SUB
SUM (N)
FOR
I = 1 TO N
S
= S+I
NEXT
I
PRINT
"SUM IS:" ; S
END
SUB
Extra
1.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO FIND THE LONGEST STRING AMONG THREE
STRINGS.
DECLARE
SUB LONG (A$,B$,C$)
CLS
INPUT
"ENTER THREE STRING"; A$,B$,C$
CALL
LONG (A$,B$,C$)
END
SUB
LONG (A$,B$,C$)
A
= LEN(A$)
B
= LEN(B$)
C
= LEN(C$)
IF
A>B AND A>C THEN
PRINT
"LONGEST STRING IS"; A$
ELSEIF
B>A AND B>C THEN
PRINT
"LONGEST STRING IS"; B$
ELSE
PRINT
"LONGEST STRING IS"; C$
END
IF
END
SUB
2.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO CALCULATE THE SUM OF DIGITS
OF A GIVEN NUMBER.
DECLARE
SUB SUM (N)
CLS
INPUT
"ENTER ANY NUMBER"; N
CALL
SUM (N)
END
SUB
SUM (N)
WHILE
N <>0
R
= N MOD 10
S
= S+R
N
= N\10
WEND
PRINT
"SUM IS"; S
END
SUB
3.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO CALCULATE PRODUCT OF DIGITS OF
GIVEN NUMBER.
DECLARE
SUB PRODUCT (N)
CLS
INPUT
"ENTER ANY NUMBER"; N
CALL
PRODUCT (N)
END
SUB
PRODUCT (N)
P
= 1
WHILE
N <>0
R
= N MOD 10
P
= P*R
N
= N\10
WEND
PRINT
"PRODUCT IS"; P
END
SUB
4.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO CALCULATE THE SUM OF EVEN DIGITS
FROM A GIVEN NUMBER.
DECLARE
SUB SUM (N)
CLS
INPUT
"ENTER ANY NUMBER"; N
CALL
SUM (N)
END
SUB
SUM (N)
WHILE
N <>0
R
= N MOD 10
IF
R MOD 2 = 0 THEN
S
= S+R
END
IF
N
= N\10
WEND
PRINT
"SUM OF EVEN DIGITS IS"; S
END
SUB
5.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO CALCULATE THE PRODUCT OF ODD DIGITS
FROM A GIVEN NUMBER.
DECLARE
SUB PRODUCT (N)
CLS
INPUT
"ENTER ANY NUMBER"; N
CALL
PRODUCT (N)
END
SUB
PRODUCT (N)
P
= 1
WHILE
N <>0
R
= N MOD 10
IF
R MOD 2 = 1 THEN
P
= P*R
END
IF
N
= N\10
WEND
PRINT
"PRODUCT OF ODD DIGITS IS"; P
END
SUB
6.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO INPUT A STRING AND COUNT HOW
MANY TIMES THE FIRST LETTER OF THE SAME STRING REPEATS. [ IE. BABY B REPEATS 2
TIMES ]
DECLARE
SUB COUNT (N$)
CLS
INPUT
"ENTER ANY STRING"; N$
CALL
COUNT (N$)
END
SUB
COUNT (N$)
A$
= LEFT$(N$,1)
FOR
I = 1 TO LEN(N$)
X$
= MID$(N$,I,1)
IF
A$ = X$ THEN
C
= C+1
END
IF
NEXT
I
PRINT
"FIRST LETTER REPEATS = "; C
END
SUB
7.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO COUNT TOTAL NUMBERS OF VOWELS IN A
GIVEN STRING.
DECLARE
SUB COUNT (N$)
CLS
INPUT
"ENTER ANY STRING"; N$
CALL
COUNT (N$)
END
SUB
COUNT (N$)
FOR
I = 1 TO LEN(N$)
X$
= MID$(N$,I,1)
X$
= UCASE$(X$)
IF
X$ = "A" OR X$ = "E" OR X$ = "I" OR X$ =
"O" OR X$ = "U" THEN
C = C+1
END
IF
NEXT
I
PRINT
"TOTAL NUMBERS OF VOWELS ="; C
END
SUB
8.WRITE
QBASIC PROGRAM USING SUB PROCEDURE TO DISPLAY ALL THE CONSONANTS FROM A GIVEN
STRING.
DECLARE
SUB COUNT (N$)
CLS
INPUT
"ENTER ANY STRING"; N$
CALL
COUNT (N$)
END
SUB
COUNT (N$)
FOR
I = 1 TO LEN(N$)
X$
= MID$(N$,I,1)
Y$
= UCASE$(X$)
IF
Y$ <> "A" AND Y$<> "E"
AND Y$<>"I" AND Y$<> "O"
AND Y$ <> "U" THEN C = C+1
END
IF
NEXT
I
PRINT
"TOTAL NUMBERS OF CONSONANT="; C
END
SUB
9.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO DISPLAY GIVEN STRING INTO
ALTERNATIVE CAPITAL AND SMALL LETTERS. [NEPAL]
DECLARE
SUB ALTER (N$)
CLS
INPUT
"ENTER ANY STRING"; N$
CALL
ALTER (N$)
END
SUB
ALTER (N$)
FOR
I = 1 TO LEN(N$)
X$
= MID$(N$,I,1)
IF
I MOD 2 = 0 THEN
X$
= LCAES$(X$)
ELSE
X$
= UCASE$(X$)
END
IF
W$
= W$ + X$
NEXT
I
PRINT
W$
END
SUB
10.
WRITE QBASIC PROGRAM USING SUB PROCEDURE TO CALCULATE SUM OF N-NATURAL NUMBER.
DECLARE
SUB SUM (N)
CLS
INPUT
"ENTER NUMBER";N
CALL
SUM (N)
END
SUB
SUM (N)
FOR
I = 1 TO N
S
= S+I
NEXT
I
PRINT
"SUM IS:" ; S
END
SUB