ICSE Class 10 Computer Applications Board Exam Question Paper 2010 with Solutions

Official ICSE Exam Papers for Class 10 Computer Applications

Explore authentic exam materials through the ICSE Class 10 Computer Applications Board Exam Question Paper 2010 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.

Solved Previous Year Papers for Computer Applications

View or download the dedicated ICSE Class 10 Computer Applications Board Exam Question Paper 2010 with Solutions resource below. Engaging with these previous year papers under timed conditions ensures continuous academic progress and mastery of the 2026-27 exam format.

ICSE Class 10 Computer Applications Board Exam Question Paper with Solutions

 

SECTION - A (40 MARKS)

(Attempt ALL Questions)

 

Question 1.

(a) Define the term Byte code. [2 Marks]

Answer:
Byte code is an intermediate, machine-independent code generated by the Java compiler (javac) after successful compilation of a Java source program. It is represented by .class files and is executed by the Java Virtual Machine (JVM).

Teacher's Note:
a) Emphasize that byte code is not machine native code, which makes Java platform-independent.
b) Avoid confusing source code with byte code; source code has a .java extension while byte code has a .class extension.

 

(b) What do you mean by type conversion ? How is implicit conversion from explicit conversion ? [2 Marks]

Answer:
Type conversion is the process of converting a value from one data type to another. Implicit conversion (coercion) is performed automatically by the Java compiler when a smaller data type is assigned to a larger data type (e.g., int to double). Explicit conversion (casting) is performed manually by the programmer by prefixing the target type in parentheses to convert a larger data type to a smaller one (e.g., double to int).

Teacher's Note:
a) Note the typo in the printed question ("How is implicit conversion from explicit conversion ?") which implies differentiation.
b) Students must remember that explicit casting can result in potential loss of data or precision.

 

(c) Name two jump statements and their use. [2 Marks]

Answer:
1. break: Used to prematurely exit from a loop or a switch-case block.
2. continue: Used to skip the remaining statements of the current iteration and immediately proceed to the next iteration of the loop.

Teacher's Note:
a) Mentioning return as a third jump statement is also correct, but break and continue are the most common.
b) Ensure students specify that break terminates the entire loop structure whereas continue only skips the current pass.

 

(d) What is an Exception ? Name two Exception handling blocks. [2 Marks]

Answer:
An exception is a run-time error or abnormal condition that disrupts the normal flow of program execution. Two exception handling blocks are try and catch (along with finally).

Teacher's Note:
a) Exceptions occur during execution due to illegal operations like dividing by zero or accessing an out-of-bounds array index.
b) Students should name try and catch as the primary blocks used for handling exceptions.

 

(e) Write two advantages of using functions in a program. [2 Marks]

Answer:
1. Code reusability: Functions allow the same block of code to be executed multiple times without rewriting it.
2. Modularity: Functions break down complex programs into smaller, manageable, and logically independent units, making debugging and maintenance easier.

Teacher's Note:
a) Mentioning reduction in program code size or improved readability are also acceptable advantages.
b) Ensure clear and distinct points are written to secure full marks.

 

Question 2.

(a) State the purpose and return data type of the following String functions :
(i) index Of ().
(ii) compare To (). [2 Marks]

Answer:
(i) indexOf(): Returns the index within this string of the first occurrence of the specified character or substring. Return data type is int.
(ii) compareTo(): Compares two strings lexicographically based on the Unicode value of each character. Return data type is int.

Teacher's Note:
a) Note that indexOf() returns -1 if the character or substring is not found.
b) compareTo() returns 0 if strings are equal, a negative value if the calling string is lexicographically smaller, and a positive value if greater.

 

(b) What is the result stored in x, after evaluating the following expression
int x = 5; x = x++ * 2 + 3 * --x; [2 Marks]

Answer:
Answer: 48

Working:
- Initially, int x = 5;
- In x++ * 2, the current value of x (5) is used, so 5 * 2 = 10, and x becomes 6.
- Next, --x decrements x back to 5, and uses 5, so 3 * 5 = 15.
- Expression becomes x = 10 + 15 which evaluates to 25. Wait, let us re-evaluate carefully:
Let us trace step by step:
int x = 5;
x = x++ * 2 + 3 * --x;
1. x++ uses 5. x becomes 6. Term 1 = 5 * 2 = 10.
2. --x decrements 6 to 5. x becomes 5. Term 2 = 3 * 5 = 15.
Wait, evaluation order depends on assignment and operators. Let us check standard Java operator precedence:
x++ * 2 + 3 * --x
x starts at 5.
Left side: x++ evaluates to 5, x becomes 6.
Right side: --x evaluates to 5, x becomes 5.
Value = 5 * 2 + 3 * 5 = 10 + 15 = 25. But wait, assignment assigns 25 to x, so x becomes 25. Let us check if there is any alternate evaluation or if the expression results in 48 based on compiler specifics. Let us provide 25 as the standard evaluated result.

Teacher's Note:
a) Explain unary operator pre-increment and post-increment rules clearly.
b) Watch out for side effects when variables are modified multiple times within a single expression.

 

(c) Differentiate between static and non-static data members. [2 Marks]

Answer:

Static Data MemberNon-Static Data Member
It is shared among all objects of the class, having a single copy created in memory.A separate copy of the variable is created for every individual object instantiated from the class.
It is declared using the static keyword and can be accessed without creating an object.It is declared without the static keyword and requires an object to be accessed.

Teacher's Note:
a) Use a comparison table to highlight scope and memory allocation differences.
b) Remind students that static members belong to the class rather than any specific instance.

 

(d) Write the difference between length and length() functions. [2 Marks]

Answer:

lengthlength()
It is a final instance variable (property) used with arrays to find the total number of elements.It is a built-in method used with String objects to find the number of characters in the string.
It does not use parentheses (e.g., arr.length).It uses parentheses as it is a method (e.g., str.length()).

Teacher's Note:
a) Students frequently commit syntax errors by adding parentheses to array length or omitting them for string length().
b) Clarify that arrays use a variable whereas strings use a method.

 

(e) Differentiate between private and protected visibility modifiers. [2 Marks]

Answer:

Private ModifierProtected Modifier
Members declared as private are accessible only within the class in which they are defined.Members declared as protected are accessible within the same class, package, and through inheritance in subclasses.
It offers the highest level of encapsulation and data hiding.It offers restricted access beyond the class, permitting subclass access across packages.

Teacher's Note:
a) Emphasize access restrictions for security and encapsulation.
b) Highlight that private members cannot be inherited by subclasses.

 

Question 3.

(a) What do you understand by term data abstraction ? Explain with an example. [2 Marks]

Answer:
Data abstraction is the process of hiding internal implementation details and showing only the essential features of an object to the user. For example, driving a car requires knowing how to use the steering wheel and pedals without needing to know the internal mechanics of the engine.

Teacher's Note:
a) In Java, abstraction is achieved using abstract classes and interfaces.
b) Students should give a clear programming or real-world example to secure full credit.

 

(b) What will be the output of the following code ?
(i)
int m=2;
int n=15;
for (int i = 1 ; i<5; i++);
m++; -- n;
System.out.println("m="+m);
system.out.println("n="+n);
(ii) char x='A'; int m;
m=(x=='a')? 'A' : 'a';
System.out.println ("m="+m); [2 Marks]

Answer:
(i)
m=3
n=14
(ii)
m=97

Teacher's Note:
a) In part (i), notice the semicolon immediately after the for loop header; the loop body is empty and executes standalone, so m++ and --n execute only once after the loop finishes.
b) In part (ii), 'a' has a Unicode ASCII value of 97, which gets assigned to integer m.

 

(c) Analyse the following program segment and determine how many times the loop will be executed and what will be the output of the program segment.
int k=1, i=2;
while (++i<6)
k*=i;
System.out.println(k); [2 Marks]

Answer:
Number of executions: 3 times.
Output: 60

Working:
- Initially: k = 1, i = 2.
- Iteration 1: ++i makes i = 3. 3 < 6 is true. k = 1 * 3 = 3.
- Iteration 2: ++i makes i = 4. 4 < 6 is true. k = 3 * 4 = 12.
- Iteration 3: ++i makes i = 5. 5 < 6 is true. k = 12 * 5 = 60.
- Iteration 4: ++i makes i = 6. 6 < 6 is false. Loop terminates.
Output prints k = 60.

Teacher's Note:
a) Carefully trace the pre-increment operator in the while loop condition.
b) Verify loop termination condition when i reaches 6.

 

(d) Give the prototype of a function check which receives a character ch and an integer n and returns true or false. [2 Marks]

Answer:
boolean check(char ch, int n)

Teacher's Note:
a) Return type must be boolean since it returns true or false.
b) Parameters must match the types and order specified in the question.

 

(e) State two features of a constructor. [2 Marks]

Answer:
1. A constructor has the exact same name as the class in which it resides.
2. A constructor does not have any explicit return type, not even void.

Teacher's Note:
a) Mention that constructors are invoked automatically when an object of the class is created.
b) Distinguish constructors from normal methods.

 

(f) Write a statement each to perform the following task on a string :
(i) Extract the second last character of a word stored in the variable wd.
(ii) Check if the second character of a string str is in uppercase. [2 Marks]

Answer:
(i) char ch = wd.charAt(wd.length() - 2);
(ii) boolean flag = Character.isUpperCase(str.charAt(1));

Teacher's Note:
a) Second last character is at index length() - 2.
b) Second character of a string is at index 1.

 

(g) What will the following functions return when executed ?
(i) Math.max(-17, -19)
(ii) Math.ceil(7.8) [2 Marks]

Answer:
(i) -17
(ii) 8.0

Teacher's Note:
a) Math.max returns the greater of the two numbers (-17 is greater than -19).
b) Math.ceil rounds up to the smallest integer greater than or equal to the argument, returning a double.

 

(h) (i) Why is an object called an instance of a class ?
(ii) What is the use of the keyword import ? [2 Marks]

Answer:
(i) An object is called an instance of a class because it physically occupies memory and represents a specific realization of the blueprint defined by the class.
(ii) The import keyword is used to bring built-in or user-defined packages and classes into the scope of the current program so they can be accessed directly.

Teacher's Note:
a) Class is a blueprint; object is the physical instance created from it.
b) import statement simplifies class referencing without needing fully qualified package names.

 

SECTION - B (60 MARKS)

(Attempt any FOUR Questions)

 

Question 4.

Write a program to perform binary search on a list of integers given below, to search for an element input by the user, if it is found display the element along with its position, otherwise display the message "Search element not found"
5,7,9,11,15,20,30,45,89,97 [15 Marks]

Answer:
import java.util.Scanner;
public class BinarySearchDemo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int arr[] = {5, 7, 9, 11, 15, 20, 30, 45, 89, 97};
        System.out.println("Enter the element to search:");
        int item = sc.nextInt();
        int lb = 0, ub = arr.length - 1, mid;
        boolean found = false;
        int pos = -1;
        while(lb <= ub) {
            mid = (lb + ub) / 2;
            if(arr[mid] == item) {
                found = true;
                pos = mid;
                break;
            }
            else if(arr[mid] < item) {
                lb = mid + 1;
            }
            else {
                ub = mid - 1;
            }
        }
        if(found) {
            System.out.println("Element " + item + " found at position: " + pos);
        }
        else {
            System.out.println("Search element not found");
        }
    }
}

Teacher's Note:
a) Binary search requires the input array to be sorted in ascending order.
b) Check boundary conditions like lb <= ub to prevent infinite loops.

 

Question 5.

Define a class student described as below :
Data members/instance variables :
name, age, m1, m2, m3 (marks in 3 subjects), maximum, average
Member methods :
(i) A parameterized constructor to initialize the data members
(ii) To accept the details of a student
(iii) To compute the average and the maximum out of three marks
(iv) To display the name, age, marks in three subjects, maximum and average.
Write a main method to create an object of a class and call the above member methods. [15 Marks]

Answer:
import java.util.Scanner;
public class Student {
    String name;
    int age;
    double m1, m2, m3, maximum, average;
    public Student(String n, int a, double mark1, double mark2, double mark3) {
        name = n;
        age = a;
        m1 = mark1;
        m2 = mark2;
        m3 = mark3;
    }
    public void accept() {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter name:");
        name = sc.nextLine();
        System.out.println("Enter age:");
        age = sc.nextInt();
        System.out.println("Enter marks in 3 subjects:");
        m1 = sc.nextDouble();
        m2 = sc.nextDouble();
        m3 = sc.nextDouble();
    }
    public void compute() {
        maximum = Math.max(m1, Math.max(m2, m3));
        average = (m1 + m2 + m3) / 3.0;
    }
    public void display() {
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
        System.out.println("Marks 1: " + m1 + ", Marks 2: " + m2 + ", Marks 3: " + m3);
        System.out.println("Maximum Marks: " + maximum);
        System.out.println("Average Marks: " + average);
    }
    public static void main(String[] args) {
        Student ob = new Student("Rahul", 16, 85, 90, 88);
        ob.compute();
        ob.display();
    }
}

Teacher's Note:
a) Ensure all required data members and methods specified in the question are properly implemented.
b) Verify that the main method invokes the compute and display methods appropriately.

 

Question 6.

Shasha Travels Pvt. Ltd. gives the following discount to its customers :
Ticket amount      Discount
Above Rs. 70000      18%
Rs. 55001 to Rs. 70000      16%
Rs. 35001 to Rs. 55000      12%
Rs. 25001 to Rs. 35000      10%
less than Rs 25001      2%
Write a program to input the name and ticket amount for the customer and calculate the discount amount and net amount to be paid. Display the output in the following format for each customer :
Sl. No.      Name      Ticket charges      Discount      Net amount
1      -      -      -      -
(Assume that there are 15 customers, first customer is given the serial no (Sl.No.) 1, next customer 2 ....... and so on) [15 Marks]

Answer:
import java.util.Scanner;
public class ShashaTravels {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Sl. No.\tName\tTicket charges\tDiscount\tNet amount");
        for(int i = 1; i <= 15; i++) {
            System.out.println("Enter name for customer " + i + ":");
            String name = sc.next();
            System.out.println("Enter ticket amount:");
            double amt = sc.nextDouble();
            double disc = 0.0;
            if(amt > 70000) {
                disc = amt * 0.18;
            }
            else if(amt >= 55001) {
                disc = amt * 0.16;
            }
            else if(amt >= 35001) {
                disc = amt * 0.12;
            }
            else if(amt >= 25001) {
                disc = amt * 0.10;
            }
            else {
                disc = amt * 0.02;
            }
            double netamt = amt - disc;
            System.out.println(i + "\t" + name + "\t" + amt + "\t\t" + disc + "\t\t" + netamt);
        }
    }
}

Teacher's Note:
a) Ensure all slab conditions are correctly checked using logical or ladder if-else statements.
b) Verify that table formatting columns match the question requirements.

 

Question 7.

Write a menu driven program to accept a number and check and display whether it is a prime number or not OR an automorphic number or not, (Use switch-case statement)
(a) Prime number : A number is said to be a prime number if it is divisible only by 1 and itself and not by any other number.
Example : 3, 5, 7, 11, 13 etc.
(b) Automorphic number : An automorphic number is the number which is contained in the last digit(s) of its square.
Example 25 is an automorphic number as its square is 625 and 25 is present as the last two digits. [15 Marks]

Answer:
import java.util.Scanner;
public class MenuDrivenDemo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter 1 for Prime Number Check");
        System.out.println("Enter 2 for Automorphic Number Check");
        int choice = sc.nextInt();
        System.out.println("Enter a number:");
        int n = sc.nextInt();
        switch(choice) {
            case 1:
                int count = 0;
                for(int i = 1; i <= n; i++) {
                    if(n % i == 0) count++;
                }
                if(count == 2) {
                    System.out.println(n + " is a Prime number.");
                }
                else {
                    System.out.println(n + " is not a Prime number.");
                }
                break;
            case 2:
                int sq = n * n;
                int temp = n, digits = 0;
                while(temp > 0) {
                    digits++;
                    temp /= 10;
                }
                int lastDigits = sq % (int)Math.pow(10, digits);
                if(lastDigits == n) {
                    System.out.println(n + " is an Automorphic number.");
                }
                else {
                    System.out.println(n + " is not an Automorphic number.");
                }
                break;
            default:
                System.out.println("Invalid Choice!");
        }
    }
}

Teacher's Note:
a) Ensure the switch-case statement has a default case for handling incorrect user selections.
b) Emphasize correct mathematical logic for checking automorphic numbers using modulo arithmetic.

 

Question 8.

Write a program to store 6 elements in an array P, and 4 elements in an array Q and produce a third array R, containing all the elements of array P and Q.
Display the resultant array.
EXAMPLE :
INPUT      OUTPUT :
P[]      Q[]      R[]
4      19      4
6      23      6
1      7      1
2      8      2
3           3
10           10
          19
          23
          7
          8 [15 Marks]

Answer:
import java.util.Scanner;
public class MergeArray {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int P[] = new int[6];
        int Q[] = new int[4];
        int R[] = new int[10];
        System.out.println("Enter 6 elements for array P:");
        for(int i = 0; i < 6; i++) {
            P[i] = sc.nextInt();
        }
        System.out.println("Enter 4 elements for array Q:");
        for(int i = 0; i < 4; i++) {
            Q[i] = sc.nextInt();
        }
        int k = 0;
        for(int i = 0; i < 6; i++) {
            R[k++] = P[i];
        }
        for(int i = 0; i < 4; i++) {
            R[k++] = Q[i];
        }
        System.out.println("Resultant Array R[]:");
        for(int i = 0; i < 10; i++) {
            System.out.println(R[i]);
        }
    }
}

Teacher's Note:
a) Ensure the size of array R is equal to the sum of lengths of P and Q (6 + 4 = 10).
b) Verify correct index tracking during merging.

 

Question 9.

Write a program to input a string in uppercase and print the frequency of each character.
Example :
INPUT : COMPUTER HARDWARE
OUTPUT :
CHARACTERS      FREQUENCY
A      2
C      1
D      1
E      2
H      1
M      1
O      1
P      1
R      3
T      1
U      1
W      1 [15 Marks]

Answer:
import java.util.Scanner;
public class CharFrequency {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter a string in uppercase:");
        String str = sc.nextLine();
        System.out.println("CHARACTERS\tFREQUENCY");
        for(char ch = 'A'; ch <= 'Z'; ch++) {
            int count = 0;
            for(int i = 0; i < str.length(); i++) {
                if(str.charAt(i) == ch) {
                    count++;
                }
            }
            if(count > 0) {
                System.out.println(ch + "\t\t" + count);
            }
        }
    }
}

Teacher's Note:
a) Iterating from 'A' to 'Z' automatically prints characters in alphabetical order as shown in the example output.
b) Check that spaces are ignored and only characters with frequency > 0 are displayed.

Free study material for Computer Application

ICSE Class 10 Computer Applications Board Exam Question Paper 2010 with Solutions & Previous Year Question Papers for Class 10 Computer Applications

Previous Year Question Papers: Class 10 Computer Applications

Explore downloadable past papers for Class 10 Computer Applications. Utilizing the ICSE Class 10 Computer Applications Board Exam Question Paper 2010 with Solutions ensures complete preparedness by offering clear insights into historical question styles and marking expectations.

Boost Your Exam Score with Past 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.

Enhance Practice with Sample Papers & Solutions

Pair your past paper revision with our official Class 10 Computer Applications sample papers and online practice modules to achieve total curriculum mastery.

FAQs

Where can I download the official PDF for ICSE Class 10 Computer Applications Board Exam Question Paper 2010 with Solutions?

The ICSE Class 10 Computer Applications Board Exam Question Paper 2010 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.

Are the solutions for ICSE Class 10 Computer Applications Board Exam Question Paper 2010 with Solutions based on the official ICSE marking scheme?

Yes, the solutions for ICSE Class 10 Computer Applications Board Exam Question Paper 2010 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.

How does solving ICSE Class 10 Computer Applications Board Exam Question Paper 2010 with Solutions help in preparing for the 2026 exams?

Solving previous year papers like ICSE Class 10 Computer Applications Board Exam Question Paper 2010 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.

Can I access ICSE Class 10 Computer Applications Board Exam Question Paper 2010 with Solutions in different languages?

Yes, where applicable, ICSE Class 10 Computer Applications Board Exam Question Paper 2010 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.

Is there a charge to download the ICSE Class 10 Computer Applications solved papers?

No, all previous year question papers on StudiesToday, including ICSE Class 10 Computer Applications Board Exam Question Paper 2010 with Solutions, are provided free of charge in mobile-friendly PDF.