1
Structure of END ... SUB END
Click for Video Tutorial -answer
i. Input / Output Functions
C program to display "Hello World"
C Program to find sum of two numbers
C Program to find the square of given number || Cube of given number
C Program to find simple interest C Program to convert temperature from Centigrade (C) to Fahrenheit (F). Hint: f=1.8c+32
C program to find area and circumference of a circle.
C program that ask length and breath of a room. Find area and perimeter of a room.
C Program to find remainder of two number
C Program to convert minutes into hour and minutes || Converts Seconds into Hour, Minute and Seconds C program to input number of days and convert it into years, months and days.
ii. Selection Statement
C Program to check whether the given number is divisible by 7 or not. C Program to test whether the given number is even or odd.
C Program to input mark of computer science and check whether the student is pass or fail where the pass mark is 40.
C Program that asks two numbers and displays the smaller one || greater one.
C program to asks three numbers and display the greatest || smallest among them. C program to find the greatest || smallest number among four numbers. C Program to input a number and check whether it is positive, negative, or zero.
C Program to find the middle number among three different numbers. C program that inputs cost price and selling price and determine whether there is profit or loss. C program to find the commission amount in the basis of sales amount as per the following conditions:
Sales Amount Commission
0-1000 5%-
1001-2000 10%
>2000 12%
iii. Looping Statement
C program to display 5,10,15,.....50
C program to display 5,10,15,..... up to 50th terms
C program to display 1,2,4,8,16,..... up to 10th terms
C program to display 1,2,4,7,11,..... up to 10th terms
C program to display 2,8,18,32,..... up to 10th terms
C program to display 999,728,511,..... up to 10th terms
C program to display 100,98,94,88,80,..... up to 10th terms
C program to display 7,22,11,34,17,..... up to 10th terms(Hailstone Series)
C program to display 0,1,1,2,3,5,8,13,..... up to 50th terms (Fibonacci Series)
C program to display the series with their sum 1,2,3,4,..... up to 10th terms
iv. Looping with Condition
C program to display all even numbers from 2 to 20 and find their sum.
C program to find the factorial of the given number.
The product of a given positive integer multiplied by all lesser positive integers: The quantity five factorial (5!) = 5x4 x 3 x 2 x 1 = 120.
C program to display factors of a supplied number.
C program to check whether the supplied number is prime or composite.
C program to display all prime numbers from 1 to 100.
C program that asks a multi-digit number and calculates the sum of its individual digits.
C program to display the reverse of a supplied number.
C program to test whether the supplied number is Palindrome number or not.
C program to check whether the given number is Armstrong or not.
C program to display:
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
DECLARE SUB PROCEDURE_NAME(PARAMETERS)
INPUT STATEMENTS
CALL PROCEDURE_NAME(PARAMETERS)
END
SUB PROCEDURE_NAME(PARAMETERS)
FORMULA || PROCESS
PRINT STATEMENTS
END SUB
Simple Mathematical Programs using Sub
1. Find sum of two numbers using Sub ... End Sub.
DECLARE SUB SUM(A,B)
INPUT "Enter two numbers ",A,B
CALL SUM(A,B)
END
SUB SUM(A,B)
S=A+B
PRINT "Sum of two numbers is " , S
END SUB
2. Find product of two numbers using Sub ... End Sub.
DECLARE SUB PRODUCT(A,B)
INPUT "Enter any two numbers ",A,B
CALL PRODUCT(A,B)
END
SUB PRODUCT(A,B)
P = A * B
PRINT "Product of two numbers is";P
END SUB
3. Find simple interest using Sub ... End Sub.
DECLARE SUB INTEREST(P,T,R)
INPUT "Enter principal , time and rate ",P,T,R
CALL INTEREST (P,T,R)
END
SUB INTEREST(P,T,R)
I = (P * T * R) / 100
PRINT "Simlple Interest is ";I
END SUB
4. Find area || circumference of circle using Sub...End Sub.
DECLARE SUB AREA(R)
INPUT "Enter radius ",R
CALL AREA (R)
END
SUB AREA(R)
A = 3.14 * R * R
PRINT "Area of circle is ";A
END SUB
DECLARE SUB CIRCUM(R) INPUT "Enter radius ",R CALL CIRCUM (R) END SUB CIRCUM(R) C = 2 * 3.14 * R PRINT " Circumference of circle is ";C END SUB
DECLARE SUB CIRCUM(R) INPUT "Enter radius ",R CALL CIRCUM (R) END SUB CIRCUM(R) C = 2 * 3.14 * R PRINT " Circumference of circle is ";C END SUB
5. Find area and perimeter of a room using Sub...End Sub.
DECLARE SUB CAL(L,B)
INPUT "Enter Length and Breadth ",L,B
CALL CAL(L,B)
END
SUB CAL(L,B)
A = L * B
P = 2 * (L + B)
PRINT " Area is ";A
PRINT "Perimeter is ";P
END SUB
6. Find the square root of given number using Sub...End Sub.
DECLARE SUB SROOT(N)
INPUT " Enter any number ",N
CALL SROOT(N)
END
SUB SROOT(N)
SR = SQR(N)
PRINT " Square root is ";SR
END SUB
7. Write QBASIC Program to total surface area of a cube where TSA = 6L2 using Sub...End Sub.
DECLARE SUB TSA(L)
INPUT " Enter Length ",L
CALL TSA(L)
END
SUB TSA(L)
A = 6 * L ^ 2
PRINT " TSA is ";A
END SUB
8. Write QBASIC Program to convert degree Celsius and convert it into Fahrenheit where F=(9*C/5)+32 using Sub...End Sub.
DECLARE SUB TEMP(C)
INPUT " Enter temp. in Celsius : ",C
CALL TEMP(C)
END
SUB TEMP(C)
F=(9*C/5)+32
PRINT "Temp. in Fahrenheit is " ; F
END SUB
9. Write QBASIC Program to convert minutes into hours and minutes using Sub...End Sub.
DECLARE SUB CAL(MIN)
INPUT " Enter time in minutes : ",MIN
CALL CAL(MIN)
END
SUB CAL(MIN)
HR = MIN \ 60
M = MIN MOD 60
PRINT HR ; "HOUR" ; M ; "MINUTE"
END SUB
10. Write QBASIC Program to input number of days and convert it into years, months and days using Sub...End Sub.
DECLARE SUB CAL(D)
INPUT " Enter days : ",D
CALL CAL(D)
END
SUB CAL(D)
YR = D \ 365
D1 = D MOD 365
MTH = D1 \ 30
DAY = D1 MOD 30
PRINT YR ; "YEARS" ; MTH ; "MONTHS" ; DAY ; "DAYS"
END SUB
Conditional Statements Without Looping using Sub
11. Write QBASIC Program to that asks two number and display the smaller | greater one using Sub...End Sub.
DECLARE SUB CHECK(A,B)
INPUT "Enter two numbers : ", A,B
CALL CHECK(A,B)
END
SUB CHECK(A,B)
IF A<B THEN
PRINT A;" is smaller"
ELSE
PRINT B; " is smaller"
END IF
END SUB
DECLARE SUB CHECK(A,B) INPUT "Enter two numbers : ", A,B CALL CHECK(A,B) END SUB CHECK(A,B) IF A>B THEN PRINT A;" is greater" ELSE PRINT B; " is greater" END IF END SUB
DECLARE SUB CHECK(A,B) INPUT "Enter two numbers : ", A,B CALL CHECK(A,B) END SUB CHECK(A,B) IF A>B THEN PRINT A;" is greater" ELSE PRINT B; " is greater" END IF END SUB
12. Write QBASIC Program to that asks three number and display the greatest || smallest one using Sub...End Sub.
DECLARE SUB CHECK(A,B,C)
INPUT "Enter three numbers : ", A,B,C
CALL CHECK(A,B,C)
END
SUB CHECK(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 greatest number"
ELSE
PRINT C; " is greatest number "
END IF
END SUB
DECLARE SUB CHECK(A,B,C) INPUT "Enter three numbers : ", A,B,C CALL CHECK(A,B,C) END SUB CHECK(A,B,C) IF A<B AND A<C THEN PRINT A;" is smallest number" ELSEIF B<A AND B<C THEN PRINT B; " is smallest number" ELSE PRINT C; " is smallest number " END IF END SUB
DECLARE SUB CHECK(A,B,C) INPUT "Enter three numbers : ", A,B,C CALL CHECK(A,B,C) END SUB CHECK(A,B,C) IF A<B AND A<C THEN PRINT A;" is smallest number" ELSEIF B<A AND B<C THEN PRINT B; " is smallest number" ELSE PRINT C; " is smallest number " END IF END SUB
13. Write QBASIC Program to that asks three different numbers and display the middle number using Sub...End Sub.
DECLARE SUB CHECK(A,B,C)
INPUT "Enter three numbers : ", A,B,C
CALL CHECK(A,B,C)
END
SUB CHECK(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
14. Write QBASIC Program to test given number is divisible by 7 or not using Sub...End Sub.
DECLARE SUB CHECK(N)
INPUT " Enter any number : ",N
CALL CHECK(N)
END
SUB CHECK(N)
R = N MOD 7
IF R = 0 THEN
PRINT " Divisible by 7 "
ELSE
PRINT " Not divisible by 7 "
END IF
END SUB
15. Write QBASIC Program to test given number is odd or even using Sub...End Sub.
DECLARE SUB CHECK(N)
INPUT " Enter any number : ",N
CALL CHECK(N)
END
SUB CHECK(N)
R = N MOD 2
IF R = 0 THEN
PRINT " Even number "
ELSE
PRINT " Odd number "
END IF
END SUB
16. Write QBASIC Program to input mark of computer science and check whether student is pass or fail where pass mark is 40 using Sub...End Sub.
DECLARE SUB CHECK(C)
INPUT " Enter computer mark : ",C
CALL CHECK(C)
END
SUB CHECK(C)
IF C >= 40 THEN
PRINT " Pass "
ELSE
PRINT " Fail "
END IF
END SUB
17. Write QBASIC Program to test given number is positive, negative or zero using Sub...End Sub.
DECLARE SUB TEST (N)
INPUT " Enter any number : ",N
CALL TEST(N)
END
SUB TEST(N)
IF N> 0 THEN
PRINT " Positive "
ELSEIF (N0) THEN
PRINT " Negative "
ELSE
PRINT " Zero "
END IF
END SUB
18. Write QBASIC Program to ask CP and SP and test for profit or loss using Sub...End Sub.
DECLARE SUB TEST (SP,CP)
INPUT " Enter selling and cost price: ",SP,CP
CALL TEST (SP,CP)
END
SUB TEST(SP,CP)
IF SP> CP THEN
P = SP - CP
PRINT " PROFIT : ";P
ELSE
L = CP - SP
PRINT " LOSS : ";L
END IF
END SUB
19. Write QBASIC Program to display first ten natural numbers using Sub...End Sub.
DECLARE SUB SERIES()
CALL SERIES
END
SUB SERIES
FOR I = 1 TO 10
PRINT I
NEXT I
END SUB
20. Write QBASIC Program to display 10 9 8 ..... to 1 using Sub...End Sub.
DECLARE SUB SERIES()
CALL SERIES
END
SUB SERIES
FOR I = 10 TO 1 STEP-1
PRINT I
NEXT I
END SUB
21.Write QBASIC Program to display first twenty even numbers using Sub...End Sub.
DECLARE SUB SERIES()
CALL SERIES
END
SUB SERIES
E = 2
FOR I = 1 TO 20
PRINT E
E = E + 2
NEXT I
END SUB
22. Write QBASIC Program to print the factorial of given number using Sub...End Sub.
[The product of a given positive integer multiplied by all lesser positive integers: The quantity five factorial (5!) = 5 x 4 x 3 x 2 x 1 = 120.]
DECLARE SUB FACTO(N)
INPUT " Enter any number : ",N
CALL FACTO(N)
END
SUB FACTO(N)
F=1
FOR I = N TO 1 STEP -1
F = F * I
NEXT I
PRINT "Factorial of " ; N; " = "; F
END SUB
23. Write QBASIC Program to print multiplication table of 5 || "N" using Sub...End Sub.
DECLARE SUB MTABLE()
CALL MTABLE
END
SUB MTABLE
FOR I = 1 TO 10
PRINT 5 * I
NEXT I
END SUB
DECLARE SUB MTABLE(N) INPUT "Enter any number : ", N CALL MTABLE(N) END SUB MTABLE(N) FOR I = 1 TO 10 PRINT N * I NEXT I END SUB
DECLARE SUB MTABLE(N) INPUT "Enter any number : ", N CALL MTABLE(N) END SUB MTABLE(N) FOR I = 1 TO 10 PRINT N * I NEXT I END SUB
24. Write QBASIC Program to print sum of first ten natural numbers using Sub...End Sub.
DECLARE SUB SERI()
CALL SERI
END
SUB SERI
S = 0
FOR I = 1 TO 10
S = S + I
NEXT I
PRINT "Sum is";S
END SUB
25. Write QBASIC Program to print factors of given number using Sub...End Sub.
DECLARE SUB FACTOR(N)
INPUT " Enter any number : ";N
CALL FACTOR(N)
END
SUB FACTOR(N)
FOR I = 1 TO N
IF N MOD I = 0 THEN
PRINT I
END IF
NEXT I
END SUB
26. Write QBASIC Program to print sum of digits of entered number using Sub...End Sub.[eg. 123=1+2+3=6]
DECLARE SUB SOD(N)
INPUT " Enter any number : " , N
CALL SOD(N)
END
SUB SOD(N)
S=0
WHILE N<>0
R = N MOD 10
S = S + R
N = N \ 10
WEND
PRINT " Sum of Digits: ";S
END SUB
27. Write QBASIC Program to print product of digits of entered number using Sub...End Sub. [eg. 132=1*3*2=6]
DECLARE SUB Prod(N)
INPUT " Enter any number : " , N
CALL Prod(N)
END
SUB Prod(N)
P=1
WHILE N<>0
R = N MOD 10
P = P * R
N = N \ 10
WEND
PRINT " Product of Digits: "; P
END SUB
28. Write QBASIC Program to reverse given number using Sub...End Sub.[eg. 123 = 321]
DECLARE SUB REV(N)
INPUT " Enter any number : " , N
CALL REV(N)
END
SUB REV(N)
WHILE N<>0
R = N MOD 10
S = S * 10 + R
N = N \ 10
WEND
PRINT " Reverse of number : ";S
END SUB
29. Write QBASIC Program to reverse a given string using Sub...End Sub.[eg. PLK = KLP]
DECLARE SUB REV(W$)
INPUT " Enter any String : " , W$
CALL REV(W$)
END
SUB REV(W$)
FOR I = LEN(W$) TO 1 STEP-1
R$ = R$ + MID$(W$, I, 1)
NEXT I
PRINT " Reverse of String : " ; R$
END SUB
30. Write QBASIC program to display 100,95,90...... upto 10th terms using Sub...End Sub.
DECLARE SUB SERIES()
CALL SERIES
END
SUB SERIES
A = 100
FOR I = 1 TO 10
PRINT A
A = A - 5
NEXT I
END SUB
31. Write QBASIC program to display 1,4,9,16 ...... upto 10th terms using Sub...End Sub.
DECLARE SUB SERIES()
CALL SERIES
END
SUB SERIES
FOR I = 1 TO 10
PRINT I^2
NEXT I
END SUB
32. Write QBASIC program to display 1,27,64 ...... upto 10th terms using Sub...End Sub.
DECLARE SUB SERIES()
CALL SERIES
END
SUB SERIES
FOR I = 1 TO 10
PRINT I^3
NEXT I
END SUB
33. Write QBASIC program to display 1,2,4,7,11 ...... upto 10th terms using Sub...End Sub.
DECLARE SUB SERIES()
CALL SERIES
END
SUB SERIES
A = 1
FOR I= 1 TO 10
PRINT A
A = A + I
NEXT I
END SUB
34. Write QBASIC program to display 1,5,9,13...... upto 10th terms using Sub...End Sub.
DECLARE SUB SERIES()
CALL SERIES
END
SUB SERIES
A = 1
FOR I= 1 TO 10
PRINT A
A = A + 4
NEXT I
END SUB
35. Write QBASIC program to display 2,5,9,14...... upto 10th terms using Sub...End Sub.
DECLARE SUB SERIES()
CALL SERIES
END
SUB SERIES
A = 2
B = 3
FOR I= 1 TO 10
PRINT A
A = A + B
B = B + 1
NEXT I
END SUB
36. Write QBASIC program to display 2,8,15,23,32 ...... upto 10th terms using Sub...End Sub.
DECLARE SUB SERIES()
CALL SERIES
END
SUB SERIES
A = 2
B = 6
FOR I= 1 TO 10
PRINT A
A = A + B
B = B + 1
NEXT I
END SUB
37. Write QBASIC program to display 2,8,18,32 ...... upto 10th terms using Sub...End Sub.
DECLARE SUB SERIES()
CALL SERIES
END
SUB SERIES
FOR I = 1 TO 10
PRINT I^2*2
NEXT I
END SUB
38. Write QBASIC program to display 0,1,1,2,3,5 ...... upto 10th terms using Sub...End Sub.[Fibonacci Series]
[An integer in the infinite sequence 0,1, 1, 2, 3, 5, 8, 13, … of which the first two terms are 0 and 1 and each succeeding term is the sum of the two immediately preceding is called 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
(iv) Looping Programs with Condition
39. Write QBASIC program to display 7,22,11,34 ...... upto 10th terms using Sub...End Sub.[Hailstone Series]
[Start with any integer value greater than 0, say x. If x is even, then the next value in the series is x/2; if x is odd, then the next value in the series is 3x + 1. This type of series is called 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
40. Write QBASIC program to test whether the given number is prime or composite number using Sub...End Sub.
[A number that is divisible by itself and 1 is called prime number. (e.g. 2,3,5,7,11 etc)]DECLARE SUB TEST(N)
INPUT " Enter a number : ", N
CALL TEST(N)
END
SUB TEST(N)
C = 0
FOR I = 1 TO N STEP 1
R = N MOD I
IF R=0 THEN C=C+1
NEXT I
IF C=2 THEN
PRINT N;" is prime number"
ELSE
PRINT N;"is composite number"
END IF
END SUB
41. Write QBASIC program to display prime numbers from 1 to 100 using Sub...End Sub.
DECLARE SUB SERIES()
CALL SERIES
END
SUB SERIES
FOR N = 1 TO 100
C = 0
FOR I = 1 TO N STEP 1
R = N MOD I
IF R=0 THEN C=C+1
NEXT I
IF C=2 THEN PRINT N;
NEXT N
END SUB
42. Write QBASIC program to test whether the given number is palindrome or not using Sub..End Sub.
[A word, phrase, or sequence of number that reads the same backwards as forwards is called Palindrome. Example : 121 , 101 etc]
DECLARE SUB PALIN(N)
INPUT " Enter any number : ",N
CALL PALIN(N)
END
SUB PALIN(N)
A = N
WHILE N<>0
R = N MOD 10
REV = REV * 10 + R
N = N \ 10
WEND
IF A=REV THEN
PRINT A;" is Palindrome Number"
ELSE
PRINT A;"is not Palindrome Number"
END IF
END SUB
43. Write QBASIC program to test whether the given number is Armstrong or not using Sub..End Sub.
[An Armstrong number is an n-digit base b number such that the sum of its (base b) digits raised to the power n is the number it self. Hence 153 is Armstrong Number because 13+53+33=1+125+27=153,370,371,407.]
DECLARE SUB ARM(N)
INPUT " Enter any number : ",N
CALL ARM(N)
END
SUB ARM(N)
A = N
WHILE N<>0
R = N MOD 10
SUM = SUM + R * R * R
N = N \ 10
WEND
IF A=SUM THEN
PRINT A;" is Armstrong Number"
ELSE
PRINT A;"is not Armstrong Number"
END IF
END SUB
44. Write QBASIC program to display Armstrong number from 1 to 1000 using Sub...End Sub.[Hint: 1,153,370,371,407 are Armstrong Number].
DECLARE SUB SERIES()
CALL SERIES
END
SUB SERIES
FOR I = 1 TO 1000
SUM = 0
N = I
WHILE N<>0
R = N MOD 10
SUM = SUM + R * R * R
N = N \ 10
WEND
IF I=SUM THEN PRINT I
NEXT I
END SUB
45. Write QBASIC program to count the total number of vowels in a given string using Sub...End Sub.
DECLARE SUB VCOUNT(W$)
INPUT "Enter any string ";W$
CALL VCOUNT(W$)
END
SUB VCOUNT(W$)
W$ = UCASE$(W$)
FOR I= 1 TO LEN(W$)
C$ = MID$(W$, I, 1)
SELECT CASE C$
CASE "A","E","I","O","U"
C = C + 1
END SELECT
NEXT I
PRINT "Number of vowels=";C
END SUB
46. Write QBASIC program to count the total number of consonants in a given string using Sub...End Sub.
DECLARE SUB CCOUNT(W$)
INPUT "Enter any string ";W$
CALL CCOUNT(W$)
END
SUB CCOUNT(W$)
W$ = UCASE$(W$)
FOR I= 1 TO LEN(W$)
C$ = MID$(W$, I, 1)
SELECT CASE C$
CASE "A","E","I","O","U"
CASE ELSE
C = C + 1
END SELECT
NEXT I
PRINT "Number of consonants=";C
END SUB
47. Write QBASIC program to check whether the given string is palindrome or not using Sub...End Sub.
DECLARE SUB TEST(W$)
INPUT " Enter any string : ";W$
CALL TEST(W$)
END
SUB TEST(W$)
FOR I= LEN(W$) TO 1 STEP-1
C$ = C$ + MID$(W$, I, 1)
NEXT I
IF W$=C$ THEN
PRINT " Palindrome String "
ELSE
PRINT " Not Palindrome String "
END IF
END SUB
48. Write QBASIC program to count total number of word in a given sentence using Sub...End Sub.
DECLARE SUB COUNT(S$)
INPUT " Enter any sentence : ",S$
CALL COUNT(S$)
END
SUB COUNT(S$)
sp = 1
FOR I= 1 TO LEN(S$)
C$ = MID$(S$, I, 1)
IF C$=" " THEN sp=sp+1
NEXT I
PRINT " Total words=";sp
END SUB
49. Write QBASIC program to calculate HCF of two numbers using Sub...End Sub.
DECLARE SUB HCF(A,B)
INPUT "Enter two numbers "; A,B
CALL HCF(A,B)
END
SUB HCF(A,B)
FOR I = 1 TO A
IF A MOD I = 0 AND B MOD I = 0 THEN
H = I
END IF
NEXT I
PRINT "HCF =";H
END SUB
50. Write QBASIC program to calculate LCM of two numbers using Sub...End Sub.
DECLARE SUB LCM(A,B)
INPUT "Enter two numbers ";A,B
CALL LCM(A,B)
END
SUB LCM(A,B)
FOR I = 1 TO A
IF A MOD I = 0 AND B MOD I = 0 THEN
H = I
END IF
NEXT I
L = (A * B) / H
PRINT "LCM ="; L
END SUB
51. Write QBASIC program to display following using Sub...End Sub.
P EPA NEPAL
P EPA NEPAL
Structure of Function Procedure
DECLARE FUNCTION function_name (parameter list)
INPUT statements [ask all parameter]
PRINT function_name (parameter list)
END
FUNCTION function_name (parameter list)
Function_name = formula | process | calculations
END FUNCTION
Example program ---- Write a program using Function ... End Function to find the sum of two numbers.
DECLARE FUNCTION SUM(A,B)
INPUT " Enter any two numbers : ", A,B
PRINT " Sum of two numbers is : " ; SUM(A,B)
END
FUNCTION SUM(A,B)
SUM = A + B
END FUNCTION
Q1. Write a program using Function ... End Function to find area of rectangle. [Hint:A=LxB].
DECLARE FUNCTION AREA(L,B)
INPUT "Enter length and breadth: ";L,B
PRINT "Area = "; AREA(L,B)
END
FUNCTION AREA(L,B)
A = L * B
AREA = A
END FUNCTION
Q2.Write a program to calculate perimeter of rectangle using FUNCTION procedure. [Hint: P=2(L+B)]
DECLARE FUNCTION PERI(L,B)
INPUT "Enter length and breadth: ";L,B
PRINT "Perimeter = ";PERI(L,B)
END
FUNCTION PERI(L,B)
P = 2 * (L + B)
PERI = P
END FUNCTION
Q3. Write a program using Function ... End Function to find simple interest.
DECLARE FUNCTION SI(P,T,R)
INPUT " Enter Principal, time and rate : ", P,T,R
PRINT " Simple Interest is : " ; SI(P,T,R)
END
FUNCTION SI(P,T,R)
SI=(P*T*R)/100
END FUNCTION
Q4.Write a program to calculate the average of three numbers using FUNCTION procedure. [SEE-2075 R]
DECLARE FUNCTION AVG(A,B,C)
INPUT " Enter three numbers: ",A,B,C
PRINT " Average of three numbers is "; AVG(A,B,C)
END
FUNCTION AVG(A,B,C)
AVG = (A + B + C) / 3
END FUNCTION
Q5. Write a program to calculate and return total surface area of a box using FUNCTION -- END FUNCTION. [Hint: A= 2(1b+1h+bh)] [SEE 075 Province-2]
DECLARE FUNCTION TSA(L,B,H)
INPUT "Enter length, breath and height";L,B,H
PRINT "Total surface area is" ; TSA(L,B,H)
END
FUNCTION TSA(L,B,H)
TSA = 2 * (L * B + L * H + B * H)
END FUNCTION
Q6.Write a program to calculate area of circle using function procedure? Hint: A=πr2]
DECLARE FUNCTION AREA(R)
INPUT "Enter radius";R
PRINT "Area of circle = "; AREA(R)
END
FUNCTION AREA(R)
A = 3.14*R*R
AREA = A
END FUNCTION
Q7. Create a user defined function to area and circumference of a circle. Hint: A=πr2 and C=2πr
DECLARE FUNCTION AREA(R)
DECLARE FUNCTION CIRCUM(R)
INPUT "Enter radius";R
PRINT "Area =";AREA(R)
PRINT "Circumferenc =";CIRCUM(R)
END
FUNCTION AREA(R)
A = 3.14 * R * R
AREA = A
END FUNCTION
FUNCTION CIRCUM(R)
C = 2 * 3.14 * R
CIRCUM = C
END FUNCTION
Q8. Create user defined function to accept degree in Celsius and convert it into Fahrenheit. [F=(9/5)*C+32]
DECLARE FUNCTION TEMP(C)
INPUT "Enter temp. in celsius : ";C
PRINT "Temp. in Fahrenheit =";TEMP(C)
END
FUNCTION TEMP(C)
F = (9 / 5) * C + 32
TEMP = F
END FUNCTION
Q9. Create user defined function to find square of a number.
DECLARE FUNCTION SQUARE(N)
INPUT "Enter number : ";N
PRINT "Square of given number =";SQUARE(N)
END
FUNCTION SQUARE(N)
S = N * N
SQUARE = S
END FUNCTION
Q10. Create user defined function to check whether the supplied number is positive, negative or zero.
DECLARE FUNCTION TEST(N)
INPUT "Enter any number : " , N
A = TEST(N)
IF A>0 THEN
PRINT "Positive"
ELSEIF N<0 THEN
PRINT "Negative"
ELSE
PRINT "Zero"
END IF
END
FUNCTION TEST(N)
TEST = N
END FUNCTION
Q11. Create user defined function to find sum of a cube of two numbers.
DECLARE FUNCTION CUBESUM(A,B)
INPUT "Enter first number: ";A
INPUT "Enter second number:";B
PRINT "Sum of cube of two numbers =";CUBESUM(A,B)
END
FUNCTION CUBESUM(A,B)
S = A * A * A + B * B * B
CUBESUM = S
END FUNCTION
Q12. Create user defined function to check whether the input number is divisible by 5 or not.
DECLARE FUNCTION TEST(N)
INPUT "Enter any number : ";N
ANS = TEST(N)
IF ANS=0 THEN
PRINT "divisible by 5"
ELSE
PRINT "Not divisible by 5"
END IF
END
FUNCTION TEST(N)
R = N MOD 5
TEST = R
END FUNCTION
Q13. Create user defined function to check whether the number is “even” or “odd”. [SEE 2075 Supp.]
DECLARE FUNCTION TEST(N)
INPUT "Enter any number : " , N
A = TEST(N)
IF A= 0 THEN
PRINT "Even number"
ELSE
PRINT "Odd number"
END IF
END
FUNCTION TEST(N)
R = N MOD 2
TEST = R
END FUNCTION
Q14. A function returns the square of a number using that function, print the square of all the numbers from 2 to 10.
DECLARE FUNCTION SQUARE(N)
CLS
FOR K = 2 TO 10
S = SQUARE(K)
PRINT "Square of "; K ; "=" ; S
NEXT K
END
FUNCTION SQUARE(N)
SQ = N * N
SQAURE=SQ
END FUNCTION
Q15. A function returns the cube of a number using that function, print the cube of all the numbers from 10 to 20.
DECLARE FUNCTION CUBE(N)
FOR K = 10 TO 20
C = CUBE(K)
PRINT "Cube "; K ; "=" ; C
NEXT K
END
FUNCTION CUBE(N)
CU = N * N * N
CUBE = CU
END FUNCTION
Q16. Create user defined function to find factorial of the input number.
DECLARE FUNCTION FACT(N)
INPUT "Enter any number : " , N
PRINT "Factorial = " ; FACT(N)
END
FUNCTION FACT(N)
F = 1
FOR I = N TO 1 STEP-1
F = F * I
NEXT I
FACT = F
END FUNCTION
Q17. Create user defined function to check input number is prime or composite.
DECLARE FUNCTION TEST(N)
INPUT "Enter any number : " , N
A = TEST(N)
IF A= 2 THEN
PRINT "Prime number"
ELSE
PRINT "Composite number"
END IF
END
FUNCTION TEST(N)
C = 0
FOR I = 1 TO N
IF N MOD I = 0 THEN
C = C + 1
END IF
NEXT I
TEST = C
END FUNCTION
Q18. A user defined function which returns the cube of a number, using that function, find the sum of the cube of the digits of input number.
DECLARE FUNCTION CUBE(N)
INPUT "Enter number "; N
PRINT "Cube of digits = "; CUBE(N)
END
FUNCTION CUBE(N)
WHILE N<>0
R = N MOD 10
S = S + R * R * R
N = N \ 10
WEND
CUBE = S
END FUNCTION
Q19. Create a user defined function to check whether the given number is Palindrome or not.
DECLARE FUNCTION PAL(N)
INPUT "Enter number "; N
IF N = PAL(N) THEN
PRINT "Palindrome Nuumber"
ELSE
PRINT "Not Palindrome number"
END IF
END
FUNCTION PAL(N)
WHILE N<>0
R = N MOD 10
S = S * 10 + R
N = N \ 10
WEND
PAL = S
END FUNCTION
Q20. Create user defined function to check whether the input number is Armstrong or not.
DECLARE FUNCTION ARM(N)
INPUT "Enter number "; N
IF N = ARM(N) THEN
PRINT "Armstrong Nuumber"
ELSE
PRINT "Not Armstring number"
END IF
END
FUNCTION ARM(N)
WHILE N<>0
R = N MOD 10
S = S + R * R * R
N = N \ 10
WEND
ARM = S
END FUNCTION
Q21. Create a user defined function to reverse the input string. [SEE 2074 Supp.]
DECLARE FUNCTION REV$(W$)
INPUT "Enter string : "; W$
A$ = REV$(W$)
PRINT "Reverse of given string is ";A$
END
FUNCTION REV$(W$)
FOR I = LEN(W$) TO 1 STEP-1
C$ = MID$(W$, I, 1)
B$ = B$ + C$
NEXT I
REV$ = B$
END FUNCTION
Q22. Write a program to input a string in the main module and then check whether the input string is a palindrome or not, using function procedure.
DECLARE FUNCTION TEST$(W$)
INPUT "Enter string " ; W$
A$ = TEST$(W$)
IF A$=W$ THEN
PRINT "Palindrome string"
ELSE
PRINT " Not palindrome String"
END IF
END
FUNCTION TEST$(W$)
FOR I = LEN(W$) TO 1 STEP-1
C$ = C$ + MID$(W$, I, 1)
NEXT I
TEST$ = C$
END FUNCTION
Q23. Create user defined function to count number of consonants in input string.
DECLARE FUNCTION CCOUNT(W$)
INPUT " Enter word : "; W$
A = CCOUNT(W$)
PRINT "Total consonants = " ; A
END
FUNCTION CCOUNT(W$)
C = 0
FOR I = 1 TO LEN(W$)
W$ = UCASE$(W$)
C$ = MID$(W$, I, 1)
SELECT CASE C$
CASE "A","E","I","O","U"
CASE ELSE
C = C + 1
END SELECT
NEXT I
CCOUNT = C
END FUNCTION
Q24. Write a program to input a word in the main module and count the total number of vowel characters present in the word using FUNCTION...END FUNCTION. [SEE 2073-R]
DECLARE FUNCTION VCOUNT(W$)
INPUT " Enter word : "; W$
A = VCOUNT(W$)
PRINT "Total vowels : " ; A
END
FUNCTION VCOUNT(W$)
C = 0
FOR I = 1 TO LEN(W$)
W$ = UCASE$(W$)
C$ = MID$(W$, I, 1)
SELECT CASE C$
CASE "A","E","I","O","U"
C = C + 1
END SELECT
NEXT I
VCOUNT = C
END FUNCTION
Q25. Write a program using FUNCTION... END FUNCTION to count the number of words in a sentence.[SEE 2074 R]
DECLARE FUNCTION WCOUNT(S$)
INPUT "Enter sentence : " ; S$
A = WCOUNT(S$)
PRINT "Total words in given sentence :";A
END
FUNCTION WCOUNT(S$)
C = 1
FOR I = 1 TO LEN(S$)
IF MID$(S$,I,1)= " " THEN
C = C + 1
END IF
NEXT I
WCOUNT = C
END FUNCTION
1. Write a program in QBASIC that asks length, breadth of a room and calculate its area and perimeter. Create a user defined function to calculate area and sub program to calculate perimeter. [Hint: [Area=LxB], [p=2(L+B]] SEE 2078 (2022)
D
D
I
P
C
END
1. Write a program to store Roll No, Name, Class and Address of any five students.
OPEN "ABC.TXT" FOR OUTPUT AS #1
FOR I = 1 TO 5
INPUT "Enter roll, name,class and address : ",R,N$,C,A$
WRITE #1,R,N$,C,A$
NEXT I
CLOSE #1
END
2. A data file "hospital.dat" contains information about some staffs. The records are staffname,post,shift,age. Write a program to insert 15 records to data file.
OPEN "hospital.dat" FOR APPEND AS #1
FOR I = 1 TO 15
Input "Enter staff name, post, shift and age : ",N$,P$,S$,AGE
WRITE #1,N$,P$,S$,AGE
NEXT I
CLOSE #1
END
3. Write a program that asks the item's name, rate and quantity and stores into "sales.txt". The user can supply 10 records in each execution of the program.
OPEN "sales.txt" FOR OUTPUT AS #1
FOR I = 1 TO 10
INPUT "Enter item's name, rate and quantity ",name$,rate,quantity
WRITE #1,name$,rate,quantity
NEXT I
CLOSE #1
END
4. Write a program to create a sequential data file named "Employee.dat" to store Name, Post, Address, and Salary for the number of employees. The program should terminate on the user's choice.
OPEN "employee.dat" FOR OUTPUT AS #1
DO
INPUT "Enter employee name, post , address and salary ",name$,post$,adr$,sal
WRITE #1,name$,post$,adr$,sal
INPUT " Want to add more records"; choice$
LOOP WHILE UCASE$(choice$)="Y"
CLOSE #1
END
5. Write a program to create a sequential data file "salary.dat" to store programmer's Name, salary and post according to the need of the user.
Open "salary.dat" for output as #1
Do
Input "Enter employee name, post and salary ",name$,post$,salary
WRITE #1,name$,post$,salary
input " Want to add more records"; choice$
Loop while(ucase$(choice$))="Y"
Close #1
End
6. Write a program to ask students' name, class and marks secured in three subjects. Store the data in a sequential data file "RESULT.TXT" along with the total marks. Make a provision to ask users to enter other records.
Open "result.txt" for output as #1
top:
Input "Enter name, class and marks of three subjects ",n$,c,s1,s2,s3
total = S1 + S2 + S3
WRITE #1,n$,c,s1,s2,s3,total
Input "Want to add another records ",choice$
If ucase$(choice$)="Y" then goto top
Close #1
End
7. Write a program to input the Name, Address and Post of some employees and store them in a file named "emp.txt" along with a serial number for each record.
Open "emp.txt" for output as #1
top:
sn = 1
Input "Enter name, address and post ",n$,a$,p$
write #1,sn,n$,a$,p$
sn = sn + 1
Input "Want to add another records ",choice$
If ucase$(choice$)="Y" then goto top
Close #1
End
8.Write a program that asks students' name, roll and class and stores into "class.txt" only those records who are studying in class 10. Users can supply the records as per his/her need.
Open "class.txt" for output as #1
top:
Input "Enter name,roll and class ",n$,roll,class
If class=10 then
write #1,n$,roll, class
End If
Input "Want to add another records ",choice$
If ucase$(choice$)="Y" then goto top
Close #1
End
9.Write a program that asks student's names and marks in English, Math and Computer. Store only those records that are passed in all the subjects into the data file named "pass.dat". The user will be asked whether to input another record or not. [Note: pass mark for all the subjects is 40.]
Open "pass.txt" for output as #1
top:
Input "Enter name, marks in Eng,Math and Computer ",n$,e,m,c
If e>=40 and m>=40 and c>=40 then
write #1,n$,e,m,c
End If
Input "Want to add another records ",choice$
If ucase$(choice$)="Y" then goto top
Close #1
End
10. A sequential data file called "record.txt" contains NAME,AGE,CITY and TELEPHONE fields. Write a program to display all the contents of that data file.
Open "record.txt" for input as #1
Print "Name","Age","City","Telephone"
while not eof(1)
Input #1,n$,age,city$,tel$
Print n$,age,city$,tel$
Wend
End
11. A sequential data file "EMP.TXT" contains name, post and salary fields of information about employees. Write a program to display all the information of the employee along with the tax amount also(tax is 15% of salary).
Open "emp.txt" for input as #1
Print "Name","Post","Salary","Tax"
While not eof(1)
Input #1,name$,post$,salary
Tax = (SALARY * 15)/100
Print name$,post$,salary,tax
Wend
End
12. A data file "STAFF.dat" has stored records of few employees with EmpID, FirstName, LastName, Post and Salary. Write a program to display all the records of the employees whose salary is more than 40,000.
Open "staff.dat" for input as #1
Do while not eof(1)
Input #1, empid, f$, l$, p$, salary
If salary>40000 then
print empid, f$, l$, p$, salary
End if
Loop
Close #1
End
13. A sequential data file called "SEE.TXT" has stored data under the field heading Symbol No, Name, English, Nepali, Maths and Computer. Write a program to display all the information of those students whose marks in Computer is more than 80.
Open "SEE.TXT" for input as #1
Do while not eof(1)
Input #1, symbolnum, NAME$, eng, nep, maths,comp
If comp>80 then
print symbolnum; NAME$; eng; nep; maths; comp
End if
Loop
Close #1
End
14. A sequential data file called "Record.txt" has stored data under the file heading Roll No, Name, Gender, English, Nepali, Maths and Computer. Write a program to display all the information of those students whose gender are "F" and obtained marks in the computer is more than 90.
Open "Record.txt" for input as #1
print "Roll"; "Name"; "Gender"; "English"; "Maths"; "Computer"
While not eof(1)
Input #1, Roll, Name$, Gen$, Eng, Maths, Comp
If UCASE$(Gen$)="F" and Comp>90 then
Print Roll; Name$; Gen$; Eng; Maths; Comp
End if
Wend
Close #1
End
15. A sequential data file "class.txt" has several records with the field's students' name, roll and class. Write a program that reads all the records and displays only those records whose roll number is less than 10.
Open "class.txt" for input as #1
Print "Roll", "Name", "Class"
While not eof(1)
Input #1, Roll, Name$, class
If Roll < 10 then
Print Roll, Name$, class
End if
Wend
Close #1
End
16. A sequential data file "pass.dat" has several records having fields student's name and marks in English, Math and Computer. Write a program that reads all the records and displays only those records whose name starts with 'A' and also counts the total number of records stored in the file.
Open "pass.dat" for input as #1
While not eof(1)
Input #1, Name$, eng,math,comp
C = C + 1
p$ = ucase$(left$(NAME$, 1))
If p$="A" then
Print Name$,eng,math,comp
End if
Wend
Print "total number of record is" ; C
Close #1
End
17. A doctor keeps name, age and sex of his patients in a sequential data file "PATIENT.DAT". Write a QBASIC program to display only male patient records also count the total number of patients in a file.
OPEN "PATIENT.DAT" FOR INPUT AS #1
PRINT "Name","Age","Sex"
WHILE NOT EOF(1)
INPUT #1, NAME$,AGE,SEX$
C = C + 1
IF UCASE$(SEX$)="MALE" THEN
PRINT NAME$,AGE,SEX
END IF
WEND
PRINT "Total number of patients ",C
END
18. Write a program which reads records from the file "RESULT.DAT" having the fields name, and marks of three different subjects and display only those records whose percentage is greater than 60 and less than 80. Also count the total number of records present in that data file.
OPEN "RESULT.DAT" FOR INPUT AS #1
WHILE NOT EOF(1)
INPUT #1,NAME$,SUB1,SUB2,SUB3
C = C + 1
PER = (SUB1 + SUB2 + SUB3) / 3
IF PER>60 AND PER<80 THEN
PRINT NAME$,PER
END IF
WEND
PRINT "TOTAL NUMBER OF RECORD IS " ; C
Close #1
End
19. A sequential data file "staff.txt" has several records related to name, post , date of birth (mm-dd-yyyy) and salary. Write a program to display the records of those people who were born between the years 2000 to 2020 as well as count and display the total number of records.
Open "staff.txt" for input as #1
While not eof (1)
Input #1, n$, p$, dob$, sal
c = c + 1
a$ = Right$(DOB$, 4)
d = val(a$)
If d>=2000 and d<=2020 then
Print n$,p$, dob$, sal
End if
Wend
close #1
Print "total records= "; c
End
20. A sequential data file "class.txt" has several records having fields student's name, class and roll number. Write a program to copy all the records from "class.txt" into another new file "stduent.txt".
Open "class.txt" for Input as #1
Open "student.txt" for Output as #2
While not eof(1)
Input #1, name$, class, roll
Write #2, name$, class, roll
Wend
Close #1,#2
Print "Data Copied Successfully!"
End
21. A sequential data file "records.txt" has several records having fields Employee's Name, Post and Salary. Write a program to increase the salary of all employees by 10%.
Open "records.txt" for input as #1
Open "temp.txt" for output as #2
while not eof(1)
Input #1, name$,post$,salary
SALARY = SALARY + (SALARY * 10) / 100
Write #2, name$,post$,salary
Wend
Close
kill "records.txt"
name "temp.txt" as "records.txt"
Print "Salary has been updated by 10%"
End
22. Write a program to read the data from "INFO.TXT" that contains student name, class, roll no , DOB(MM-DD-YYYY) and address. Write/copy all the data whose DOB is current month to the data file "INFO.TXT".
Open "info.txt" for input as #1
Open "temp.txt" for output as #2
While not eof (1)
Input #1, n$, c, r, dob$, A$
If left$(dob$,2)=left$(date$,2) then
Write #2, n$,c,r,dob$,a$
End if
Wend
close
Kill "info.txt"
Name "temp.txt" as "info.txt"
Print "Data copied successfully!"
End
23. A sequential data file “RECORDS.TXT” contains name, address, phone number and DOB of few people. Write a program to count the total number of records stored in a data file and display the records of only those people whose name is five character long.
Open "RECORDS.TXT" for input as #1
c=0
While not eof(1)
Input #1, name$ , address$ , phone$ , DOB$
c = c + 1
a = len(NAME$)
If a=5 then
print name$ , address$ , phone$ , DOB$
End if
Wend
Close #1
Print "Total records=";c
End
24. Write a program to read product name, quantity, grade and price of 20 products from “product.dat”. Then count only those records where price is greater than 200 and grade="A".
Open "product.dat" for input as #1
c=0
while not eof(1)
Input #1,name$,quantity,grade$,price
If price>200 and grade$="A" then
c = c + 1
End if
Wend
Close #1
Print "Total number of products having price greater than 200 and grade A =";c
End
25. "score.dat" is a sequential data file which contains marks scored by students in a test . WAP to count and display all the students who has passed in all the subjects along with the calculation of their total marks. Assume field structure of data stored in the file is regno(registration number), English, Nepali, Science, Compulsory mathematics)
open "score.dat" FOR INPUT AS #1
WHILE NOT EOF(1)
INPUT #1,REGNO$,ENG,NEP,SCI,MATHS
IF ENG>=40 AND NEP>=40 AND SCI>=40 AND MATHS>=40 THEN
PRINT REGNO$,ENG,NEP,SCI,MATHS
C = C + 1
END IF
WEND
CLOSE #1
PRINT "No. of Passed Students : " ; C
END
Bonus programs on file handling
(1) To create data file "STUDENT.DAT" to store Name, Roll No, Class and Section of students.
OPEN "STUDENT.DAT" FOR OUTPUT AS #1
DO
INPUT "Enter student name, roll, class and section ", NAME$,ROLL,CLASS,SEC$
WRITE #1,NAME$,ROLL,CLASS,SEC$
INPUT " Want to add more records ", CHOICE$
LOOP WHILE UCASE$(CHOICE$)="Y"
CLOSE #1
END
(2) To store Name, Address , Age and Salary of employees in data file "STAFF.DAT"
OPEN "STAFF.DAT" FOR OUTPUT AS #1
DO
INPUT "Enter name, address , age and salary: ", NAME$,ADR$,AGE,SAL
WRITE #1,NAME$,ADR$,AGE,SAL
INPUT " Want to add more records ", CHOICE$
LOOP WHILE UCASE$(CHOICE$)="Y"
CLOSE #1
END
(3) To add records in data file created in (1)
OPEN "STUDENT.DAT" FOR APPEND AS #1
DO
INPUT "Enter student name, roll, class and section ", NAME$,ROLL,CLASS,SEC$
WRITE #1,NAME$,ROLL,CLASS,SEC$
INPUT " Want to add more records ", CHOICE$
LOOP WHILE UCASE$(CHOICE$)="Y"
CLOSE #1
END
(4) To display all records of data file “STUDENT.DAT” created in (1)
OPEN "STUDENT.DAT" FOR INPUT AS #1
PRINT "Name","Roll No","Class","Section"
WHILE NOT EOF(1)
INPUT #1, NAME$,ROLL,CLASS,SEC$
PRINT NAME$,ROLL,CLASS,SEC$
WEND
CLOSE #1
END
(5) To search record of studetent on the basis of roll
OPEN "STUDENT.DAT" FOR INPUT AS #1
INPUT "ENTER ROLL : ";R
FLAG = 0
WHILE NOT EOF(1)
INPUT #1,NAME$,ROLL,CLASS,SEC$
IF ROLL=R THEN
PRINT NAME$,ROLL,CLASS,SEC$
GOTO AA
ELSE
FLAG = 1
END IF
WEND
IF FLAG=1 THEN
PRINT "RECORD NOT FOUND"
END IF
AA:
CLOSE #1
END
(6) To display those records whose salary is greater than 15000 from the data file “STAFF.DAT” created in (2)
OPEN "STAFF.DAT" FOR INPUT AS #1
PRINT "Name","Address","Age","Salary"
WHILE NOT EOF(1)
INPUT #1,NAME$,ADR$,AGE,SAL
IF SAL>15000 THEN
PRINT NAME$,ADR$,AGE,SAL
END IF
WEND
CLOSE #1
END
(7) To delete the records whose age is greater than 60 from the data file "STAFF.DAT"
OPEN "STAFF.DAT" FOR INPUT AS #1
OPEN "TEMP.DAT" FOR OUTPUT AS #2
WHILE NOT EOF(1)
INPUT #1,NAME$,ADR$,AGE,SAL
IF AGE<60 THEN
WRITE #2,NAME$,ADR$,AGE,SAL
END IF
WEND
CLOSE #1,#2
KILL "STAFF.DAT"
NAME "TEMP.DAT" AS "STAFF.DAT"
PRINT "Employees having age greather than 60 deleted."
END
(8) Write a menu based program to append, display and delete records from the data file.
DECLARE SUB MENU()
DECLARE SUB ADDREC()
DECLARE SUB DISREC()
DECLARE SUB DELREC()
CALL MENU
INPUT CH
SELECT CASE CH
CASE 1
CALL ADDREC
CASE 2
CALL DISREC
CASE 3
CALL DELREC
CASE ELSE
PRINT "Bye Bye"
END SELECT
END
SUB ADDREC
OPEN "STUDENT.DAT" FOR APPEND AS #1
DO
INPUT "Enter student name, roll, class and section ", NAME$,ROLL,CLASS,SEC$
WRITE #1,NAME$,ROLL,CLASS,SEC$
INPUT " Want to add more records ", CHOICE$
LOOP WHILE UCASE$(CHOICE$)="Y"
CLOSE #1
END SUB
SUB DISREC
OPEN "STUDENT.DAT" FOR INPUT AS #1
PRINT "Name","Roll No","Class","Section"
WHILE NOT EOF(1)
INPUT #1, NAME$,ROLL,CLASS,SEC$
PRINT NAME$,ROLL,CLASS,SEC$
WEND
CLOSE #1
END SUB
SUB DELREC
OPEN "STUDENT.DAT" FOR INPUT AS #1
OPEN "TEMP.DAT" FOR OUTPUT AS #2
INPUT "Enter name to delete ",DN$
FLAG = 0
WHILE NOT EOF(1)
INPUT #1, NAME$,ROLL,CLASS,SEC$
IF UCASE$(DN$)<>UCASE$(NAME$) THEN
WRITE #2,NAME$,ROLL,CLASS,SEC$
ELSE
FLAG = 1
PRINT "Data deleted"
END IF
WEND
IF FLAG=0 THEN
PRINT "Record not found"
END IF
CLOSE #1,#2
KILL "STUDENT.DAT"
NAME "TEMP.DAT" AS "STUDENT.DAT"
END SUB
SUB MENU
PRINT "1. To add records "
PRINT "2. To display record"
PRINT "3. To delete record"
PRINT "Enter your choice"
END SUB
1. Write a program to create a sequential data file “salary.dat” to store programmer’s name, salary and post according to the need of the user.
OPEN "salary.dat" FOR OUTPUT AS #1
DO
INPUT "Enter name,salary and post ",name$,salary,post$
WRITE #1,name$,salary,post$
INPUT "More records(Y-Yes/N-No) ";ch$
loop while ucase$(ch$)="Y"
CLOSE #1
END
2. Write a program to create a sequential data file named "employ.dat" to store Name, Post, Address and Salary for the number of employees. The program should terminate on user's choice.
OPEN "employ.dat" FOR OUTPUT AS #1
DO
INPUT "Enter name ,post , address and salary ";name$,post$,address$,salary
WRITE #1,name$,salary,post$
INPUT "more records (Y-Yes/n-No) ";ch$
LOOP WHILE UCASE$(ch$)="Y"
CLOSE #1
END
3. A sequential data file called "Record.txt" has stored data under the field heading Roll No, Name, Gender, English, Nepali, Maths and Computer. Write a program in QBASIC to display all the information of those students whose gender are “F” and obtained marks in computer is more than 90.
OPEN "RECORD.DAT" FOR INPUT AS #1
WHILE NOT EOF(1)
INPUT #1,ROLL,NAME$,GEN$,ENG,NEP,MATHS,COMPUTER
IF GEN$="F" AND COMPUTER>90 THEN
PRINT ROLL,NAME$,GEN$,ENG,NEP,MATHS,COMPUTER
END IF
WEND
CLOSE #1
END
4. A sequential data file called "Record.txt" has stored data under the field heading Roll No., Name, Gender, English, Nepali and Math’s and Computer. Write a program in QBASIC to display all the information of female students who pass in all subjects. [Note: Pass nark in all subjects is 40].
END
5. A sequential data file "emp.dat" contains employee's name, address, gender and salary. Write a program in QBASIC to display all the information of employees whose salary is more than Rs.20,000.
END
6. A sequential data file "class.dat" has several records with fields student's name, roll no, address and class. Write a program in QBASIC that reads all the records and displays only those records whose class is 10.
END
7. A sequential data file "abc.txt" has several records with fields student's name, roll no , address and class. Write a program in QBASIC that reads all the records and displays only those records whose address is "Pokhara".
END
8. A sequential data file "abc.txt" has several records with fields student's name, roll no , address, fee and class. Write a program in QBASIC that reads all the records and displays only those records whose fee is greater than 5000.
END
9. A sequential data file "student.txt" consists of Book's name, Author's name and Price of book. Write a program in QBASIC to count and display the total number of records present in the file.
END
10. A sequential data file called "record.txt" has stored data under the field heading Roll no, Name, Gender , English, Nepali, Maths and computer. Write a QBASIC program to display all the female student who passed in all subjects. [Note: Assume pass mark in each subject is 40.]
END
C Lab sheet 1 contains twenty programs(1 to 20),
Where as C Lab Sheet 2 contains twenty programs(21 to 40).
Where as C Lab Sheet 2 contains twenty programs(21 to 40).
i. Input / Output Functions
Simple Mathematical Program using C
ii. Selection Statement
Conditional Program without Loop using C
Sales Amount Commission
0-1000 5%-
1001-2000 10%
>2000 12%
iii. Looping Statement
Looping Program using C
#include <stdio.h>
int main()
{
int i;
for(i=5;i<=50;i=i+5)
{
printf("%d\n",i);
}
return 0;
}
#include <stdio.h>
int main()
{
int i,a=5;
for(i=0;i<50;i++)
{
printf("%d\n",a);
a=a+5;
}
return 0;
}
#include <stdio.h>
int main()
{
int i,a=1;
for(i=0;i<10;i++)
{
printf("%d\n",a);
a=a*2;
}
return 0;
}
#include <stdio.h>
int main()
{
int i,a=1;
for(i=0;i<10;i++)
{
a=a+i;
printf("%d\n",a);
}
return 0;
}
#include <stdio.h>
int main()
{
int i,a;
for(i=1;i<=10;i++)
{
a=i*i*2;
printf("%d\n",a);
}
return 0;
}
#include <stdio.h>
int main()
{
int i,ans;
for(i=10;i>=1;i--)
{
ans=i*i*i-1;
printf("%d\n",ans);
}
return 0;
}
#include <stdio.h>
int main()
{
int i,ans=100,b=2;
for(i=0;i<10;i++)
{
printf("%d\n",ans);
ans=ans-b;
b=b+2;
}
return 0;
}
Start with any integer value greater than 0, say x. If x is even, then the next value in the series is x/2; if x is odd, then the next value in the series is 3x + 1. This type of series is called Hailstone series
#include <stdio.h>
int main()
{
int a=7,r,i;
for(i=0;i<10;i++)
{
printf("%d\n",a);
r=a%2;
if(r==0)
a=a/2;
else
a=a*3+1;
}
return 0;
}
An integer in the infinite sequence 0,1, 1, 2, 3, 5, 8, 13, ..... of which the first two terms are 0 and 1 and each succeeding term is the sum of the two immediately preceding is called Fibonacci Series.
#include <stdio.h>
int main()
{
int a=0,b=1,c,i;
for(i=0;i<10;i++)
{
printf("%d\n",a);
c=a+b;
a=b;
b=c;
}
return 0;
}
#include <stdio.h>
int main()
{
int i,sum=0;
for(i=1;i<=10;i++)
{
printf("%d\t",i);
sum=sum+i;
}
printf("Sum of series from 1-10 is %d",sum);
return 0;
}
iv. Looping with Condition
Looping program with condition Program using C
#include <stdio.h>
int main()
{
int i,sum;
for(i=2;i<=20;i=i+2)
{
printf("%d\n",i);
sum=sum+i;
}
printf("Sum of even numbers from 2 to 20 is %d " , sum);
return 0;
}
The product of a given positive integer multiplied by all lesser positive integers: The quantity five factorial (5!) = 5x4 x 3 x 2 x 1 = 120.
#include <stdio.h>
int main()
{
int num,i,f=1;
printf("Enter any number : ");
scanf("%d",&num);
for(i=num;i>=1;i--)
{
f=f*i;
}
printf("\n Factorial of %d is %d",num,f);
return 0;
}
#include <stdio.h>
int main()
{
int num,i;
printf(" Enter any number : ");
scanf("%d",&num);
printf("Factors of %d are : ",num);
for(i=1;i<=num;i++)
{
if(num%i==0)
printf(" %d\n ",i);
}
return 0;
}
A prime number is an integer which has only two factors i.e. one and itself. For example: 17 is prime number because it is exactly divisible by 1 and 17 only.
#include <stdio.h>
int main()
{
int num,i,count=0;
printf("Enter a number");
scanf("%d",&num);
for( i=1;i<=num;i++)
{
if(num%i==0)
count++;
}
if(count==2)
printf("%d is prime number",num);
else
printf("%d is composite number",num);
return 0;
}
#include <stdio.h>
int main()
{
int num,i,count;
for(num=1;num<=100;num++)
{
count=0;
for(i=1;i<=num;i++)
{
if(num%i==0)
count++;
}
if(count==2)
printf(" %d\n ",num);
}
return 0;
}
#include <stdio.h>
int main()
{
int num,r,sum=0;
printf(" Enter any number ");
scanf("%d",&num);
while(num!=0)
{
r=num%10;
sum=sum+r;
num=num/10;
}
printf("Sum of individual digits is %d",sum);
return 0;
}
#include <stdio.h>
int main()
{
int num,a,r,sum=0;
printf("Enter any number ");
scanf("%d",&num);
a=num;
while(num!=0)
{
r=num%10;
sum=sum*10+r;
num=num/10;
}
printf("Reverse of %d is %d",a,sum);
return 0;
}
Hint: A word, phrase, or sequence that reads the same backwards as forwards is called Palindrome. Example : 121 , 101 etc
#include <stdio.h>
int main()
{
int num,a,r,sum=0;
printf("Enter any number ");
scanf("%d",&num);
a=num;
while(num!=0)
{
r=num%10;
sum=sum*10+r;
num=num/10;
}
if(a==sum)
printf(" %d is Palindrome Number",a);
else
printf(" %d is not Palindrome Number",a);
return 0;
}
An Armstrong number is a number which equal to the sum of the cubes of its individual digits. For example: 153 is an Armstrong number as-
153=(1)3+(5)3+(3)3=1+125+27=153
#include <stdio.h>
int main()
{
int num,a,r,sum=0;
printf("Enter any number");
scanf("%d",&num);
a=num;
while(num!=0)
{
r=num%10;
sum=sum+r*r*r;
num=num/10;
}
if(a==sum)
printf("%d is Armstrong number",a);
else
printf("%d is not Armstrong number",a);
return 0;
}
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
#include <stdio.h>
int main()
{
int i,j;
for(i=1;i<=5;i++)
{
for(j=1;j<=i;j++)
{
printf(" %d ",i);
}
printf("\n");
}
return 0;
}
1. Write a program in C language that asks a number and check whether it is odd or even.
2. Write a program in C language to display the series with their sum 1, 2, 3, 4 ... up to 10th terms.
3. Write a program in C language to input a number and then check whether the number is positive or negative or zero.[SEE 2078]
4. Write a program in C language to display the series 1,1,2,3,5,8 ... up to 10th terms.
5. Write a program in ‘C’ language to input two numbers and find greatest among two number.
6. Write a program in C language to convert days into respective years, months and days.
7. Write a program in C language to display first 10 odd numbers. [SEE 2078]
8. Write C program to display the series : 1,2,3,6,11,20,37 .... up to 10th terms
#include<stdio.h>
int main()
{
int a=1,b=2,c=3,d=0,i;
for(i=0;i<=10;i++)
{
printf(" %d ",a);
d=a+b+c;
a=b;
b=c;
c=d;
}
return (0);
}
DBMS (MS ACCESS)
A. Create a database "school". Create a table "student" with following fields(Design View).
Field Name | Data type |
---|---|
StudentID | Autonumber |
StudentName | Text |
Class | Number |
English | Number |
Nepali | Number |
Computer | Number |
- Make StudentID as primary key.
- Set Caption "Eng Mark" , "Nep Mark" and "Comp Mark".
- Set default value 10 for field class .
- Set the validation rule: >=0 AND <=100
- Set the validation text : Enter the marks between 0 to 100.
- Enter any five data in table "student".[Datasheet View]
B. Create following queries:
- Display all records of table "student".
- Display all records in descending order of marks of Computer.
- Display all those records, where the mark in "English" are greater than or equal to 80.
- Display all those records where marks in all subjects are greater than or equal to 80.
- Display all those records where student name start with "A" or "S".
- Display all the records for those students whose marks in "Computer" are between 60 to 80.
- Display records by student ID.
- Delete the records of "abc" student.
- Update the marks of English by 10 to all students.
- Calculate total by adding marks of Eng, Nepali and Computer.
- Calculate Average by dividing total by 3.
- Make remarks if average marks is greater than or equal to 40 then "Pass" , otherwise "Fail".
C. Create form of table student using form Wizard.
D. Add two more records using Form crated above.
E. Make a report of table "student".
F. Make a report of query "q7 " created above.