ICSE Class 10 Computer Applications Sample Paper 2024 with Solutions

Download ICSE Class 10 Computer Applications Sample Papers

Review targeted exam resources with the ICSE Class 10 Computer Applications Sample Paper 2024 with Solutions. Built according to official ICSE standards for the 2026-27 academic year, these downloadable Class 10 Computer Applications sample papers support effective revision and performance tracking.

Access ICSE Sample Papers and Solutions

Access the complete sample paper PDF for Class 10 Computer Applications below. Regular practice with these targeted mock exams builds familiarity with expected question patterns and chapter weightage to help secure higher marks.

SECTION A

 

Question 1 [20 Marks]

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

 

(i) Name the feature of java depicted in the above picture. [1 Mark]
[Figure: An image showing a parent lion labeled 'Father' and a cub lion labeled 'Child']
(a) Encapsulation
(b) Inheritance
(c) Abstraction
(d) Polymorphism

Answer: (b) Inheritance

Inheritance allows a child class to acquire the properties and methods of a parent class, just like a child lion inherits traits from the father.

Teacher's Note:
a) Inheritance represents the is-a relationship between classes.
b) Students often confuse inheritance with encapsulation or polymorphism.

 

(ii) The expression which uses > = operator is known as: [1 Mark]
(a) relational
(b) logical
(c) arithmetic
(d) assignment

Answer: (a) relational

Relational operators like >=, <=, ==, != are used to compare two values and yield a boolean result.

Teacher's Note:
a) Relational operators determine the relationship between operands.
b) Note that the operator in Java is written as >= without any space between the symbols.

 

(iii) Ternary operator is a: [1 Mark]
(a) logical operator
(b) arithmetic operator
(c) relational operator
(d) conditional operator

Answer: (d) conditional operator

The ternary operator (? :) is also known as the conditional operator as it evaluates a boolean expression and executes one of two statements.

Teacher's Note:
a) It is the only operator in Java that takes three operands.
b) It acts as a shorthand for the if-else statement.

 

(iv) When primitive data type is converted to a corresponding object of its class, it is called: [1 Mark]
(a) Boxing
(b) Unboxing
(c) explicit type conversion
(d) implicit type conversion

Answer: (a) Boxing

Boxing (or autoboxing) is the automatic conversion of a primitive type into its corresponding wrapper class object.

Teacher's Note:
a) Unboxing is the reverse process of converting a wrapper object back to a primitive type.
b) These mechanisms facilitate interaction between primitive types and the Collections framework.

 

(v) The number of bytes occupied by a character array of 10 elements. [1 Mark]
(a) 20 bytes
(b) 60 bytes
(c) 40 bytes
(d) 120 bytes

Answer: (a) 20 bytes

A single char data type in Java occupies 2 bytes. Therefore, an array of 10 elements requires 10 × 2 = 20 bytes.

Teacher's Note:
a) Always remember that char in Java is 16-bit Unicode, hence 2 bytes.
b) Students frequently confuse char with char in C/C++ which is 1 byte.

 

(vi) The method of Scanner class used to accept a double value is: [1 Mark]
(a) nextInt()
(b) nextDouble()
(c) next()
(d) nextInteger()

Answer: (b) nextDouble()

nextDouble() is the standard method in the Scanner class to read floating-point numbers of type double.

Teacher's Note:
a) Method names in Java are case-sensitive; ensure correct camel case.
b) nextInt() is used for integers and next() is used for single words.

 

(vii) Among the following which is a keyword: [1 Mark]
(a) every
(b) all
(c) case
(d) each

Answer: (c) case

case is a reserved keyword in Java used in switch-case control structures.

Teacher's Note:
a) Keywords have predefined meanings in Java and cannot be used as identifiers.
b) Options (a), (b), and (d) are ordinary English words and not Java keywords.

 

(viii) The output of Math.round(6.6) + Math.ceil(3.4) is: [1 Mark]
(a) 9.0
(b) 11.0
(c) 10.0
(d) 11

Answer: (b) 11.0

Math.round(6.6) returns 7 (long) and Math.ceil(3.4) returns 4.0 (double). Adding them gives 7 + 4.0 = 11.0.

Teacher's Note:
a) Math.round() returns a long or int, whereas Math.ceil() and Math.floor() always return a double.
b) Mixed arithmetic involving double promotes the result to double.

 

(ix) Name the type of error, if any in the following statement:
System.out.print("HELLO") [1 Mark]

(a) logical
(b) no error
(c) runtime
(d) syntax

Answer: (b) no error

The statement is syntactically and semantically correct; it prints the string HELLO to the standard output.

Teacher's Note:
a) A missing semicolon would cause a syntax error, but here the statement is complete.
b) Students should carefully examine statements for hidden typos before labeling them as erroneous.

 

(x) Java statement to access the 5th element of an array is: [1 Mark]
(a) X[4]
(b) X[5]
(c) X[3]
(d) X[0]

Answer: (a) X[4]

Array indexing in Java starts from 0. Therefore, the 5th element is located at index 4 (5 - 1).

Teacher's Note:
a) Zero-based indexing is a fundamental concept in Java arrays.
b) Accessing X[5] would refer to the 6th element and may cause ArrayIndexOutOfBoundsException.

 

(xi) The output of "Remarkable".substring(6) is: [1 Mark]
(a) mark
(b) emark
(c) marka
(d) able

Answer: (d) able

The substring(beginIndex) method extracts characters from the specified index to the end of the string. Index 6 corresponds to character 'a' in "Remarkable", yielding "able".

Teacher's Note:
a) String indices start at 0: R(0) e(1) m(2) a(3) r(4) k(5) a(6) b(7) l(8) e(9).
b) Passing a single parameter means substring runs till the end of the string.

 

(xii) Which of the following is the wrapper class for the data type char? [1 Mark]
(a) String
(b) Char
(c) Character
(d) Float

Answer: (c) Character

Character is the designated wrapper class for the primitive data type char in Java.

Teacher's Note:
a) Wrapper class names start with uppercase letters (e.g., Integer, Character, Double).
b) Char is invalid; the correct wrapper class name is fully spelled out as Character.

 

(xiii) Name the package that contains wrapper classes: [1 Mark]
(a) java.lang
(b) java.util
(c) java.io
(d) java.awt

Answer: (a) java.lang

The java.lang package is imported implicitly and contains fundamental classes including all numeric wrapper classes and Character.

Teacher's Note:
a) java.lang is automatically available in all Java programs.
b) java.util contains utility classes like Scanner and Random.

 

(xiv) Constructor overloading follows which principle of Object Oriented programming? [1 Mark]
(a) Inheritance
(b) Polymorphism
(c) Abstraction
(d) Encapsulation

Answer: (b) Polymorphism

Constructor overloading is a form of compile-time polymorphism (method overloading) where multiple constructors exist with different signatures.

Teacher's Note:
a) Compile-time polymorphism is achieved through overloading methods and constructors.
b) Runtime polymorphism is achieved through method overriding.

 

(xv) Which of the following is a valid Integer constant:
1. 4
2. 4.0
3. 4.3f
4. "four"
(a) Only 1.
(b) 1. and 3.
(c) 2. and 4.
(d) 1. and 2. [1 Mark]

Answer: (a) Only 1.

4 is an integer constant. 4.0 is a double constant, 4.3f is a float constant, and "four" is a string literal.

Teacher's Note:
a) Integer constants do not contain decimal points or fractional parts.
b) Suffixes like 'f' denote floating-point literals.

 

(xvi) The method compareTo() returns __________ when two strings are equal and in lowercase : [1 Mark]
(a) true
(b) 0
(c) 1
(d) false

Answer: (b) 0

The compareTo() method compares two strings lexicographically and returns 0 if both strings are equal.

Teacher's Note:
a) It returns a negative value if the calling string is lexicographically smaller.
b) It returns a positive value if the calling string is greater.

 

(xvii) Assertion(A): In java statements written in lower case letter or upper case letter are treated as the same.
Reason(R): Java is a case sensitive language. [1 Mark]

(a) Both Assertion (A) and Reason (R) are true and Reason (R) is a correct explanation of Assertion (A)
(b) Both Assertion (A) and Reason (R) are true and Reason (R) is not a correct explanation of Assertion(A)
(c) Assertion (A) is true and Reason (R) is false
(d) Assertion (A) is false and Reason (R) is true

Answer: (d) Assertion (A) is false and Reason (R) is true

Java distinguishes between upper and lower case letters because it is case-sensitive. Therefore, Assertion (A) is false and Reason (R) is true.

Teacher's Note:
a) Case sensitivity means 'Test' and 'test' are treated as two different identifiers.
b) Always read assertion-reason pairs carefully to check factual correctness.

 

(xviii) Read the following text, and choose the correct answer:
A class encapsulate Data Members that contains the information necessary to represent the class and Member methods that perform operations on the data member.
What does a class encapsulate? [1 Mark]

(a) Information and operation
(b) Data members and Member methods
(c) Data members and information
(d) Member methods and operation

Answer: (b) Data members and Member methods

Encapsulation wraps data members (variables) and member methods into a single unit called a class.

Teacher's Note:
a) Encapsulation binds data and functions together.
b) This mechanism protects data from unauthorized access.

 

(xix) Assertion(A): call by value is known as pure method
Reason(R): The original value of variable does not change as operation is performed on copied values. [1 Mark]

(a) Both Assertion (A) and Reason (R) are true and Reason (R) is a correct explanation of Assertion (A)
(b) Both Assertion (A) and Reason (R) are true and Reason (R) is not a correct explanation of Assertion (A)
(c) Assertion (A) is false and Reason (R) is true
(d) Assertion (A) is false and Reason (R) is true

Answer: (c) Assertion (A) is false and Reason (R) is true

Call by value passes copies of variables, leaving original variables unchanged (Reason is true), but the term 'pure method' refers to methods without side effects, making Assertion false.

Teacher's Note:
a) In call by value, changes made to formal parameters do not affect actual parameters.
b) Option (c) correctly identifies the false assertion and true reason.

 

(xx) What Will be the output for:
System.out.print(Character.toLowerCase('1')); [1 Mark]

(a) 0
(b) 1
(c) A
(d) true

Answer: (b) 1

Characters that have no lowercase equivalent, such as digits and symbols, remain unchanged when passed to Character.toLowerCase().

Teacher's Note:
a) Character methods safely return the character itself if no conversion applies.
b) '1' remains '1'.

 

Question 2

(i) Write the Java expression for (p + q)2 [2 Marks]

Answer:
Math.pow((p + q), 2)

Teacher's Note:
a) Math.pow() accepts double parameters and returns a double result.
b) Writing (p + q) * (p + q) is also acceptable.

 

(ii) Evaluate the expression when the value of x = 2:
x = x ++ + ++ x + x [2 Marks]

Answer:
1. Initial value of x = 2.
2. Evaluation breakdown: x++ evaluates to 2 (x becomes 3), ++x increments x to 4 and evaluates to 4, and the final x is 4.
3. Result: 2 + 4 + 4 = 10.

Teacher's Note:
a) Post-increment uses the current value before incrementing.
b) Pre-increment increments the value first before using it in the expression.

 

(iii) The following code segment should print "You can go out" if you have done your homework (dh) and cleaned your room(cr). However, the code has errors.
Fix the code so that it compiles and runs correctly.
boolean dh = True;
boolean cr= true;
if (dh && cr)
System.out.println("You cannot go out");
else
System.out.println("You can go out"); [2 Marks]

Answer:
boolean dh = true;
boolean cr = true;
if (dh && cr)
System.out.println("You can go out");
else
System.out.println("You cannot go out");

Teacher's Note:
a) Boolean literals in Java must be lowercase (true/false).
b) Logic and print statements were swapped in the original snippet.

 

(iv) Sam executes the following program segment and the answer displayed is zero irrespective of any non zero values are given. Name the error. How the program can be modified to get the correct answer?
void triangle(double b, double h)
{ double a;
a = ½ * b * h;
System.out.println("Area="+a); } [2 Marks]

Answer:
1. Error name: Semantic / Logical error.
2. Modification: Replace integer division 1/2 with 0.5 or 1.0/2.0 so that a = 0.5 * b * h;

Teacher's Note:
a) In Java, 1/2 performs integer division resulting in 0.
b) Using floating-point literals resolves the precision issue.

 

(v) How many times will the following loop execute? What value will be returned?
int x=2;
int y=50;
do{
++x;
y-=x++;
}
while(x<=10);
return y; [2 Marks]

Answer:
1. Execution count: 5 times.
2. Returned value: y = 15.

Teacher's Note:
a) Trace each iteration carefully keeping track of x and y updates.
b) Notice the double increment of x due to ++x and x++ inside the loop.

 

(vi) Write the output of the following String methods:
(a) "ARTIFICIAL ".indexOf('I' )
(b) “DOG and PUPPY”. trim().length() [2 Marks]

Answer:
(a) 3
(b) 13

Teacher's Note:
a) indexOf() returns the index of the first occurrence of the specified character.
b) trim() removes leading and trailing spaces before calculating length().

 

(vii) Name any two jump statements. [2 Marks]

Answer:
1. break
2. continue (return is also accepted)

Teacher's Note:
a) Jump statements transfer control unconditionally to another part of the program.
b) break exits a loop or switch, while continue skips the current iteration.

 

(viii) Predict the output of the following code snippet:
String a="20";
String b="23";
int p=Integer.parseInt(a);
int q=Integer.parseInt(b);
System.out.print(a+"*"+b); [2 Marks]

Answer:
20*23

Teacher's Note:
a) Although parsed into integers, variables a and b remain strings in the print statement.
b) The '+' operator performs string concatenation.

 

(ix) When there is no explicit initialization, what are the default values set for variables in the following cases?
(a) Integer variable
(b) String variable [2 Marks]

Answer:
(a) 0
(b) null

Teacher's Note:
a) Default values apply to instance and class variables (fields), not local variables.
b) Numeric primitives default to 0, booleans to false, and object references to null.

 

(x) int P [ ]={ 12,14,16,18}; int Q[ ]={ 20,22,24};
Place all elements of P array and Q array in the array R one after the other.
(a) What will be the size of array R [ ] ?
(b) Write index position of first and last element? [2 Marks]

Answer:
(a) Size of array R is 7.
(b) Index position of first element is 0 and last element is 6.

Teacher's Note:
a) Combined size equals the sum of lengths of P and Q (4 + 3 = 7).
b) Indices always range from 0 to size - 1.

 

SECTION B

(Answer any four questions from this Section.)

 

Question 3 [15 Marks]

Define a class called with the following specifications:
Class name: Eshop
Member variables:
String name: name of the item purchased
double price: Price of the item purchased
Member methods:
void accept(): Accept the name and the price of the item using the methods of Scanner class.
void calculate(): To calculate the net amount to be paid by a customer, based on the following criteria:

PriceDiscount
1000 - 250005.0%
25001 - 570007.5 %
57001 - 10000010.0%
More than 10000015.0 %

void display(): To display the name of the item and the net amount to be paid.
Write the main method to create an object and call the above methods.

Answer:

import java.util.Scanner;
public class Eshop {
    String name;
    double price;
    double netAmount;

    public void accept() {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter item name:");
        name = sc.nextLine();
        System.out.println("Enter price:");
        price = sc.nextDouble();
    }

    public void calculate() {
        double discount = 0.0;
        if (price >= 1000 && price <= 25000) {
            discount = 5.0;
        } else if (price >= 25001 && price <= 57000) {
            discount = 7.5;
        } else if (price >= 57001 && price <= 100000) {
            discount = 10.0;
        } else if (price > 100000) {
            discount = 15.0;
        }
        netAmount = price - (price * discount / 100.0);
    }

    public void display() {
        System.out.println("Item Name: " + name);
        System.out.println("Net Amount to be paid: " + netAmount);
    }

    public static void main(String[] args) {
        Eshop ob = new Eshop();
        ob.accept();
        ob.calculate();
        ob.display();
    }
}

Teacher's Note:
a) Ensure all class variables and methods match the specified names exactly.
b) Net amount is computed by subtracting the discount amount from the original price.

 

Question 4 [15 Marks]

Define a class to accept values in integer array of size 10. Sort them in an ascending order using selection sort technique. Display the sorted array.

Answer:

import java.util.Scanner;
public class SelectionSortDemo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] arr = new int[10];
        System.out.println("Enter 10 integers:");
        for (int i = 0; i < 10; i++) {
            arr[i] = sc.nextInt();
        }

        for (int i = 0; i < 9; i++) {
            int pos = i;
            for (int j = i + 1; j < 10; j++) {
                if (arr[j] < arr[pos]) {
                    pos = j;
                }
            }
            int temp = arr[i];
            arr[i] = arr[pos];
            arr[pos] = temp;
        }

        System.out.println("Sorted array in ascending order:");
        for (int i = 0; i < 10; 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) Verify loop boundaries carefully to avoid ArrayIndexOutOfBoundsException.

 

Question 5 [15 Marks]

Define a class to accept a string and convert it into uppercase. Count and display the number of vowels in it.
Input: robotics
Output: ROBOTICS
Number of vowels: 3

Answer:

import java.util.Scanner;
public class VowelCounter {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter a string:");
        String s = sc.nextLine();
        String upper = s.toUpperCase();
        int count = 0;

        for (int i = 0; i < upper.length(); i++) {
            char ch = upper.charAt(i);
            if (ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U') {
                count++;
            }
        }

        System.out.println("Output: " + upper);
        System.out.println("Number of vowels: " + count);
    }
}

Teacher's Note:
a) Converting the string to uppercase simplifies vowel checking.
b) Vowels are checked against 'A', 'E', 'I', 'O', and 'U'.

 

Question 6 [15 Marks]

Define a class to accept values into a 3×3 array and check if it is a special array. An array is a special array if the sum of the even elements = sum of the odd elements.
Example:
A[][]={{ 4 ,5, 6}, { 5 ,3, 2}, { 4, 2, 5}};
Sum of even elements = 4+6+2+4+2 =18
Sum of odd elements= 5+5+3+5=18

Answer:

import java.util.Scanner;
public class SpecialArray {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[][] a = new int[3][3];
        int evenSum = 0, oddSum = 0;

        System.out.println("Enter elements for 3x3 array:");
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                a[i][j] = sc.nextInt();
                if (a[i][j] % 2 == 0) {
                    evenSum += a[i][j];
                } else {
                    oddSum += a[i][j];
                }
            }
        }

        System.out.println("Sum of even elements = " + evenSum);
        System.out.println("Sum of odd elements = " + oddSum);

        if (evenSum == oddSum) {
            System.out.println("It is a special array.");
        } else {
            System.out.println("It is not a special array.");
        }
    }
}

Teacher's Note:
a) Nested loops are required to traverse 2D arrays completely.
b) Modulo operator (% 2 == 0) accurately distinguishes even numbers from odd numbers.

 

Question 7 [15 Marks]

Define a class to accept a 3 digit number and check whether it is a duck number or not.
Note: A number is a duck number if it has zero in it
Example 1:
Input: 2083
Output: Invalid
Example 2:
Input: 103
Output: Duck number

Answer:

import java.util.Scanner;
public class DuckNumber {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter a number:");
        int n = sc.nextInt();

        if (n < 100 || n > 999) {
            System.out.println("Invalid");
        } else {
            int temp = n;
            boolean isDuck = false;
            while (temp > 0) {
                if (temp % 10 == 0) {
                    isDuck = true;
                    break;
                }
                temp /= 10;
            }

            if (isDuck) {
                System.out.println("Duck number");
            } else {
                System.out.println("Not a duck number");
            }
        }
    }
}

Teacher's Note:
a) The input validation ensures the number is strictly a 3-digit number (100 to 999).
b) A duck number contains at least one zero digit.

 

Question 8 [15 Marks]

Define a class to overload the method display as follows:
void display(): To print the following format using nested loop
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
void display(int n): To print the square root of each digit of the given number
Example: n = 4329
output - 3.0
 1.414213562
 1.732050808
 2.0

Answer:

public class OverloadDisplay {
    public void display() {
        for (int i = 1; i <= 5; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(j + " ");
            }
            System.out.println();
        }
    }

    public void display(int n) {
        String s = Integer.toString(n);
        for (int i = 0; i < s.length(); i++) {
            int d = s.charAt(i) - '0';
            System.out.println(Math.sqrt(d));
        }
    }
}

Teacher's Note:
a) Method overloading requires methods in the same class to have the same name but different parameter lists.
b) Extracting digits via String conversion preserves the left-to-right order of digits in the given number.

Free study material for Computer Application

Download ICSE Sample Papers: Class 10 Computer Applications

Get Started with ICSE Class 10 Computer Applications Sample Paper 2024 with Solutions (ICSE)

Explore downloadable sample sets for Class 10 Computer Applications. Utilizing the ICSE Class 10 Computer Applications Sample Paper 2024 with Solutions allows learners to gauge exam readiness and master official ICSE assessment structures.

Why Practice Class 10 Computer Applications Sample Papers?

  • Exam Blueprint: Understand mark allocations and structural guidelines relevant to Class 10 evaluations.
  • Targeted Improvement: Identify weak areas in Class 10 Computer Applications requiring focused revision.
  • Pacing & Precision: Practice mixed question formats to build execution speed and ensure timely paper completion.

Steps to Follow After Completing ICSE Class 10 Computer Applications Sample Paper 2024 with Solutions

  1. Self-Evaluation: Score your answers using official guidance to track your academic progress.
  2. Mistake Correction: Class 10 pupils must re-solve questions answered incorrectly to master the correct method.
  3. Continuous Practice: Take additional Computer Applications sample modules online to maximize preparedness for ICSE evaluations.

FAQs

Where can I download the PDF for ICSE Class 10 Computer Applications Sample Paper 2024 with Solutions?

You can download the complete PDF for ICSE Class 10 Computer Applications Sample Paper 2024 with Solutions for free from StudiesToday.com. Our resources for Class 10 Computer Applications are updated for the latest academic session and follow the official exam pattern.

Are solutions provided for ICSE Class 10 Computer Applications Sample Paper 2024 with Solutions?

Yes, ICSE Class 10 Computer Applications Sample Paper 2024 with Solutions comes with detailed, teacher-verified solutions. We have provided step-by-step answers for Computer Applications to help students of Class 10 understand correct methodology and marking scheme.

How can practicing ICSE Class 10 Computer Applications Sample Paper 2024 with Solutions help in exam preparation?

Practicing this Computer Applications paper helps in time management and identifying important topics. For Class 10, solving mock papers is the best way to gain confidence and reduce exam-day anxiety.

Is the ICSE Class 10 Computer Applications Sample Paper 2024 with Solutions accessible on mobile and tablets?

Yes, all our study materials for Class 10 Computer Applications are provided in a mobile-friendly PDF format. You can easily download ICSE Class 10 Computer Applications Sample Paper 2024 with Solutions on your mobile device.