Official ICSE Exam Papers for Class 10 Computer Applications
Review targeted exam resources with the ICSE Class 10 Computer Applications Board Exam Question Paper 2020 with Solutions. Built according to official ICSE standards for the 2026-27 academic year, these downloadable Class 10 Computer Applications question papers support effective revision and performance tracking.
Solved Previous Year Papers for Computer Applications
Access the complete question paper PDF for Class 10 Computer Applications below. Regular practice with these targeted exam papers builds familiarity with standard question patterns and helps secure higher marks in final evaluations.
ICSE Class 10 Computer Applications Board Exam Question Paper with Solutions
SECTION A (40 Marks)
Attempt all questions
Question 1.
(a) Define Java byte code. [2 Marks]
Answer:
Java byte code is an intermediate machine-independent code generated by the Java compiler (javac) from Java source code, which is then executed by the Java Virtual Machine (JVM).
Teacher's Note:
a) Emphasize that byte code is not native machine code, allowing Java to be platform-independent (Write Once, Run Anywhere).
b) Students often confuse byte code with source code or machine code; ensure the distinction that it is executed by the JVM is clearly stated.
(b) Write a difference between class and an object. [2 Marks]
Answer:
A class is a user-defined blueprint or prototype from which objects are created, whereas an object is a runtime instance of a class that has its own state and behavior.
Teacher's Note:
a) Use the analogy of a blueprint (class) and a physical house built from that blueprint (object).
b) Mention that a class does not occupy memory when declared, whereas an object occupies physical memory when instantiated using the new operator.
(c) Name the following:
(i) The keyword which converts variable into constant.
(ii) The method which terminates the entire program from any stage. [2 Marks]
Answer:
(i) final
(ii) System.exit(0)
Teacher's Note:
a) The final keyword ensures that once a variable is initialized, its value cannot be changed throughout the execution.
b) System.exit(0) terminates the Java Virtual Machine and exits the program entirely from any method or nested loop.
(d) Which of the following are primitive data types?
(i) double
(ii) String
(iii) char
(iv) Integer [2 Marks]
Answer:
(i) double and (iii) char
Teacher's Note:
a) Primitive data types are built-in types provided directly by the Java programming language (double, char, int, boolean, etc.).
b) String is a class and Integer is a wrapper class, hence they are reference/composite data types, not primitive.
(e) What is an operator? Name any two types of operators used in Java. [2 Marks]
Answer:
An operator is a special symbol used to perform specific mathematical, logical, or relational operations on operands and return a result.
Two types of operators used in Java are:
1. Arithmetic operators (+, -, *, /, %)
2. Relational operators (<, >, ==, !=, <=, >=)
Teacher's Note:
a) Operators operate on variables and constants to form expressions.
b) Other valid answers include logical operators, assignment operators, and increment/decrement operators.
Question 2.
(a) What is autoboxing in Java? Give an example. [2 Marks]
Answer:
Autoboxing is the automatic conversion that the Java compiler makes between the primitive types and their corresponding object wrapper classes.
Example: Integer obj = 5; (Here primitive int value 5 is automatically converted into an Integer object).
Teacher's Note:
a) Autoboxing simplifies code by removing the need to explicitly invoke valueof() methods.
b) The reverse process of converting a wrapper object back to a primitive type is known as unboxing.
(b) State the difference between length and length() in Java. [2 Marks]
Answer:
length is a final instance variable (or property) used with arrays to find the total number of elements, whereas length() is a string method used to return the number of characters in a String object.
Teacher's Note:
a) Since length is an array property, it does not use parentheses (arr.length).
b) Since length() is a method of the String class, it requires parentheses (str.length()).
(c) What is constructor overloading? [2 Marks]
Answer:
Constructor overloading is the concept of having more than one constructor in a class with the same name (the name of the class) but with different parameter lists in terms of number, type, or order of arguments.
Teacher's Note:
a) It is a form of compile-time polymorphism applied to constructors.
b) Constructors cannot have a return type, and overloading is distinguished solely by their formal parameters.
(d) What is the use of import statement in Java? [2 Marks]
Answer:
An import statement is used to bring classes and built-in packages (or user-defined packages) into visibility so that they can be used in a Java program without fully qualifying their path names.
Teacher's Note:
a) For example, writing import java.util.Scanner; allows direct use of the Scanner class.
b) The java.lang package is imported implicitly by default in all Java programs.
(e) What is an infinite loop? Give an example. [2 Marks]
Answer:
An infinite loop is a sequence of instructions in a program which loops endlessly because the termination condition is never met or is missing.
Example:
for (int i = 1; i > 0; i++)
System.out.println(i);
Teacher's Note:
a) Infinite loops can be created accidentally due to logical errors or intentionally using while(true) for servers or menu-driven programs.
b) Care must be taken to ensure loop control variables update properly to prevent hanging the system.
Question 3.
(a) Write a Java expression for the following:
\(\sqrt{b^2 - 4ac}\) [2 Marks]
Answer:
Math.sqrt((b * b) - (4 * a * c))
Teacher's Note:
a) Always use Math.sqrt() for square roots and explicitly provide multiplication signs (*) between variables.
b) Proper parenthesizing of the radicand expression \(b^2 - 4ac\) is essential to ensure correct precedence.
(b) Evaluate the following if the value of x=7, y=5
x+=x++ + x + ++y [2 Marks]
Answer:
The evaluated value of x is 31.
Teacher's Note:
a) Step-by-step evaluation for x = 7, y = 5:
- x++ evaluates to 7, and x becomes 8.
- Next x value is 8.
- ++y increments y to 6, and evaluates to 6.
- Expression becomes: x += (7 + 8 + 6) which is x += 21.
- x = 10 + 21 = 31.
b) Always evaluate sub-expressions strictly from left to right keeping track of side effects on variable states.
(c) Write the output for the following:
String s1 = "Life is Beautiful";
System.out.println ("Earth" + s1.substring(4));
System.out.println( s1.endsWith("L") ); [2 Marks]
Answer:
Earth is Beautiful
false
Teacher's Note:
a) s1.substring(4) extracts characters starting from index 4 to the end, resulting in " is Beautiful", which is concatenated with "Earth".
b) s1.endsWith("L") returns false because the string ends with lowercase 'l', and Java string methods are case-sensitive.
(d) Write the output of the following statement:
System.out.println("A picture is worth \t \"A thousand words.\""); [2 Marks]
Answer:
A picture is worth "A thousand words."
Teacher's Note:
a) The escape sequence \t inserts a horizontal tab space.
b) The escape sequence \" prints double quotes within the printed string literal.
(e) Give the output of the following program segment and mention how many times the loop will execute:
int k;
for ( k = 5 ; k <= 20 ; k += 7 )
if ( k% 6==0 )
continue;
System.out.println ( k ); [2 Marks]
Answer:
Output:
5
19
Number of times the loop will execute: 3 times.
Teacher's Note:
a) Loop iterations: when k = 5 (prints 5), k = 12 (12 % 6 == 0 so continue skips print), when k = 19 (prints 19).
b) The loop condition checks k = 5, 12, 19, and 26 (terminates), executing a total of 3 times.
(f) What is the data type returned by the following library methods?
(i) isWhitespace()
(ii) compareToIgnoreCase() [2 Marks]
Answer:
(i) boolean
(ii) int
Teacher's Note:
a) Character.isWhitespace() checks if a character is whitespace and returns true or false (boolean).
b) compareToIgnoreCase() compares two strings lexicographically and returns an integer value representing the difference.
(g) Rewrite the following program segment using logical operators:
if ( x > 5 )
if ( x > y )
System.out.println (x+y); [2 Marks]
Answer:
if (x > 5 && x > y)
System.out.println(x + y);
Teacher's Note:
a) Nested if conditions can be combined into a single if statement using the logical AND (&&) operator.
b) Both conditions must evaluate to true for the print statement to execute.
(h) Convert the following if else if construct into switch case:
if (ch== 'c' || ch=='C')
System.out . print("COMPUTER");
else if (ch== 'h' || ch=='H')
System.out . print("HINDI");
else
System.out . print("PHYSICAL EDUCATION"); [2 Marks]
Answer:
switch (ch) {
case 'c':
case 'C':
System.out.print("COMPUTER");
break;
case 'h':
case 'H':
System.out.print("HINDI");
break;
default:
System.out.print("PHYSICAL EDUCATION");
}
Teacher's Note:
a) Case fall-through is used here to handle both lowercase and uppercase characters for the same output.
b) Do not forget to include break statements after each case block and use default for the else block.
(i) Give the output of the following:
(i) Math.pow (36,0.5) + Math.cbrt (125)
(ii) Math.ceil (4.2 ) + Math.floor (7.9) [2 Marks]
Answer:
(i) 11.0
(ii) 12.0
Teacher's Note:
a) Math.pow(36, 0.5) is 6.0 and Math.cbrt(125) is 5.0; 6.0 + 5.0 = 11.0.
b) Math.ceil(4.2) is 5.0 and Math.floor(7.9) is 7.0; 5.0 + 7.0 = 12.0. Note that Math methods return double values.
(j) Rewrite the following using ternary operator:
if(n1>n2)
r = true;
else
r = false; [2 Marks]
Answer:
r = (n1 > n2) ? true : false;
Teacher's Note:
a) The ternary operator takes the form condition ? expression1 : expression2.
b) Alternatively, it can also be written simply as r = (n1 > n2); since the relational expression already evaluates to a boolean.
SECTION B (60 Marks)
Attempt any four questions from this Section.
Question 4.
A private Cab service company provides service within the city at the following rates: [15 Marks]
| AC CAR | NON AC CAR | |
|---|---|---|
| UPTO 5 KM | Rs. 150 /- | Rs. 120 /- |
| BEYOND 5 KM | Rs. 10/- PER KM | Rs. 08/- PER KM |
Design a class CabService with the following description:
Member variables / data members:
String car_type - To store the type of car (AC or NON AC)
double km - To store the kilometer travelled
double bill - To calculate and store the bill amount
Member methods:
CabService() - Default constructor to initialize data members. String data members to "" and double data members to 0.0.
void accept () - To accept car_type and km (using Scanner class only).
void calculate () - To calculate the bill as per the rules given above.
void display() - To display the bill as per the following format
CAR TYPE:
KILOMETER TRAVELLED:
TOTAL BILL:
Create an object of the class in the main method and invoke the member methods.
Answer:
import java.util.Scanner;
class CabService {
String car_type;
double km;
double bill;
CabService() {
car_type = "";
km = 0.0;
bill = 0.0;
}
void accept() {
Scanner sc = new Scanner(System.in);
System.out.println("Enter type of car (AC / NON AC): ");
car_type = sc.nextLine();
System.out.println("Enter kilometers travelled: ");
km = sc.nextDouble();
}
void calculate() {
if (car_type.equalsIgnoreCase("AC")) {
if (km <= 5)
bill = 150;
else
bill = 150 + (km - 5) * 10;
} else if (car_type.equalsIgnoreCase("NON AC")) {
if (km <= 5)
bill = 120;
else
bill = 120 + (km - 5) * 8;
}
}
void display() {
System.out.println("CAR TYPE: " + car_type);
System.out.println("KILOMETER TRAVELLED: " + km);
System.out.println("TOTAL BILL: " + bill);
}
public static void main(String args[]) {
CabService ob = new CabService();
ob.accept();
ob.calculate();
ob.display();
}
}
Teacher's Note:
a) Ensure all requested data members and methods are declared with correct access specifiers and return types.
b) Using equalsIgnoreCase() is recommended for string comparison to avoid case-mismatch issues.
Question 5.
Write a program to search for an integer value input by the user in the sorted list given below using binary search technique. If found display "Search Successful" and print the element, otherwise display "Search Unsuccessful"
{31, 36, 45, 50, 60, 75, 86, 90} [15 Marks]
Answer:
import java.util.Scanner;
class BinarySearchDemo {
public static void main(String args[]) {
int arr[] = {31, 36, 45, 50, 60, 75, 86, 90};
Scanner sc = new Scanner(System.in);
System.out.println("Enter the element to search:");
int num = sc.nextInt();
int lb = 0, ub = arr.length - 1, mid;
boolean found = false;
while (lb <= ub) {
mid = (lb + ub) / 2;
if (arr[mid] == num) {
found = true;
break;
} else if (arr[mid] < num) {
lb = mid + 1;
} else {
ub = mid - 1;
}
}
if (found) {
System.out.println("Search Successful");
System.out.println("Element: " + num);
} else {
System.out.println("Search Unsuccessful");
}
}
}
Teacher's Note:
a) Binary search requires the array to be pre-sorted, which is already satisfied in the problem statement.
b) Verify that boundaries (lb and ub) and mid calculations are implemented correctly without infinite loop risks.
Question 6.
Write a program to input a sentence and convert it into uppercase and display each word in a separate line.
Example: Input : India is my country
Output : INDIA
IS
MY
COUNTRY [15 Marks]
Answer:
import java.util.Scanner;
class WordByWord {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a sentence:");
String s = sc.nextLine();
s = s.toUpperCase();
s = s + " ";
String word = "";
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (ch == ' ') {
System.out.println(word);
word = "";
} else {
word = word + ch;
}
}
}
}
Teacher's Note:
a) Appending a space at the end of the input string ensures the last word is also correctly captured and printed.
b) Alternatively, the split(" ") method can be used to extract words directly.
Question 7.
Design a class to overload a method Number( ) as follows:
(i) void Number (int num , int d) - To count and display the frequency of a digit in a number.
Example:
num = 2565685
d = 5
Frequency of digit 5 = 3
(ii) void Number (int n1) - To find and display the sum of even digits of a number.
Example:
n1 = 29865
Sum of even digits = 16
Write a main method to create an object and invoke the above methods. [15 Marks]
Answer:
import java.util.Scanner;
class OverloadNumber {
void Number(int num, int d) {
int count = 0;
int temp = num;
while (temp > 0) {
int rem = temp % 10;
if (rem == d) {
count++;
}
temp = temp / 10;
}
System.out.println("Frequency of digit " + d + " = " + count);
}
void Number(int n1) {
int sum = 0;
int temp = n1;
while (temp > 0) {
int rem = temp % 10;
if (rem % 2 == 0) {
sum = sum + rem;
}
temp = temp / 10;
}
System.out.println("Sum of even digits = " + sum);
}
public static void main(String args[]) {
OverloadNumber ob = new OverloadNumber();
ob.Number(2565685, 5);
ob.Number(29865);
}
}
Teacher's Note:
a) Method overloading requires methods to share the same name with different method signatures.
b) Ensure proper extraction of digits using modulo (%) and division (/) operators.
Question 8.
Write a menu driven program to perform the following operations as per user’s choice:
(i) To print the value of c=a2+2ab, where a varies from 1.0 to 20.0 with increment of 2.0 and b=3.0 is a constant.
(ii) To display the following pattern using for loop:
A
AB
ABC
ABCD
ABCDE
Display proper message for an invalid choice. [15 Marks]
Answer:
import java.util.Scanner;
class MenuDrivenProgram {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter 1 for Series calculation");
System.out.println("Enter 2 for Pattern printing");
int choice = sc.nextInt();
switch (choice) {
case 1:
double b = 3.0, c;
for (double a = 1.0; a <= 20.0; a += 2.0) {
c = (a * a) + (2 * a * b);
System.out.println("a = " + a + ", c = " + c);
}
break;
case 2:
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
System.out.print((char)(64 + j));
}
System.out.println();
}
break;
default:
System.out.println("Invalid choice!");
}
}
}
Teacher's Note:
a) For the series loop, double precision variable 'a' is used to increment by 2.0 up to 20.0.
b) For the character pattern, ASCII casting ((char)(64 + j)) prints capital letters from 'A' onwards correctly.
Question 9.
Write a program to input and store integer elements in a double dimensional array of size 3 x 3 and find the sum of elements in the left diagonal.
Example:
1 3 5
4 6 8
9 2 4
Output: Sum of the left diagonal elements = (1 + 6 + 4) = 11 [15 Marks]
Answer:
import java.util.Scanner;
class LeftDiagonalSum {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int arr[][] = new int[3][3];
System.out.println("Enter 9 elements for 3x3 array:");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
arr[i][j] = sc.nextInt();
}
}
int sum = 0;
System.out.print("Output: Sum of the left diagonal elements = (");
for (int i = 0; i < 3; i++) {
sum = sum + arr[i][i];
if (i == 0)
System.out.print(arr[i][i]);
else
System.out.print(" + " + arr[i][i]);
}
System.out.println(") = " + sum);
}
}
Teacher's Note:
a) Left diagonal (also called main diagonal) elements are located where row index equals column index (i.e., arr[i][i]).
b) Nested loops are essential for accepting and traversing elements in a 2D array.
Free study material for Computer Application
Practice Exam Question Papers for Class 10 Computer Applications ICSE Class 10 Computer Applications Board Exam Question Paper 2020 with Solutions
Understanding Exam Patterns with ICSE Class 10 Computer Applications Board Exam Question Paper 2020 with Solutions
Review authentic examination papers for Class 10 Computer Applications. Working through the ICSE Class 10 Computer Applications Board Exam Question Paper 2020 with Solutions allows learners to decode recurring question trends and familiarize themselves with official ICSE evaluation standards.
Why Practice Class 10 Computer Applications Question Papers?
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.
Additional Study Resources for Class 10 Computer Applications
Download digital copies of these papers for convenient offline revision anywhere. Cross-check your completed steps against our expert solution guides to ensure complete accuracy.
FAQs
The ICSE Class 10 Computer Applications Board Exam Question Paper 2020 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 2020 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 2020 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 2020 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 2020 with Solutions, are provided free of charge in mobile-friendly PDF.