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

Download ICSE Class 10 Computer Applications Question Papers

Review targeted exam resources with the ICSE Class 10 Computer Applications Board Exam Question Paper 2024 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.

Access ICSE Question Papers and Solutions

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.

CISCE Class 10 Computer Applications Board Exam Question Paper 2024 with Solutions

 

SECTION A (40 Marks)

 

Q1. Choose the correct answers to the questions from the given options. (Do not copy the questions, write the correct answer only.)

 

1.1. Consider the above picture and choose the correct statement from the following: [1 Mark]
1. Polygon is the object and the pictures are classes
2. Both polygon and the pictures are classes
3. Polygon is the class and the pictures are objects
4. Both polygon and the pictures are objects

[Figure: An image showing a general label "Polygon" pointing to individual geometric shape drawings: a triangle, a parallelogram, and a pentagon.]

Answer: Polygon is the class and the pictures are objects

Teacher's Note:
a) A class acts as a blueprint or template, whereas an individual entity derived from it is an object.
b) Students often confuse superclasses and instances with abstract physical items; remember that generalized categories represent classes.

 

1.2. int x = 98; char ch = (char)x; what is the value in ch? [1 Mark]
1. b
2. A
3. B
4. 97

Answer: b

Teacher's Note:
a) Explicit type casting converts the integer value 98 to its corresponding ASCII character, which is 'b'.
b) The ASCII value for uppercase 'A' is 65 and lowercase 'a' is 97; hence 98 corresponds to 'b'.

 

1.3. The output of the statement "CONCENTRATION".indexOf('T') is ______. [1 Mark]
1. 9
2. 7
3. 6
4. (-1)

Answer: 6

Teacher's Note:
a) String indexing in Java starts from 0. Counting characters in CONCENTRATION, 'T' is at index position 6.
b) Pay close attention to duplicate characters; indexOf always returns the index of the first occurrence.

 

1.4. The access specifier that gives least accessibility is ______. [1 Mark]
1. Package
2. Public
3. Protected
4. Private

Answer: Private

Teacher's Note:
a) Private members are accessible only within the class in which they are declared.
b) Public has the widest accessibility, followed by protected, default (package), and private.

 

1.5. The output of the statement "talent".compareTo("genius") is ______. [1 Mark]
1. 11
2. -11
3. 0
4. 13

Answer: 13

Teacher's Note:
a) The compareTo method compares strings lexicographically based on Unicode values of each character.
b) The difference between the ASCII values of the first characters 't' (116) and 'g' (103) is 13.

 

1.6. Which of the following is an escape sequence character in Java? [1 Mark]
1. /n
2. \t
3. /t
4. //n

Answer: \t

Teacher's Note:
a) Escape sequences in Java always begin with a backslash (\), such as \n, \t, or \\.
b) Forward slashes (/) do not form escape sequences and will result in syntax or logic errors.

 

1.7. If (a>b&&b>c) then largest number is ______. [1 Mark]
1. b
2. c
3. a
4. Wrong expression

Answer: a

Teacher's Note:
a) Since a is greater than b, and b is in turn greater than c, by transitivity, a is the greatest value.
b) Logical AND (&&) ensures both conditions are true simultaneously before evaluating results.

 

1.8. What is the output of Math.ceil(5.4) + Math.ceil(4.5)? [1 Mark]
1. 10.0
2. 11.0
3. 12.0
4. 9.0

Answer: 11.0

Teacher's Note:
a) Math.ceil() returns the smallest double value that is greater than or equal to the argument and is equal to a mathematical integer.
b) Math.ceil(5.4) evaluates to 6.0 and Math.ceil(4.5) evaluates to 5.0, summing up to 11.0.

 

1.9. What is the method to check whether a character is a letter or digit? [1 Mark]
1. isDigif(char)
2. isLetterOrDigit()
3. isLetterOrDigit(char)
4. isLETTERorDIGIT(char)

Answer: isLetterOrDigit(char)

Teacher's Note:
a) Character class methods like Character.isLetterOrDigit() are part of java.lang package.
b) Java is case-sensitive, so exact camel case naming conventions must be followed.

 

1.10. The extension of a Java source code file is ______. [1 Mark]
1. exe
2. obj
3. jvm
4. java

Answer: java

Teacher's Note:
a) Java source files are saved with the .java extension before compilation.
b) The compiled bytecode files carry the .class extension, not .obj or .exe.

 

1.11. The number of bytes occupied by a character array of four rows and three columns is ______. [1 Mark]
1. 12
2. 24
3. 96
4. 48

Answer: 24

Teacher's Note:
a) In Java, the char data type occupies 2 bytes of memory.
b) Total bytes = Rows \times Columns \times size of char = 4 \times 3 \times 2 = 24 bytes.

 

1.12. Which of the following data type cannot be used with switch case construct? [1 Mark]
1. int
2. char
3. String
4. Double

Answer: Double

Teacher's Note:
a) Floating-point types like double and float cannot be used as switch expressions due to precision issues.
b) Valid switch types include byte, short, char, int, their wrapper classes, String, and enums.

 

1.13. Which of the following are entry-controlled loops? [1 Mark]
1. for
2. while
3. do..while
4. switch
1. Only 1
2. 1 and 2
3. 1 and 3
4. 3 and 4

Answer: 1 and 2

Teacher's Note:
a) Both for and while loops evaluate the test condition before executing the loop body.
b) The do-while loop is an exit-controlled loop, executing the body at least once before checking the condition.

 

1.14. Method which reverses a given number is ______: [1 Mark]
1. Impure method
2. Pure method
3. Constructor
4. Destructor

Answer: Pure method

Teacher's Note:
a) A pure method computes and returns a value without modifying the original object state or input variables.
b) Reversing a number generates a separate reversed value while leaving the original parameter unchanged.

 

1.15. If the name of the class is "Yellow", what can be the possible name for its constructors? [1 Mark]
1. yellow
2. YELLOW
3. Yell
4. Yellow

Answer: Yellow

Teacher's Note:
a) A constructor must have exactly the same name as the class, including identical case sensitivity.
b) Java identifiers are strictly case-sensitive, making yellow distinct from Yellow.

 

1.16. Invoking a method by passing the objects of a class is termed as ______. [1 Mark]
1. Call by reference
2. Call by value
3. Call by method
4. Call by constructor

Answer: Call by reference

Teacher's Note:
a) Passing an object passes its reference address, meaning changes inside the method affect the original object.
b) Primitive data types are always passed by value in Java.

 

1.17. The correct statement to create an object named mango of class fruit: [1 Mark]
1. Fruit Mango = new fruit();
2. fruit mango = new fruit();
3. Mango fruit = new Mango();
4. fruit mango = new mango();

Answer: fruit mango = new fruit();

Teacher's Note:
a) Object instantiation requires the exact class name followed by the object identifier and the new operator with the constructor call.
b) Case matching between the class definition and instantiation is mandatory.

 

1.18. Assertion (A): Static method can access static and instance variables.
Reason (R): Static variables can be accessed only by static method. [1 Mark]

1. Assertion and Reason both are correct.
2. Assertion is true and Reason is false.
3. Assertion is false and Reason is true.
4. Assertion and Reason both are false.

Answer: Assertion and Reason both are false.

Teacher's Note:
a) Static methods cannot directly access non-static (instance) variables without creating an object reference.
b) Static variables can be accessed by both static and non-static methods freely.

 

1.19. What is the output of the Java code given below?
String color [] = {"Blue", "Red", "Violet"}; System.out.println(color[2].length()); [1 Mark]

1. 6
2. 5
3. 3
4. 2

Answer: 6

Teacher's Note:
a) Array indexing begins at 0, so color[2] accesses the third element, which is "Violet".
b) The length() method counts the number of characters in "Violet", which is 6.

 

1.20. Which of the following mathematical methods returns only an integer? [1 Mark]
1. Math.ceil(n)
2. Math.sqrt(n)
3. Math.floor(n)
4. Math.round(n)

Answer: Math.round(n)

Teacher's Note:
a) Math.round(float) returns an int and Math.round(double) returns a long.
b) Math.ceil() and Math.floor() always return double values.

 

Q2. [20 Marks]

 

2.1. Write Java expression for: \(\frac{|a + b|}{\sqrt{a^2 + b^2}}\) [2 Marks]

Answer:
Math.abs(a + b) / Math.sqrt(a * a + b * b)

Teacher's Note:
a) Use Math.abs() for absolute value and Math.sqrt() for square root calculations.
b) Ensure proper parentheses placement to maintain correct arithmetic precedence.

 

2.2. Evaluate the expression when x is 4:
x += x + ++* + ++* x %2; [2 Marks]

*(Note: As printed in paper text: x += x + ++* + ++* x %2; interpreted with standard increment operators as x += x + ++x + ++x % 2)

Answer:
Initial value: x = 4
Expression evaluation steps:
x += x + ++x + ++x % 2
x = x + (4 + 5 + (6 % 2))
x = 4 + (4 + 5 + 0) = 13
Final value of x is 13.

Teacher's Note:
a) Pre-increment (++x) updates the variable value immediately before its use in the expression.
b) Operator precedence evaluates modulus (%) before addition and compound assignment last.

 

2.3. Rewrite the following do while program segment using for:
x = 10; y = 20;
do
{
    x++;
    y++;
}while (x<=20);
System.out.println(x*y); [2 Marks]

Answer:
int x, y;
for(x = 10, y = 20; x <= 20; x++, y++);
System.out.println(x * y);

Teacher's Note:
a) A do-while loop can be effectively converted to a for loop by initializing variables in the initialization section.
b) Multiple loop control variables can be updated simultaneously inside the update expression of a for loop.

 

2.4. Give the output of the following program segment. How many times is the loop executed?
for(x=10; x>20; x++)
{
    System.out.println(x);
    System.out.println(x*2);
} [2 Marks]

Answer:
The loop is executed 0 times. There is no output.

Teacher's Note:
a) The condition x > 20 is checked initially when x is 10, which evaluates to false.
b) Since it is an entry-controlled loop, the body does not execute even once.

 

2.5. What is value of x?
String s1="45.50"; String s2="54.50";
double d1=Double.parseDouble(s1);
double d2=Double.parseDouble(s2);
int x=(int)(d1+d2); [2 Marks]

Answer:
d1 = 45.50
d2 = 54.50
d1 + d2 = 100.0
x = 100

Teacher's Note:
a) Double.parseDouble() converts string representations into primitive double values.
b) Explicit casting to (int) truncates the decimal part, resulting in 100.

 

2.6. Consider the following two-dimensional array and answer the questions given below:
int x [ ] [ ] = {{4,3,2}, {7,8,2}, {8,3,10}, {1,2,9}}; [2 Marks]
a. What is the order of the array?
b. What is the value of x [0] [0] + x [2] [2]?

Answer:
a. Order of the array is 4 \times 3 (4 rows and 3 columns).
b. x[0][0] = 4, x[2][2] = 10. Sum = 14.

Teacher's Note:
a) The order of a 2D array is represented as rows \times columns.
b) Array indices start at 0 for both rows and columns.

 

2.7. Differentiate between boxing and unboxing. [2 Marks]

Answer:

BoxingUnboxing
It is the automatic conversion of a primitive data type into its corresponding wrapper class object.It is the automatic conversion of a wrapper class object back into its corresponding primitive data type.
Example: Integer obj = 5;Example: int val = obj;

Teacher's Note:
a) Boxing and unboxing are handled automatically by Java compiler as autoboxing and autounboxing.
b) These mechanisms allow seamless interoperability between primitive types and objects.

 

2.8. The following code to compare two strings is compiled, the following syntax error was displayed - incompatible types - int cannot be converted to boolean.
Identify the statement which has the error and write the correct statement. Give the output of the program segment.
void calculate()
{
    String a="KING",b="KINGDOM";
    boolean x=a.compareTo(b);
    System.out.println(x);
} [2 Marks]

Answer:
Error statement: boolean x = a.compareTo(b);
Correct statement: int x = a.compareTo(b);
Output: -3
*(Note: Official key lists -4 based on length difference calculation logic, but lexicographical length comparison for "KING" and "KINGDOM" yields -3).*

Teacher's Note:
a) compareTo() returns an integer value, so assigning it to a boolean variable causes an incompatible type error.
b) When comparing strings of different lengths where one is a prefix, the method returns the difference in lengths.

 

2.9. Consider the given program and answer the questions given below:
class temp
{
    int a;
    temp()
    {
        a=10;
    }
    temp(int z)
    {
        a=z;
    }
    void print()
    {
        System.out.println(a);
    }
    void main()
    {
        temp t = new temp();
        temp x = new temp(30);
        t.print();
        x.print();
    }
}
a. What concept of OOPs is depicted in the above program with two constructors?
b. What is the output of the method main()? [2 Marks]

Answer:
a. Polymorphism (specifically Constructor Overloading).
b. Output:
10
30

Teacher's Note:
a) Having multiple constructors with different parameter lists in the same class defines constructor overloading.
b) The default constructor initializes a to 10, and the parameterized constructor initializes a to 30.

 

2.10. Primitive data types are built in data types which are a part of the wrapper classes. These wrapper classes are encapsulated in the java.lang package. Non primitive datatypes like Scanner class are a part of the utility package for which an object needs to be created.
a. To which package the Character and Boolean classes belong?
b. Write the statement to access the Scanner class in the program. [2 Marks]

Answer:
a. java.lang package.
b. import java.util.Scanner; (or import java.util.*;)

Teacher's Note:
a) Classes in java.lang are imported implicitly by the Java compiler.
b) External utility classes like Scanner must be explicitly imported using the import statement.

 

SECTION B (60 Marks)

(Answer any four questions from this Section.)

 

Q3. DTDC, a courier company, charges for the courier based on the weight of the parcel. Define a class with the following specifications: [15 Marks]

Class namecourier
Member variablesname - name of the customer
weight - weight of the parcel in kilograms
address - address of the recipient
bill - amount to be paid
type - 'D'- domestic, 'I'- international
Member methodsvoid accept() - to accept the details using the methods of the Scanner class only.
void calculate() - to calculate the bill as per the following criteria:
- First 5 Kgs: Rs. 800 per Kg
- Next 5 Kgs: Rs. 700 per Kg
- Above 10 Kgs: Rs. 500 per Kg
- Additional Rs. 1500 if type is 'I' (International)
void print() - To print the details
void main() - to create an object of the class and invoke the methods

Answer:

import java.util.*;
class courier
{
    String name, address;
    double weight, bill;
    char type;
    public void accept()
    {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter the name of the customer: ");
        name = sc.nextLine();
        System.out.print("Enter the weight of parcel in kilograms: ");
        weight = sc.nextDouble();
        sc.nextLine();
        System.out.print("Enter the address of the recipient: ");
        address = sc.nextLine();
        System.out.print("Enter the type: D for domestic and I for international: ");
        type = sc.next().charAt(0);
    }
    public void calculate()
    {
        if (weight <= 5)
            bill = weight * 800;
        else if (weight <= 10)
            bill = (5 * 800) + ((weight - 5) * 700);
        else
            bill = (5 * 800) + (5 * 700) + ((weight - 10) * 500);
        
        if (type == 'I' || type == 'i')
            bill += 1500;
    }
    public void print()
    {
        System.out.println("Name of the customer: " + name);
        System.out.println("Weight of the parcel: " + weight + " kilograms");
        System.out.println("Address of the recipient: " + address);
        System.out.println("Type of the parcel: " + type);
        System.out.println("Amount to be paid: " + bill);
    }
    public static void main(String arg[])
    {
        courier obj = new courier();
        obj.accept();
        obj.calculate();
        obj.print();
    }
}

Teacher's Note:
a) Slab-based calculations should be implemented using mutually exclusive if-else ladder structures.
b) Clear input buffers when mixing nextLine() with numeric scanner methods like nextDouble().

 

Q4. Define a class to overload the method perform as follows: [15 Marks]

double perform (double r, double h)to calculate and return the value of Curved surface area of cone CSA = \(\pi r l\), where \(l = \sqrt{r^2 + h^2}\)
void perform (int r, int c)Use NESTED FOR LOOP to generate the following format for r = 4, c = 5 output:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
void perform (int m, int n, char ch)to print the quotient of the division of m and n if ch is Q else print the remainder of the division of m and n if ch is R

Answer:

class Overload
{
    double perform(double r, double h)
    {
        double l = Math.sqrt(r * r + h * h);
        double csa = 3.142 * r * l;
        return csa;
    }
    void perform(int r, int c)
    {
        for(int i = 1; i <= r; i++)
        {
            for(int j = 1; j <= c; j++)
            {
                System.out.print(j + " ");
            }
            System.out.println();
        }
    }
    void perform(int m, int n, char ch)
    {
        if(ch == 'Q' || ch == 'q')
            System.out.println("Quotient = " + (m / n));
        else if(ch == 'R' || ch == 'r')
            System.out.println("Remainder = " + (m % n));
        else
            System.out.println("Invalid operation");
    }
}

Teacher's Note:
a) Method overloading requires methods to share the same name but differ in their parameter signatures (number, type, or order of parameters).
b) Nested loops manage grid pattern generation where outer loop controls rows and inner loop controls columns.

 

Q5. Define a class to accept a number from user and check if it is an EvenPal number or not. (The number is said to be EvenPal number when number is palindrome number (a number is palindrome if it is equal to its reverse) and sum of its digits is an even number.)
Example: 121 - is a palindrome number, Sum of the digits: 1 + 2 + 1 = 4 which is an even number. [15 Marks]

Answer:

import java.util.*;
class EvenPal
{
    public static void main(String arg[])
    {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a positive number: ");
        int num = Math.abs(sc.nextInt());
        int rev = 0, sum = 0, temp = num;
        while(temp > 0)
        {
            int r = temp % 10;
            temp = temp / 10;
            rev = rev * 10 + r;
            sum += r;
        }
        if(rev == num && sum % 2 == 0)
            System.out.println("It is an EvenPal number " + num);
        else
            System.out.println("It is not an EvenPal number");
    }
}

Teacher's Note:
a) Palindrome verification requires building the reverse of the number using modulo and division operators.
b) The digit sum condition must be verified simultaneously with palindrome equality to qualify as an EvenPal number.

 

Q6. Define a class to accept values into an integer array of order 4 \times 4 and check whether it is a DIAGONAL array or not. An array is DIAGONAL if the sum of the left diagonal elements equals the sum of the right diagonal elements. Print the appropriate message. [15 Marks]

Answer:

import java.util.*;
class DiagonalArray
{
    public static void main(String arg[])
    {
        Scanner sc = new Scanner(System.in);
        int mat[][] = new int[4][4];
        int i, j;
        System.out.println("Enter the array elements:");
        for(i = 0; i < 4; i++)
        {
            for(j = 0; j < 4; j++)
            {
                mat[i][j] = sc.nextInt();
            }
        }
        int ld = 0, rd = 0;
        for(i = 0; i < 4; i++)
        {
            for(j = 0; j < 4; j++)
            {
                if(i == j)
                    ld += mat[i][j];
                if(i + j == 3)
                    rd += mat[i][j];
            }
        }
        if(ld == rd)
            System.out.println("It is a DIAGONAL array");
        else
            System.out.println("It is not a DIAGONAL array");
    }
}

Teacher's Note:
a) Left diagonal elements satisfy the index condition i == j, while right diagonal elements satisfy i + j == n - 1 (which is 3 for a 4 \times 4 matrix).
b) Double subscripting is necessary to traverse and extract diagonal sums from two-dimensional arrays.

 

Q7. Define a class pin code and store the given pin codes in a single-dimensional array. Sort these pin codes in ascending order using the Selection Sort technique only. Display the sorted array.
110061, 110001, 110029, 110023, 110055, 110006, 110019, 110033 [15 Marks]

Answer:

class SelectionSort
{
    public static void main(String args[])
    {
        int arr[] = {110061, 110001, 110029, 110023, 110055, 110006, 110019, 110033};
        int len = arr.length;
        for(int i = 0; i < len - 1; i++)
        {
            int pos = i;
            for(int j = i + 1; j < len; j++)
            {
                if(arr[pos] > arr[j])
                    pos = j;
            }
            int temp = arr[i];
            arr[i] = arr[pos];
            arr[pos] = temp;
        }
        System.out.println("Array elements after the sorting");
        for(int i = 0; i < len; i++)
        {
            System.out.print(arr[i] + " ");
        }
    }
}

Teacher's Note:
a) Selection sort repeatedly finds the minimum element from the unsorted part and puts it at the beginning.
b) Make sure to strictly use the Selection Sort algorithm as specified, rather than Bubble or Insertion sort.

 

Q8. Define a class to accept the gmail id and check for its validity.
A gmail id is valid only if it has:
- @
- . (dot)
- gmail
- com
Example: icse2024@gmail.com is a valid gmail id. [15 Marks]

Answer:

import java.util.Scanner;
class EmailCheck
{
    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter a valid gmail id");
        String mail = sc.next().trim();
        int c1 = 0, c2 = 0;
        for(int i = 0; i < mail.length(); i++)
        {
            char c = mail.charAt(i);
            if(c == '@')
                c1++;
            if(c == '.')
                c2++;
        }
        if(c1 == 1 && c2 == 1)
        {
            int p = mail.indexOf('@');
            int q = mail.indexOf('.');
            String subdomain = mail.substring(p + 1, q);
            String domain = mail.substring(q + 1);
            if(subdomain.equals("gmail") && domain.equals("com"))
                System.out.println(mail + " is valid gmail id");
            else
                System.out.println(mail + " is an invalid gmail id");
        }
        else
        {
            System.out.println(mail + " is an invalid gmail id");
        }
    }
}

Teacher's Note:
a) String manipulation methods such as indexOf(), substring(), and equals() are essential for validating specific email formats.
b) Checking symbol frequency (exactly one '@' and one '.') prevents structural malformations in input strings.

Free study material for Computer Application

Past Exam Papers & Solutions for Class 10 Computer Applications

Understanding Exam Patterns with ICSE Class 10 Computer Applications Board Exam Question Paper 2024 with Solutions

Access structured past examination sets for Class 10 Computer Applications. Solving the ICSE Class 10 Computer Applications Board Exam Question Paper 2024 with Solutions provided above helps students understand actual exam difficulty levels, question formats, and topic distributions for both descriptive and objective sections.

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

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 2024 with Solutions?

The ICSE Class 10 Computer Applications Board Exam Question Paper 2024 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 2024 with Solutions based on the official ICSE marking scheme?

Yes, the solutions for ICSE Class 10 Computer Applications Board Exam Question Paper 2024 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 2024 with Solutions help in preparing for the 2026 exams?

Solving previous year papers like ICSE Class 10 Computer Applications Board Exam Question Paper 2024 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 2024 with Solutions in different languages?

Yes, where applicable, ICSE Class 10 Computer Applications Board Exam Question Paper 2024 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 2024 with Solutions, are provided free of charge in mobile-friendly PDF.