Previous Year Question Papers for Class 10 Computer Applications
Explore authentic exam materials through the ICSE Class 10 Computer Applications Board Exam Question Paper 2025 with Solutions. Tailored for Class 10 learners, utilizing these Computer Applications previous year papers ensures thorough preparation and strengthens time management skills before final ICSE evaluations.
Practice Class 10 Computer Applications Exam Papers
Navigate directly to the solved Computer Applications question papers using the digital viewer below. Each practice set includes detailed solutions, allowing students to instantly cross-check their work and identify areas requiring further revision.
ICSE Class 10 Computer Applications Board Exam Question Paper with Solutions
SECTION A (40 Marks)
(Attempt all questions from this Section.)
Question 1 [20 Marks]
Choose the correct answers to the questions from the given options.
(Do not copy the questions, write only the correct answers.)
(i) Character class methods are found in the package called: [1 Mark]
(A) java.util
(B) java.lang
(C) java.awt
(D) java.io
Answer: (B) java.lang
Character class methods are present in the java.lang package.
Teacher's Note:
a) The java.lang package is imported by default in every Java program.
b) Students often confuse java.util with java.lang for wrapper classes.
(ii) System.out.println('Z' + 32); will display: [1 Mark]
(A) z
(B) Z
(C) 122
(D) 154
Answer: (C) 122
The ASCII value of 'Z' is 90. Adding 32 gives 90 + 32 = 122.
Teacher's Note:
a) Arithmetic operations on characters promote them to their integer ASCII values.
b) Remember that ASCII of 'A' is 65 and 'a' is 97.
(iii) double x [ ] = {2.5, 4.5, 5.5, 6.4}; occupies _________ bytes. [1 Mark]
(A) 16
(B) 4
(C) 8
(D) 32
Answer: (D) 32
There are 4 elements of type double. Each double takes 8 bytes, so 4 * 8 = 32 bytes.
Teacher's Note:
a) A double data type always occupies 8 bytes in Java.
b) Count the total number of elements correctly from the initializer list.
(iv) The output of 42/6%2 is: [1 Mark]
(A) 1
(B) 10
(C) 2
(D) 0
Answer: (A) 1
Division and modulus have equal precedence and associate from left to right. 42 / 6 = 7, then 7 % 2 = 1.
Teacher's Note:
a) Operators / and % have the same priority level.
b) Always evaluate from left to right when operators share the same precedence.
(v) Consider the Two dimensional array P[2][3], of peripherals (input/output devices) given above, state the index of the device Barcode Scanner. [1 Mark]
(A) P[1][1]
(B) P[0][1]
(C) P[1][2]
(D) P[0][0]
[Figure: A table showing 6 devices across 2 rows and 3 columns. Row 0: Mouse (P[0][0]), Keyboard (P[0][1]), Printer (P[0][2]); Row 1: Scanner (P[1][0]), Barcode Scanner (P[1][1]), Microphone (P[1][2])]
Answer: (A) P[1][1]
Barcode Scanner is located in the second row (index 1) and second column (index 1).
Teacher's Note:
a) Array indices in Java start from 0.
b) First index denotes row number and second denotes column number.
(vi) Which of the following is user defined data type? [1 Mark]
1. array
2. double
3. class
4. boolean
(A) only 1
(B) 1 and 3
(C) only 2
(D) only 4
Answer: (B) 1 and 3
Both arrays and classes are user defined reference data types in Java.
Teacher's Note:
a) Primitive data types include double and boolean.
b) Reference types like classes and arrays are constructed by users.
(vii) Select the infinite loop: [1 Mark]
(A) for(int i=1;i<=10;i++)
(B) for(int i=2;i!=0;i-=3)
(C) for(int i=5;i<=5;i++)
(D) for(int i=1;i>=1;i--)
Answer: (B) for(int i=2;i!=0;i-=3)
The values of i will be 2, -1, -4, -7... it will never equal 0, making the loop condition permanently true.
Teacher's Note:
a) Check the update statement and termination condition carefully.
b) Skipping past the test value without hitting it exactly causes an infinite loop.
(viii) The output of Math.max(-7, Math.min(-5, -4)) is [1 Mark]
(A) -5
(B) -4
(C) -7
(D) error
Answer: (C) -7
Math.min(-5, -4) evaluates to -5. Then Math.max(-7, -5) evaluates to -5? Wait, let us check: Math.max(-7, -5) is -5. Let us re-verify: options are (A) -5, (B) -4, (C) -7, (D) error. Looking at the answer key, it states Option (a) -5 is correct. Let us check the key's explanation: Math.min(-5, -4) gives -5, and Math.max(-7, -5) gives -5. The official key shows Option (a).
Answer: (A) -5
Inner function Math.min(-5, -4) returns -5. Outer function Math.max(-7, -5) returns -5.
Teacher's Note:
a) Evaluate inner nested function calls first.
b) For negative numbers, smaller magnitude means greater value.
(ix) Which of the following is true for the given object creation statement?
Game cricket = new Game(); [1 Mark]
(A) Game is an object of cricket class
(B) New keyword creates object Game
(C) Game is a class and cricket is an object
(D) Game and cricket are objects
Answer: (C) Game is a class and cricket is an object
Game is the class name and cricket is the reference variable pointing to the object.
Teacher's Note:
a) Syntax is ClassName objectName = new ClassName();
b) Do not confuse the class type with the object instance name.
(x) Post office is an example for _________ access specifier. [1 Mark]
(A) public
(B) local
(C) protected
(D) private
Answer: (A) public
Teacher's Note:
a) Public members are accessible from anywhere in the program.
b) Real-world analogies help remember access modifiers.
(xi) Assertion (A): In switch case break statement avoids fall through.
Reason (R): break statement helps to execute only one case at a time. [1 Mark]
(A) Both (A) and (R) are true and (R) is a correct explanation of (A).
(B) Both (A) and (R) are true and (R) is not a correct explanation of (A).
(C) (A) is true and (R) is false.
(D) (A) is false and (R) is true.
Answer: (A) Both (A) and (R) are true and (R) is a correct explanation of (A).
The break statement terminates the switch block, preventing execution from falling through to subsequent cases.
Teacher's Note:
a) Without break, execution continues to the next case unconditionally.
b) Reason correctly explains the purpose of break.
(xii) A physical education teacher asks the students to do the side stretch is steer below, 10 times. Which programming construct the teacher uses. [1 Mark]
(A) if
(B) switch
(C) for
(D) if else if
[Figure: Stick figure performing a side stretch with label 10]
Answer: (C) for
Repeating an action a fixed number of times (10 times) represents a counted loop construct like for.
Teacher's Note:
a) Use a for loop when the number of iterations is known in advance.
b) Repetitive tasks in real life map directly to loops.
(xiii) The index (subscript) of the last element of an array ar[] is [1 Mark]
(A) ar.length()
(B) ar[].length
(C) ar.length()-1
(D) ar.length-1
Answer: (D) ar.length-1
Array length in Java is a final field called length. The last index is length minus one.
Teacher's Note:
a) ar.length does not have parentheses because length is a variable, not a method for arrays.
b) String uses length(), but arrays use length.
(xiv) Assertion (A): A clock is a real-life example of nested loops.
Reason (R): The hour hand moves through 12 positions, while the minute hand moves through 60 positions within each hour. [1 Mark]
(A) Both (A) and (R) are true and (R) is a correct explanation of (A).
(B) Both (A) and (R) are true and (R) is not a correct explanation of (A).
(C) (A) is true and (R) is false.
(D) (A) is false and (R) is true.
Answer: (A) Both (A) and (R) are true and (R) is a correct explanation of (A).
For every single step of the outer loop (hour hand), the inner loop (minute hand) runs completely, illustrating nested looping.
Teacher's Note:
a) Nested loops involve an inner loop running fully for each iteration of the outer loop.
b) Clocks provide a classic analogy for nested iterative processes.
(xv) Which of the following pairs of methods will cause a compile-time error due to incorrect method overloading? [1 Mark]
(A) void test(int a, int b) and void test(double a, double b)
(B) void test(int a, double b) and void test(double a, int b)
(C) void test(int a, double b) and void test(int a)
(D) void test(int a) and int test(int a)
Answer: (D) void test(int a) and int test(int a)
Method overloading requires different parameter lists. Changing only the return type does not differentiate methods.
(A) Double. Parsedouble("25")
(B) Double.parse("25")
(C) Double.parseDouble("25")
(D) Double.parseDouble(25)
Answer: (C) Double.parseDouble("25")
Double.parseDouble() parses string input and returns a primitive double value (25.0).
Teacher's Note:
a) Note the exact casing: Double.parseDouble.
b) It accepts a String argument.
(xvii) Consider the program segment:
int p=0;
for(p=4; p>0; p-=2);
System.out.print(p);
System.out.println(p);
The above statements will display: [1 Mark]
(A) 42
(B) 4200
(C) 00
(D) 00
Answer: (C) 0 0
The semicolon right after the for loop makes it an empty loop. When loop finishes, p becomes 0, and both print statements output 0.
Teacher's Note:
a) Beware of accidental semicolons after loop headers.
b) Variable p reaches 0 after iterations with decrement 2 starting from 4.
(xviii) System.out.println("I said, \"It's wise to obey elders.\"");
The output of the above statement is: [1 Mark]
(A) I said, 'It is wise to obey elders.'
(B) I said, "It's wise to obey elders."
(C) I said, It's wise to elders.
(D) "It's wise to elders."
Answer: (B) I said, "It's wise to obey elders."
Escape sequence \" allows double quotes to be printed inside a string literal.
Teacher's Note:
a) Escape characters like \" prevent string literals from terminating prematurely.
b) Output preserves exact quotation marks.
(xix) What is the output of the statement given below?
"ANGER".compareTo("ANGEL") [1 Mark]
(A) 3
(B) -6
(C) 6
(D) 0
Answer: (C) 6
Comparing 'R' (82) and 'L' (76) yields 82 - 76 = 6.
Teacher's Note:
a) compareTo returns the difference between ASCII values of the first differing character.
b) Positive result means the calling string is lexicographically greater.
(xx) Consider the following program segment in which the statements are jumbled. Choose the correct order of statements to calculate and return the factorial of 4.
for(k=1; k<=4; k++) -> 1
return fa; -> 2
long fa = 1, k; -> 3
fa*=k; -> 4 [1 Mark]
(A) 1, 2, 3, 4
(B) 3, 1, 4, 2
(C) 3, 1, 2, 4
(D) 1, 3, 2, 4
Answer: (B) 3, 1, 4, 2
Variables must be declared first (3), followed by the loop header (1), the loop body calculation (4), and finally returning the result (2).
Teacher's Note:
a) Variable declaration precedes execution statements.
b) Return statement should be placed after the loop completes.
Question 2
(i) Write the java expression to find the product of square root of P and the square root of Q using the methods of Math class. [2 Marks]
Answer:
Math.sqrt(P) * Math.sqrt(Q)
Teacher's Note:
a) Use Math.sqrt() for square root calculations.
b) Ensure correct multiplication operator.
(ii) Write the output of the following String method:
String x = "talent"; String y = "matrix";
System.out.println(x.substring(3).concat(y.substring(3))); [2 Marks]
Answer:
entrix
Teacher's Note:
a) x.substring(3) extracts "ent" and y.substring(3) extracts "rix".
b) concat() joins both strings together.
(iii) Write the java statement for creating an object named 'sifra' of the class 'Robot', which takes three double parameters. [2 Marks]
Answer:
Robot sifra = new Robot(277.213, 182.668, 919.817);
Teacher's Note:
a) Pass three valid double literals or variables into the constructor.
b) Follow standard object creation syntax.
(iv) Convert the given loop into exit controlled loop.
int a,b;
for(a=10, b=1; a>=1; a-2)
{
b += a;
b++;
}
System.out.print(b); [2 Marks]
Answer:
int a, b;
a = 10;
b = 1;
do
{
b += a;
b++;
a -= 2;
} while(a >= 1);
System.out.print(b);
Teacher's Note:
a) Exit controlled loop uses a do-while structure.
b) Ensure decrement statement a -= 2 is included correctly inside the loop body.
(v) Consider and give the output of the following program:
class report
{ int a,b;
report()
{ a=10;
b=15;
}
report(int x, int y)
{ a=x;
b=y;
}
void print()
{ System.out.println(a*b);
}
static void main()
{ report r=new report();
r.print();
report p = new report(4, 5);
p.print();
}
} [2 Marks]
Answer:
150
20
Teacher's Note:
a) Default constructor initializes a=10, b=15, product is 150.
b) Parameterized constructor initializes a=4, b=5, product is 20.
(vi) (a) Name one String method which results in positive integer only.
(b) Name one String method which results in a character. [2 Marks]
Answer:
(a) length()
(b) charAt()
Teacher's Note:
a) length() returns the count of characters as a non-negative integer.
b) charAt() returns the character at the specified index.
(vii) John was asked to write a Java code to calculate the surface area of a cone, the following code was written by him:
Surface area of cone is A = pi * r * l
l = sqrt(r^2 + h^2)
class area
{ double l, a;
double area(double r, double h)
{ double l, a;
a = 22.0 / 7 * r * l;
l = Math.sqrt(r * r + h * h);
return a;
}
}
Specify the type of the error in the above program, correct and write the program to be error free. [2 Marks]
Answer:
Logical Error: Variable l is used in calculation before it is initialized.
Corrected code:
class area
{
double area(double r, double h)
{
double l, a;
l = Math.sqrt(r * r + h * h);
a = 22.0 / 7 * r * l;
return a;
}
}
Teacher's Note:
a) Always compute dependent variables before using them in formulas.
b) This is classified as a logical error because l contains garbage or zero value when used.
(viii) Consider the following array and answer the questions given below:
int a[] = {12, 10, 8, 4, 6, 2, 3, 5, 7};
(a) What is the output of System.out.println(a[0] + a[5]);?
(b) What is the index (subscript) of the largest element of the array a[]? [2 Marks]
Answer:
(a) 14
(b) 0
Teacher's Note:
a) a[0] is 12 and a[5] is 2, sum is 14.
b) The largest element is 12, located at index 0.
(ix) (a) Write the Java statement to initialise the first 6 odd numbers in a 3 * 2 array.
(b) What is the result of x[0][1] + x[2][1] of the above array? [2 Marks]
Answer:
(a) int ar[][] = {{1, 3}, {5, 7}, {9, 11}};
(b) 14
Teacher's Note:
a) First 6 odd numbers are 1, 3, 5, 7, 9, 11 arranged in 3 rows and 2 columns.
b) x[0][1] is 3 and x[2][1] is 11, sum is 14.
(x) Give the output of the following program segment and specify how many times the loop is executed.
String s = "JAVA";
for(i=0; i<s.length(); i+=2)
System.out.println(s.substring(i)); [2 Marks]
Answer:
JAVA
VA
The loop is executed 2 times.
Teacher's Note:
a) Loop runs for i = 0 and i = 2.
b) substring(0) prints "JAVA" and substring(2) prints "VA".
SECTION B (60 Marks)
(Attempt any four questions from this Section.)
Question 3 [15 Marks]
Define a class named CloudStorage with the following specifications:
- Member Variables:
- int acno - stores the user's account number.
- int space - stores the amount of storage space in GB purchased by the user.
- double bill - stores the total price to be paid by the user.
- Member Methods:
- void accept() - prompts the user to input account number and storage space using Scanner class methods only.
- void calculate() - calculates the total bill price based on the storage space purchased using the pricing table provided:
| Storage range | Price per GB (Rs) |
|---|---|
| First 15 GB | 15 |
| Next 15 GB | 13 |
| Above 30 GB | 11 |
- void display() - displays the account number, storage space and bill to be paid.
Write a main method to create an object of the class and invoke the methods of the class with respect to the object.
Answer:
import java.util.Scanner;
public class CloudStorage
{
int acno;
int space;
double bill;
public void accept()
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter your account number:");
acno = sc.nextInt();
System.out.println("Enter amount of storage space required:");
space = sc.nextInt();
}
public void calculate()
{
if(space <= 15)
bill = space * 15;
else if(space <= 30)
bill = 15 * 15 + ((space - 15) * 13);
else
bill = 15 * 15 + 15 * 13 + ((space - 30) * 11);
}
public void display()
{
System.out.println("Account No.: " + acno);
System.out.println("Storage space: " + space);
System.out.println("Bill: " + bill);
}
public static void main(String[] args)
{
CloudStorage ob = new CloudStorage();
ob.accept();
ob.calculate();
ob.display();
}
}
Teacher's Note:
a) Implement slab-based conditional logic correctly for billing.
b) Ensure Scanner input is handled properly with appropriate prompts.
Question 4 [15 Marks]
Define a class to accept values into a 4 * 4 integer array. Calculate and print the NORM of the array.
NORM is the square root of sum of squares of all elements.
| 1 | 2 | 1 | 3 |
| 5 | 2 | 1 | 6 |
| 3 | 6 | 1 | 2 |
| 3 | 4 | 6 | 3 |
Sum of squares of elements = 1 + 4 + 1 + 9 + 25 + 4 + 1 + 36 + 9 + 36 + 1 + 4 + 9 + 16 + 36 + 9 = 201
NORM Squareroot of 201 = 14.177446878757825
Answer:
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
double sum = 0.0;
double norm = 0.0;
Scanner scanner = new Scanner(System.in);
int[][] matrix = new int[4][4];
System.out.println("Enter numbers for 4x4 matrix:");
for(int i = 0; i < 4; i++)
{
for(int j = 0; j < 4; j++)
{
matrix[i][j] = scanner.nextInt();
}
}
for(int i = 0; i < 4; i++)
{
for(int j = 0; j < 4; j++)
{
sum += matrix[i][j] * matrix[i][j];
}
}
norm = Math.sqrt(sum);
System.out.println("Norm of the matrix is :" + norm);
scanner.close();
}
}
Teacher's Note:
a) Use nested loops for traversing 2D arrays.
b) Accumulate squares of elements and apply Math.sqrt() for the norm.
Question 5 [15 Marks]
Define a class to accept a String and Print if it is a Super string or not. A String is Super if the number of uppercase letters are equal to the number of lower case letters.
[Use Character & String methods only]
Example: "CoMmiTmeNt"
Number of Uppercase letters - 5
Number of Lowercase letters - 5
String is a Super String
Answer:
import java.util.*;
public class SuperString
{
public static void main(String[] args)
{
int uppercaseCount = 0, lowercaseCount = 0;
Scanner sc = new Scanner(System.in);
System.out.println("Enter string:");
String sen = sc.nextLine();
for(int i = 0; i < sen.length(); i++)
{
char ch = sen.charAt(i);
if(Character.isLowerCase(ch))
{
lowercaseCount++;
}
else if(Character.isUpperCase(ch))
{
uppercaseCount++;
}
}
System.out.println("Number of Uppercase letters: " + uppercaseCount);
System.out.println("Number of Lowercase letters: " + lowercaseCount);
if(uppercaseCount == lowercaseCount)
{
System.out.println("String is a Super String");
}
else
{
System.out.println("String is NOT a Super String");
}
sc.close();
}
}
Teacher's Note:
a) Use Character.isUpperCase() and Character.isLowerCase() methods.
b) Compare the final counts to determine if the string is super.
Question 6 [15 Marks]
Define a class to initialise the following data in an array.
Search for a given character input by the user, using the Binary Search technique.
Print "Search Successful" if the character is found otherwise print "Search is not Successful".
'A', 'H', 'N', 'P', 'S', 'U', 'W', 'Y', 'Z', 'b', 'd'
Answer:
import java.util.*;
public class BinarySearch
{
int binarySearch(char a[], int l, int r, char x)
{
while(l <= r)
{
int m = (l + r) / 2;
if(a[m] == x)
return m;
else if(a[m] > x)
r = m - 1;
else
l = m + 1;
}
return -1;
}
public static void main(String args[])
{
BinarySearch ob = new BinarySearch();
Scanner sc = new Scanner(System.in);
char arr[] = {'A', 'H', 'N', 'P', 'S', 'U', 'W', 'Y', 'Z', 'b', 'd'};
int n = arr.length;
System.out.println("Enter search character:");
char c = sc.nextLine().charAt(0);
int res = ob.binarySearch(arr, 0, n - 1, c);
if(res == -1)
System.out.println("Search is not successful");
else
System.out.println("Search successful, Element found at index " + res);
sc.close();
}
}
Teacher's Note:
a) Binary search requires the array to be sorted beforehand.
b) Repeatedly divide the search interval in half.
Question 7 [15 Marks]
Define a class to overload the method print() as follows:
- void print() - To print the given format using nested loops.
@@@#@
@@#@@
@#@@@
#@@@@
- double print(double a, double b) - To display the sum of numbers between a and b with difference of 0.5.
e.g. if a = 1.0, b = 4.0
output is: 1.0 + 1.5 + 2.0 + 2.5 + .............. + 4.0
- int print(char ch1, char ch2) - compare the two characters and return the ASCII code of the largest character.
Answer:
import java.util.*;
public class Overload
{
public void print()
{
for(int i = 0; i < 4; i++)
{
for(int j = 0; j < 4; j++)
{
if(j % 2 == 0)
System.out.print("@");
else
System.out.print("#");
}
System.out.println();
}
}
public double print(double a, double b)
{
double sum = 0.0;
System.out.print("output: ");
for(double x = a; x <= b; x += 0.5)
{
System.out.print(x + " ");
sum += x;
}
System.out.println("\b\b = " + sum);
return sum;
}
public int print(char ch1, char ch2)
{
return(ch1 > ch2)?(int) ch1:(int) ch2;
}
public static void main(String[] args)
{
Overload obj = new Overload();
obj.print();
obj.print(1.0, 4.0);
System.out.println("Larger character ASCII: " + obj.print('A', 'Z'));
}
}
Teacher's Note:
a) Method overloading involves same method name with different parameters.
b) Handle floating point loop counters accurately.
Question 8 [15 Marks]
Define a class to accept a number. Check if the sum of the largest digit and the smallest digit is an even number or an odd number. Print appropriate messages.
Sample Input: 6425 | 3748
Largest digit: 6 | 8
Smallest digit: 2 | 3
Sample Output: Sum is even | Sum is odd
Answer:
import java.util.*;
public class LargestSmallest
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter number:");
int d, lg = 0, sg = 0, num;
num = sc.nextInt();
lg = num % 10;
sg = num % 10;
while(num > 0)
{
d = num % 10;
if(d > lg)
lg = d;
if(d < sg)
sg = d;
num /= 10;
}
System.out.println("Largest digit :" + lg);
System.out.println("Smallest digit :" + sg);
if((sg + lg) % 2 == 0)
{
System.out.println("Sum of largest and smallest digits is even");
}
else
{
System.out.println("Sum of largest and smallest digits is odd");
}
}
}
Teacher's Note:
a) Extract digits using modulus and division operators.
b) Initialize largest and smallest tracking variables correctly with the first extracted digit.
Free study material for Computer Application
Past Exam Papers & Solutions for Class 10 Computer Applications
Class 10 Computer Applications Past Exam Papers & Resources
Explore downloadable past papers for Class 10 Computer Applications. Utilizing the ICSE Class 10 Computer Applications Board Exam Question Paper 2025 with Solutions ensures complete preparedness by offering clear insights into historical question styles and marking expectations.
Importance of Solving ICSE Class 10 Computer Applications Board Exam Question Paper 2025 with Solutions
Practicing past question sets under timed home conditions helps refine pacing and time management skills, ensuring you complete your Computer Applications examination comfortably within the official duration.
Complete Your Exam Preparation
Pair your past paper revision with our official Class 10 Computer Applications sample papers and online practice modules to achieve total curriculum mastery.
FAQs
The ICSE Class 10 Computer Applications Board Exam Question Paper 2025 with Solutions is available for download on StudiesToday.com. It includes complete set with all sections so that Class 10 students can practice with the exact same paper that came in the ICSE exams.
Yes, the solutions for ICSE Class 10 Computer Applications Board Exam Question Paper 2025 with Solutions are prepared by subject matter experts as per official marking scheme. Class 10 students will understand the structure of answers and 'step-marks' methodology Computer Applications.
Solving previous year papers like ICSE Class 10 Computer Applications Board Exam Question Paper 2025 with Solutions is important to understand repeat themes and question difficulty levels of Computer Applications. It helps Class 10 students to test their time management skills too.
Yes, where applicable, ICSE Class 10 Computer Applications Board Exam Question Paper 2025 with Solutions is available in both English and Hindi mediums. All students from Class 10 can access Computer Applications study material in their preferred language.
No, all previous year question papers on StudiesToday, including ICSE Class 10 Computer Applications Board Exam Question Paper 2025 with Solutions, are provided free of charge in mobile-friendly PDF.