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

 



 


 

Popular posts from this blog

Computer