**1. Test whether the given number is positive or negative.**

**SUB PROCEDURE**

DECLARE SUBTEST(N)

CLS

INPUT "Enter a number"; N

CALL TEST(N)

END

SUB TEST(N)

IF N>0 THEN

PRINT N; "is positive number"

ELSE

PRINT N; "is negative number"

END IF

END SUB

**FUNCTION PROCEDURE**

DECLARE FUNCTION CHECK$ (N)

CLS

INPUT "ENTER ANY NUMBER"; N

PRINT N; "IS "; CHECK$(N)

END

FUNCTION CHECK$ (N)

IF N > 0 THEN

CHECK$ = "POSITIVE NUMBER"

ELSEIF N < 0 THEN
CHECK$ = "NEGATIVE NUMBER"
ELSE
CHECK$ = "ZERO"
END IF
END FUNCTION

**2. Accept any three different numbers and find the maximum number among them.**

Ans:

DECLARE SUB MAX(A,B,C)

CLS

INPUT "Enter any three number"; A,B,C

CALL MAX(A,B,C)

END

SUB MAX(A,B,C)

IF A>B AND A>C THEN

PRINT A; "is maximum number"

ELSEIF B>A AND B>C THEN

PRINT B; "is maximum number"

ELSE

PRINT C; "is maximum number"

END IF

END SUB

**3. Declare a SUB procedure module to generate multiplication table of any non-negative number, where number is passed as a parameter.**

**SUB Procedure**

DECLARE SUB MUL(N)

CLS

INPUT "Enter a number"; N

CALL MUL(N)

END

SUB MUL(N)

FOR I = 1 TO 10

PRINT N; "*";I; "="; N*I

NEXT I

END SUB

**4. Reversing Word
SUB Procedure**

DECLARE SUB REV(N$)

CLS

INPUT "ENTER A WORD"; W$

CALL REV(W$)

END

SUB REV (N$)

FOR I = LEN(N$) TO 1 STEP -1

A$ = A$ + MID$(N$, I, 1)

NEXT I

PRINT "REVERSED STRING="; A$

END SUB

**FUNCTION Procedure**

CLS

INPUT "ENTER A STRING"; W$

PRINT "REVERSED STRING="; REV$(W$)

END

FUNCTION REV$ (N$)

FOR I = LEN(N$) TO 1 STEP -1

A$ = A$ + MID$(N$, I, 1)

NEXT I

REV$ = A$

END FUNCTION

**5. Prime or Composite**

**FUNCTION Procedure**

DECLARE FUNCTION PRIME(N)

CLS

INPUT "ENTER ANY NUMBER"; N

P = PRIME(N)

IF P = 2 THEN

PRINT N; "IS PRIME NUMBER"

ELSE

PRINT N; "IS COMPOSITE NUMBER"

END IF

END

FUNCTION PRIME (N)

C = 0

FOR I = 1 TO N

IF N MOD I = 0 THEN C = C + 1

NEXT I

PRIME = C

END FUNCTION

**6. ARMSTRONG or not**

[An Armstrong number of three digits is an integer such that the sum of the cubes of its digits is equal to the number itself. Eg: 153 = 1^3 + 5^3 + 3^3= 153]

**SUB Procedure**

DECLARE SUB ARMS (N)

CLS

INPUT "ENTER ANY NUMBER"; N

CALL ARMS(N)

END

SUB ARMS (N)

A = N

S = 0

WHILE N <> 0

R = N MOD 10

S = S + R ^ 3

N = N \ 10

WEND

IF A = S THEN

PRINT A; "IS ARMSTRONG NUMBER"

ELSE

PRINT A; "IS NOT ARMSTRONG NUMBER"

END IF

END SUB

**FUNCTION Procedure**

DECLARE FUNCTION ARMS (N)

CLS

INPUT "ENTER ANY NUMBER"; N

A = N

AR = ARMS(N)

IF A = AR THEN

PRINT A; "IS ARMSTRONG NUMBER"

ELSE

PRINT A; "IS NOT ARMSTRONG NUMBER"

END IF

END

FUNCTION ARMS (N)

S = 0

WHILE N <> 0

R = N MOD 10

S = S + R ^ 3

N = N \ 10

WEND

ARMS = S

END FUNCTION

**7. Input String and Count Total Number of vowels**

**SUB Procedure**

DECLARE SUB COUNT (S$)

CLS

INPUT "ENTER ANY STRING"; S$

CALL COUNT(S$)

END

SUB COUNT (S$)

VC = 0

FOR I = 1 TO LEN(S$)

B$ = MID$(S$, I, 1)

C$ = UCASE$(B$)

IF C$ = "A" OR C$ = "E" OR C$ = "I" OR C$ = "O" OR C$ = "U" THEN

VC = VC + 1

END IF

NEXT I

PRINT "TOTAL NO. OF VOWELS= "; VC

END SUB

**FUNCTION PROCEDURE**

DECLARE FUNCTION COUNT (S$)

CLS

INPUT "ENTER ANY STRING"; S$

PRINT "TOTAL NO. OF VOWELS= "; COUNT(S$)

END

FUNCTION COUNT (S$)

VC = 0

FOR I = 1 TO LEN(S$)

B$ = MID$(S$, I, 1)

C$ = UCASE$(B$)

IF C$ = "A" OR C$ = "E" OR C$ = "I" OR C$ = "O" OR C$ = "U" THEN

VC = VC + 1

END IF

NEXT I

COUNT = VC

END FUNCTION

**8. Input String and display only vowels**

**SUB PROCEDURE**

DECLARE SUB DISPV (S$)

CLS

INPUT "ENTER ANY STRING"; S$

CALL DISPV(S$)

END

SUB DISPV(S$)

FOR I = 1 TO LEN(S$)

B$ = MID$(S$, I, 1)

C$ = UCASE$(B$)

IF C$ = "A" OR C$ = "E" OR C$ = "I" OR C$ = "O" OR C$ = "U" THEN

PRINT B$

END IF

NEXT I

END SUB

**FUNCTION PROCEDURE**

DECLARE FUNCTION DISP (S$)

CLS

INPUT "ENTER ANY STRING"; S$

VC = DISP(S$)

END

FUNCTION DISP (S$)

FOR I = 1 TO LEN(S$)

B$ = MID$(S$, I, 1)

C$ = UCASE$(B$)

IF C$ = "A" OR C$ = "E" OR C$ = "I" OR C$ = "O" OR C$ = "U" THEN

PRINT B$

END IF

NEXT I

END FUNCTION

**9.Input String and display only consonant**

**SUB Procedure**

DECLARE SUB DISC (S$)

CLS

INPUT "ENTER ANY STRING"; S$

CALL DISC(S$)

END

SUB DISC (S$)

FOR I = 1 TO LEN(S$)

B$ = MID$(S$, I, 1)

C$ = UCASE$(B$)

IF C$ <> "A" AND C$ <> "E" AND C$ <> "I" AND C$ <> "O" AND C$ <> "U" AND C$ <> " " AND C$ <> "." THEN

PRINT B$

END IF

NEXT I

END SUB

**FUNCTION Procedure**

DECLARE FUNCTION DISPC (S$)

CLS

INPUT "ENTER ANY STRING"; S$

CC = DISPC(S$)

END

FUNCTION DISPC (S$)

FOR I = 1 TO LEN(S$)

B$ = MID$(S$, I, 1)

C$ = UCASE$(B$)

IF C$ <> "A" AND C$ <> "E" AND C$ <> "I" AND C$ <> "O" AND C$ <> "U" AND C$ <> " " AND C$ <> "." THEN

PRINT B$

END IF

NEXT I

END FUNCTION

**10.Sum of EVEN Number**

**SUB Procedure**

DECLARE SUB SUMEVEN (N)

CLS

INPUT "ENTER ANY NUMBER"; N

CALL SUMEVEN(N)

END

SUB SUMEVEN (N)

S = 0

WHILE N <> 0

R = N MOD 10

IF R MOD 2 = 0 THEN S = S + R

N = N \ 10

WEND

PRINT "SUM OF EVEN DIGITS"; S

END SUB

**FUNCTION Procedure**

DECLARE FUNCTION SUMEVEN (N)

CLS

INPUT "ENTER ANY NUMBER"; N

SU = SUMEVEN(N)

PRINT "SUM OF EVEN DIGITS"; SU

END

FUNCTION SUMEVEN (N)

S = 0

WHILE N <> 0

R = N MOD 10

IF R MOD 2 = 0 THEN S = S + R

N = N \ 10

WEND

SUMEVEN = S

END FUNCTION

**11. Centigrade to Fahrenheit**

**SUB Procedure**

DECLARE SUB CONVERT (C)

CLS

INPUT "ENTER TEMPERATURE IN CELCIUS"; C

CALL CONVERT(C)

END

SUB CONVERT (C)

F = C * (9 / 5) + 160

PRINT "TEMPERATURE IN FARENHEIT="; F

END SUB

**FUNCTION Procedure**

DECLARE FUNCTION CONVERT (C)

CLS

INPUT "ENTER TEMPERATURE IN CELSIUS"; C

PRINT "TEMPERATURE IN FAHRENHEIT="; CONVERT(C)

END

FUNCTION CONVERT (C)

F = C * (9 / 5) + 160

CONVERT = F

END FUNCTION

**12. Perimeter or rectangle 2(L+B)**

**SUB Procedure**

DECLARE SUB PERIMETER (L, B)

CLS

INPUT "ENTER LENGTH"; L

INPUT "ENTER BREADTH"; B

CALL PERIMETER(L, B)

END

SUB PERIMETER (L, B)

P = 2 * (L + B)

PRINT "PERIMETER OF RECTANGLE "; P

END SUB

**FUNCTION Procedure**

DECLARE FUNCTION PERIMETER (L, B)

CLS

INPUT "ENTER LENGTH"; L

INPUT "ENTER BREADTH"; B

PR = PERIMETER(L, B)

PRINT "PERIMETER OF RECTANGLE "; PR

END

FUNCTION PERIMETER (L, B)

P = 2 * (L + B)

PERIMETER = P

END FUNCTION

**13. Convert Nepalese Currency to Indian Currency**

**SUB Procedure**

DECLARE SUB CONV(N)

CLS

INPUT "ENTER NEPALESE CURRENCY "; P

CALL CONV(P)

END

SUB CONV (P)

C = P / 1.6

PRINT "INDIAN CURRENCY "; C

END SUB

**FUNCTION Procedure**

DECLARE FUNCTION CONV(N)

CLS

INPUT "ENTER NEPALESE CURRENCY "; P

PRINT "INDIAN CURRRENCY = "; CONV(P)

END

FUNCTION CONV (P)

CONV = P / 1.6

END FUNCTION

**14. Square of all digit of input number**

**SUB Procedure**

DECLARE SUB SQU(A)

CLS

INPUT "ENTER A NUMBER"; N

CALL SQU(N)

END

SUB SQU (N)

WHILE N <> 0

R = N MOD 10

S = R ^ 2

PRINT S

N = N \ 10

WEND

END SUB

**15. Greatest among two number**

**FUNCTION PROCEDURE**

DECLARE FUNCTION MAX(A,B)

CLS

INPUT "Enter any two number"; A, B

PRINT "The greater number is"; MAX(A, B)

END

FUNCTION MAX (A, B)

IF A > B THEN

MAX = A

ELSE

MAX = B

END IF

END FUNCTION

**16.Using user defined function, write a program to input monthly income in parameter then computer annual tax to be paid. The tax rate is 15% if annual income is above Rs. 200000, otherwise tax rate is 1%.**

**FUNCTION PROCEDURE**

DECLARE FUNCTION TAX(I)

CLS

INPUT "Enter monthly income"; I

PRINT "Tax to be paid="; TAX(I)

END

FUNCTION TAX (I)

A = I * 12

IF A > 200000 THEN

TAX = 15 / 100 * A

ELSE

TAX = 1 / 100 * A

END IF

END FUNCTION