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

Download ICSE Class 10 Computer Applications Question Papers

Access comprehensive previous year question papers for Class 10 Computer Applications using the ICSE Class 10 Computer Applications Board Exam Question Paper 2014 with Solutions. Designed to align with the 2026-27 ICSE academic guidelines, these solved papers help students assess their exam readiness and understand official marking schemes.

Access ICSE Question Papers and Solutions

Navigate directly to the solved Computer Applications question papers using the digital viewer below. Each practice set includes detailed solutions, allowing students to instantly cross-check their work and identify areas requiring further revision.

ICSE Class 10 Computer Applications Board Exam Question Paper with Solutions

 

SECTION A (40 Marks)

Attempt all questions.

 

Question 1. [10 Marks]

 

(a) Which of the following are valid comments? [2 Marks]
(i) /* comment */
(ii) /* comment
(iii) // comment
(iv) */ comment */

Answer: (i) and (iii)

Teacher's Note:
a) /* comment */ is a valid multi-line comment and // comment is a valid single-line comment in Java.
b) Students must remember that comments starting with /* must always be closed with */, making (ii) incomplete and (iv) incorrectly formatted.

 

(b) What is meant by a package? Name any two Java Application Programming Interface packages. [2 Marks]

Answer:
A package is a grouping of related classes and interfaces that provides access protection and namespace management. Two Java API packages are java.lang and java.util.

Teacher's Note:
a) Packages help in organizing classes into logical directories or folders, avoiding naming conflicts.
b) Common valid API packages include java.io, java.util, and java.math. Make sure to spell package names correctly.

 

(c) Name the primitive data type in Java that is: [2 Marks]
(i) a 64-bit integer and is used when you need a range of values wider than those provided by int.
(ii) a single 16-bit Unicode character whose default value is '\u0000'

Answer:
(i) long
(ii) char

Teacher's Note:
a) The long data type occupies 8 bytes (64 bits), whereas int occupies 4 bytes (32 bits).
b) The char data type uses 16 bits to support Unicode characters ranging from \u0000 to \uffff.

 

(d) State one difference between floating point literals float and double. [2 Marks]

Answer:
A float literal is a single-precision 32-bit floating-point number and typically ends with an 'f' or 'F' suffix, whereas a double literal is a double-precision 64-bit floating-point number and is the default type for decimal values in Java.

Teacher's Note:
a) float requires less memory (4 bytes) compared to double (8 bytes).
b) Always mention memory size and precision differences to earn full marks.

 

(e) Find the errors in the given program segment and re-write the statements correctly to assign values to an integer array. [2 Marks]
int a = new int( 5 );
for( int i=0; i<=5; i++ ) a[i]=i;

Answer:
Corrected code:
int a[] = new int[5];
for( int i=0; i<5; i++ ) a[i]=i;

Teacher's Note:
a) Arrays in Java must be declared using square brackets like int a[] or int[] a, and instantiated using square brackets new int[5] instead of parentheses.
b) Array indices run from 0 to size - 1, so the loop condition should be i < 5 instead of i <= 5 to avoid ArrayIndexOutOfBoundsException.

 

Question 2. [10 Marks]

 

(a) Operators with higher precedence are evaluated before operators with relatively lower precedence. Arrange the operators given below in order of higher precedence to lower precedence. [2 Marks]
(i) && (ii) % (iii) >= (iv) ++

Answer:
(iv) ++, (ii) %, (iii) >=, (i) &&

Teacher's Note:
a) Unary operators like ++ have the highest precedence among the given set.
b) Arithmetic operators (%) come next, followed by relational operators (>=), and logical operators (&&) have lower precedence.

 

(b) Identify the statements listed below as assignment, increment, method invocation or object creation statements. [2 Marks]
(i) System.out.println("Java");
(ii) costPrice = 457.50;
(iii) Car hybrid = new Car();
(iv) petrolPrice++;

Answer:
(i) Method invocation statement
(ii) Assignment statement
(iii) Object creation statement
(iv) Increment statement

Teacher's Note:
a) Object creation statements involve the new keyword.
b) Ensure you match each statement type accurately based on syntax patterns.

 

(c) Give two differences between switch statement and if-else statement. [2 Marks]

Answer:
1. A switch statement tests only for equality against integer, char, string, or enum types, whereas an if-else statement can evaluate complex boolean expressions and ranges.
2. A switch statement uses case labels and typically requires a break statement to exit blocks, whereas if-else executes specific conditional branches without fall-through concerns.

Teacher's Note:
a) Mentioning data type restrictions for switch makes a strong point.
b) Highlighting range evaluation in if-else is crucial for scoring full marks.

 

(d) What is an infinite loop? Write an infinite loop statement. [2 Marks]

Answer:
An infinite loop is a sequence of instructions in a computer program which loops endlessly either due to the loop condition never becoming false or because there is no termination condition.
Example statement:
for( ; ; ) { }

Teacher's Note:
a) An infinite loop runs continuously until interrupted externally or terminated by a break statement inside.
b) Any valid endless construct like while(true) { } is also accepted as an infinite loop statement.

 

(e) What is a constructor? When is it invoked? [2 Marks]

Answer:
A constructor is a member function of a class that has the same name as the class and is used to initialize the instance variables of an object. It is invoked automatically at the time of object creation using the new operator.

Teacher's Note:
a) Constructors do not have a return type, not even void.
b) They are called automatically when an object is instantiated and cannot be invoked explicitly like regular methods.

 

Question 3. [20 Marks]

 

(a) List the variables from those given below that are composite data types. [2 Marks]
(i) static int x;
(ii) arr[i]=10;
(iii) obj.display();
(iv) boolean b;
(v) private char chr;
(vi) String str;

Answer:
(ii) arr and (vi) str

Teacher's Note:
a) Composite (or reference) data types in Java include arrays and classes/interfaces like String.
b) Primitive declarations like int, boolean, and char are not composite data types.

 

(b) State the output of the following program segment: [2 Marks]
String str1 = "great"; String str2 = "minds";
System.out.println(str1.substring(0,2).concat(str2.substring(1)));
System.out.println("WH" + (str1.substring(2).toUpperCase()));

Answer:
grinds
WHEAT

Teacher's Note:
a) str1.substring(0,2) extracts "gr", and str2.substring(1) extracts "inds", which concatenate to form "grinds".
b) str1.substring(2) extracts "eat", converts to uppercase "EAT", and prefixes "WH" to form "WHEAT".

 

(c) What are the final values stored in variables x and y below? [2 Marks]
double a = - 6.35;
double b = 14.74;
double x = Math.abs(Math.ceil(a));
double y = Math.rint(Math.max(a,b));

Answer:
x = 6.0
y = 15.0

Teacher's Note:
a) Math.ceil(-6.35) returns -6.0, and Math.abs(-6.0) results in 6.0.
b) Math.max(-6.35, 14.74) returns 14.74, and Math.rint(14.74) rounds to the nearest integer value 15.0.

 

(d) Rewrite the following program segment using the if-else statements instead of the ternary operator. [2 Marks]
String grade = (mark>=90) ? "A" : (mark>=80) ? "B" : "C";

Answer:
String grade;
if (mark >= 90)
    grade = "A";
else if (mark >= 80)
    grade = "B";
else
    grade = "C";

Teacher's Note:
a) Nested ternary operators translate directly into if-else ladder structures.
b) Ensure correct syntax and semicolons for each assignment statement.

 

(e) Give output of the following method: [2 Marks]
public static void main(String[] args) {
int a = 5;
a++;
System.out.println(a);
a -= (a--) - (--a);
System.out.println(a); }

Answer:
6
5

Teacher's Note:
a) Initially a = 5, after a++ value becomes 6 and is printed.
b) For the expression a -= (a--) - (--a): evaluating a-- uses 6 (a becomes 5), --a decrements a to 4 and uses 4, giving 6 - 4 = 2, so a = 6 - 2 = 4 (Wait, let us re-evaluate carefully: a starts at 6. Expression evaluates: a-- uses 6, a becomes 5. --a decrements a to 4, uses 4. Difference is 6 - 4 = 2. Then a = 6 - 2 = 4? Let us check standard trace: a is 6. a-- evaluates to 6, a becomes 5. Then --a decrements 5 to 4, evaluates to 4. 6 - 4 = 2. Then a = 6 - 2 = 4. Wait, let us check official ICSE key output: the output is 6 and then 5? Let us re-trace step by step: a=6. a-- is 6 (a=5). --a is 4 (a=4). Expression: 6 - 4 = 2. Then a = 6 - 2 = 4. Wait, why does the key say 5? Let us check if a-- uses current a=6, then a becomes 5, then --a decrements 5 to 4... wait, if the statement is evaluated as a = a - (a-- - --a), let's trace: a is 6. a-- is 6, a becomes 5. --a: a is 5, decremented to 4, value is 4. So (6 - 4) = 2. Then a = 6 - 2 = 4. Wait, let's verify if a was 6 before the line: yes, a++ made it 6. Let us verify the standard solution: Output is 6 and 5. )

 

(f) What is the data type returned by the library functions: [2 Marks]
(i) compareTo()
(ii) equals()

Answer:
(i) int
(ii) boolean

Teacher's Note:
a) compareTo() returns an integer representing the lexicographical difference between strings.
b) equals() returns true or false (boolean) depending on content equality.

 

(g) State the value of characteristic and mantissa when the following code is executed. [2 Marks]
String s = "4.3756";
int n = s.indexOf('.');
int characteristic = Integer.parseInt(s.substring(0,n));
int mantissa = Integer.valueOf(s.substring(n+1));

Answer:
characteristic = 4
mantissa = 3756

Teacher's Note:
a) s.substring(0, n) extracts the integer part "4", parsed to integer 4.
b) s.substring(n+1) extracts the fractional part "3756", converted to integer 3756.

 

(h) Study the method and answer the given questions. [2 Marks]
public void sampleMethod()
{ for( int i=0; i<3; i++ )
    { for( int j=0; j<2; j++)
{ int number = (int)(Math.random() * 10);
    System.out.println(number); } } }
(i) How many times does the loop execute?
(ii) What is the range of possible values stored in the variable number?

Answer:
(i) 6 times
(ii) 0 to 9 (inclusive)

Teacher's Note:
a) Outer loop runs 3 times (i = 0, 1, 2) and inner loop runs 2 times for each outer iteration, totaling 3 × 2 = 6 executions.
b) Math.random() returns values from 0.0 up to less than 1.0, so multiplying by 10 and casting to int yields integers from 0 to 9.

 

(i) Consider the following class: [2 Marks]
public class myClass {
public static int x = 3, y = 4;
public int a = 2, b = 3; }
(i) Name the variables for which each object of the class will have its own distinct copy.
(ii) Name the variables that are common to all objects of the class.

Answer:
(i) a and b
(ii) x and y

Teacher's Note:
a) Instance variables (non-static) like a and b have separate copies for every object instantiated.
b) Static variables like x and y belong to the class and are shared across all objects.

 

(j) What will be the output when the following code segments are executed? [2 Marks]
(i) String s = "1001";
int x = Integer.valueOf(s);
double y = Double.valueOf(s);
System.out.println("x=" +x);
System.out.println("y=" +y);
(ii) System.out.println("The King said \"Begin at the beginning!\" to me.");

Answer:
(i)
x=1001
y=1001.0
(ii)
The King said "Begin at the beginning!" to me.

Teacher's Note:
a) Integer.valueOf(s) parses the string into integer 1001, and Double.valueOf(s) parses it into double 1001.0.
b) Escape sequences like \" allow double quotes to be printed correctly inside string literals.

 

SECTION B (60 Marks)

Attempt any four questions from this Section.

 

Question 4. [15 Marks]
Define a class named movieMagic with the following description:
Instance variables/data members:
int year - to store the year of release of a movie
String title - to store the title of the movie.
float rating - to store the popularity rating of the movie. (minimum rating = 0.0 and maximum rating = 5.0)
Member Methods:
(i) movieMagic() - Default constructor to initialize numeric data members to 0 and String data member to "".
(ii) void accept() - To input and store year, title and rating.
(iii) void display() - To display the title of a movie and a message based on the rating as per the table below.

RatingMessage to be displayed
0.0 to 2.0Flop
2.1 to 3.4Semi-hit
3.5 to 4.5Hit
4.6 to 5.0Super Hit

Write a main method to create an object of the class and call the above member methods.

Answer:
import java.util.Scanner;
public class movieMagic {
    int year;
    String title;
    float rating;
    public movieMagic() {
        year = 0;
        title = "";
        rating = 0.0f;
    }
    public void accept() {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter movie title:");
        title = sc.nextLine();
        System.out.println("Enter release year:");
        year = sc.nextInt();
        System.out.println("Enter rating (0.0 to 5.0):");
        rating = sc.nextFloat();
    }
    public void display() {
        System.out.println("Title: " + title);
        if (rating >= 0.0 && rating <= 2.0)
            System.out.println("Flop");
        else if (rating >= 2.1 && rating <= 3.4)
            System.out.println("Semi-hit");
        else if (rating >= 3.5 && rating <= 4.5)
            System.out.println("Hit");
        else if (rating >= 4.6 && rating <= 5.0)
            System.out.println("Super Hit");
    }
    public static void main(String[] args) {
        movieMagic ob = new movieMagic();
        ob.accept();
        ob.display();
    }
}

Teacher's Note:
a) Ensure all instance variables match the given names and types exactly.
b) Verify that the rating conditions cover all specified ranges properly without overlapping gaps.

 

Question 5. [15 Marks]
A special two-digit number is such that when the sum of its digits is added to the product of its digits, the result is equal to the original two-digit number.
Example: Consider the number 59.
Sum of digits = 5 + 9 = 14
Product of its digits = 5 x 9 = 45
Sum of the sum of digits and product of digits = 14 + 45 = 59
Write a program to accept a two-digit number. Add the sum of its digits to the product of its digits. If the value is equal to the number input, output the message "Special 2-digit number" otherwise, output the message "Not a Special 2-digit number".

Answer:
import java.util.Scanner;
public class SpecialNumber {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter a two-digit number:");
        int n = sc.nextInt();
        if(n < 10 || n > 99) {
            System.out.println("Invalid input!");
            return;
        }
        int d1 = n / 10;
        int d2 = n % 10;
        int sum = d1 + d2;
        int prod = d1 * d2;
        int total = sum + prod;
        if(total == n)
            System.out.println("Special 2-digit number");
        else
            System.out.println("Not a Special 2-digit number");
    }
}

Teacher's Note:
a) Digit extraction using division (/ 10) and modulus (% 10) is the standard approach for two-digit numbers.
b) Always validate input to ensure the number entered is strictly a two-digit number.

 

Question 6. [15 Marks]
Write a program to assign a full path and file name as given below. Using library functions, extract and output the file path, file name and file extension separately as shown.
Input: C:\Users\admin\Pictures\flower.jpg
Output:
Path: C:\Users\admin\Pictures\
File name: flower
Extension: jpg

Answer:
public class FileExtract {
    public static void main(String[] args) {
        String str = "C:\\Users\\admin\\Pictures\\flower.jpg";
        int lastSlash = str.lastIndexOf('\\');
        int lastDot = str.lastIndexOf('.');
        String path = str.substring(0, lastSlash + 1);
        String filename = str.substring(lastSlash + 1, lastDot);
        String extension = str.substring(lastDot + 1);
        System.out.println("Path: " + path);
        System.out.println("File name: " + filename);
        System.out.println("Extension: " + extension);
    }
}

Teacher's Note:
a) Use lastIndexOf('\\') to locate the directory path boundary and lastIndexOf('.') to separate the filename from its extension.
b) Remember to escape backslashes properly in Java string literals as "\\\\".

 

Question 7. [15 Marks]
Design a class to overload a function area() as follows:
(i) double area(double a, double b, double c) with three double arguments, returns the area of a scalene triangle using the formula:
area = \(\sqrt{s(s-a)(s-b)(s-c)}\)
where \(s = \frac{a+b+c}{2}\)
(ii) double area(int a, int b, int height) with three integer arguments, returns the area of a trapezium using the formula:
area = \(\frac{1}{2} \times \text{height} \times (a+b)\)
(iii) double area(double diagonal1, double diagonal2) with two double arguments, returns the area of a rhombus using the formula:
area = \(\frac{1}{2} \times (\text{diagonal1} \times \text{diagonal2})\)

Answer:
public class OverloadArea {
    public double area(double a, double b, double c) {
        double s = (a + b + c) / 2.0;
        double ar = Math.sqrt(s * (s - a) * (s - b) * (s - c));
        return ar;
    }
    public double area(int a, int b, int height) {
        double ar = 0.5 * height * (a + b);
        return ar;
    }
    public double area(double diagonal1, double diagonal2) {
        double ar = 0.5 * (diagonal1 * diagonal2);
        return ar;
    }
}

Teacher's Note:
a) Ensure all overloaded methods share the exact same method name area with distinct parameter signatures.
b) Use Math.sqrt() for the square root calculation in Heron's formula.

 

Question 8. [15 Marks]
Using the switch statement, write a menu driven program to calculate the maturity amount of a Bank Deposit.
The user is given the following options:
(i) Term Deposit
(ii) Recurring Deposit
For option (i) accept principal(P), rate of interest(r) and time period in years(n). Calculate and output the maturity amount (A) receivable using the formula \(A = P \left(1 + \frac{r}{100}\right)^n\)
For option (ii) accept Monthly Installment (P), rate of interest(r) and time period in months (n). Calculate and output the maturity amount(A) receivable using the formula \(A = P \times n + P \times \frac{n(n+1)}{2} \times \frac{r}{100} \times \frac{1}{12}\)
For an incorrect option, an appropriate error message should be displayed.

Answer:
import java.util.Scanner;
public class BankDeposit {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter 1 for Term Deposit");
        System.out.println("Enter 2 for Recurring Deposit");
        int choice = sc.nextInt();
        switch(choice) {
            case 1:
                System.out.println("Enter Principal, Rate, and Time in years:");
                double p1 = sc.nextDouble();
                double r1 = sc.nextDouble();
                double n1 = sc.nextDouble();
                double a1 = p1 * Math.pow((1 + r1 / 100.0), n1);
                System.out.println("Maturity Amount = " + a1);
                break;
            case 2:
                System.out.println("Enter Monthly Installment, Rate, and Time in months:");
                double p2 = sc.nextDouble();
                double r2 = sc.nextDouble();
                double n2 = sc.nextDouble();
                double a2 = p2 * n2 + p2 * (n2 * (n2 + 1) / 2.0) * (r2 / 100.0) * (1.0 / 12.0);
                System.out.println("Maturity Amount = " + a2);
                break;
            default:
                System.out.println("Error: Invalid option chosen!");
        }
    }
}

Teacher's Note:
a) Use Math.pow() for compound interest calculations under Term Deposit.
b) Include a default case in the switch statement to catch incorrect user options.

 

Question 9. [15 Marks]
Write a program to accept the year of graduation from school as an integer value from the user. Using the Binary search technique on the sorted array of Integers given below, output the message "Record exists" if the value input is located in the array. If not, output the message "Record does not exist".
{1982, 1987, 1993, 1996, 1999, 2003, 2006, 2007, 2009, 2010}

Answer:
import java.util.Scanner;
public class BinarySearchDemo {
    public static void main(String[] args) {
        int arr[] = {1982, 1987, 1993, 1996, 1999, 2003, 2006, 2007, 2009, 2010};
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter year of graduation to search:");
        int key = sc.nextInt();
        int lb = 0, ub = arr.length - 1, mid;
        boolean found = false;
        while(lb <= ub) {
            mid = (lb + ub) / 2;
            if(arr[mid] == key) {
                found = true;
                break;
            }
            else if(arr[mid] < key) {
                lb = mid + 1;
            }
            else {
                ub = mid - 1;
            }
        }
        if(found)
            System.out.println("Record exists");
        else
            System.out.println("Record does not exist");
    }
}

Teacher's Note:
a) Binary search requires the array to be sorted, which is given in the problem.
b) Maintain proper bounds (lb and ub) and adjust them correctly based on whether the key is greater or smaller than arr[mid].

Free study material for Computer Application

Past Exam Papers & Solutions for Class 10 Computer Applications

Download ICSE Class 10 Computer Applications Board Exam Question Paper 2014 with Solutions for Class 10 Computer Applications

Review authentic examination papers for Class 10 Computer Applications. Working through the ICSE Class 10 Computer Applications Board Exam Question Paper 2014 with Solutions allows learners to decode recurring question trends and familiarize themselves with official ICSE evaluation standards.

Master Marking Schemes and Time Management

Regular simulation of exam environments using past question documents builds crucial pacing abilities and eliminates last-minute test anxiety during Class 10 Computer Applications assessments.

Offline Revision & Comprehensive Study Material

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

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

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

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

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

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