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

Official ICSE Exam Papers for Class 10 Computer Applications

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

Solved Previous Year Papers for Computer Applications

View or download the dedicated ICSE Class 10 Computer Applications Board Exam Question Paper 2016 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 2016

 

SECTION A (40 Marks)

 

Question 1:

(a) Define Encapsulation. [2 Marks]

Answer:
Encapsulation is the process of wrapping code and data together into a single unit (called class).

Teacher's Note:
a) Encapsulation is one of the foundational pillars of Object-Oriented Programming that binds together code and the data it manipulates.
b) Students must mention the wrapping of data members and member methods inside a class to score full marks.

 

(b) What are keywords ? Give an example. [2 Marks]

Answer:
Keywords are reserved words in Java, which have a special meaning in the language.
Example: if, void, int etc.

Teacher's Note:
a) Keywords are predefined identifiers in Java and cannot be used as variable names or identifiers in programs.
b) Always provide a correct valid example such as 'int', 'for', or 'class' when asked.

 

(c) Name any two library packages. [2 Marks]

Answer:
1. java.io
2. java.util

Teacher's Note:
a) Library packages are collections of related classes and interfaces provided by the Java API.
b) Other valid examples include java.lang, java.math, and java.net.

 

(d) Name the type of error ( syntax, runtime or logical error) in each case given below: [2 Marks]
(i) Math.sqrt (36 – 45)
(ii) int a;b;c;

Answer:
(i) logical error
(ii) syntax error

Teacher's Note:
a) Math.sqrt(36 - 45) passes a negative number to the square root function, resulting in NaN at runtime due to flawed logic, making it a logical error. Multiple declarations separated by semicolons improperly instead of commas cause a compilation/syntax error.
b) Be precise in identifying whether the error is caught during compilation (syntax) or execution (runtime/logical).

 

(e) If int x [ ] = { 4, 3,7, 8, 9,10}; what are the values of p and q ? [2 Marks]
(i) p = x.length
(ii) q = x[2] + x[5] * x[1]

Answer:
(i) Value of p is 6.
(ii) q = x[2] + x[5] * x[1]
= 7 + 10 * 3
= 7 + 30 = 37
Value of q is 37.

Teacher's Note:
a) Array indexing in Java starts from 0, so x[0]=4, x[1]=3, x[2]=7, x[3]=8, x[4]=9, x[5]=10.
b) Always follow operator precedence (multiplication before addition) when evaluating expressions involving array elements.

 

Question 2:

(a) State the difference between == operator and equals ( ) method. [2 Marks]

Answer:

== operatorequals ( ) method
It is a relational operator.It is a method of String class.
It checks for equality of primitive type of values (or reference equality for objects).It checks for equality of two string type of values based on content.

Teacher's Note:
a) The == operator compares memory references for objects and actual values for primitives.
b) The equals() method is specifically used to compare the actual character contents of string objects.

 

(b) What are the types of casting shown by the following examples: [2 Marks]
(i) char c = (char) 120;
(ii) int x = ‘t’;

Answer:
(i) Explicit type conversion
(ii) Implicit type conversion

Teacher's Note:
a) Explicit type conversion (narrowing or casting) requires a cast operator, whereas implicit type conversion (widening) is done automatically by the compiler.
b) Assigning a char literal to an integer variable automatically promotes the character to its ASCII integer value.

 

(c) Differentiate between formal parameter and actual parameter. [2 Marks]

Answer:

Formal parameterActual parameter
They are variables defined in function signature.They are values or expressions given to the function at the time of function call.
They receive value from actual parameter.They give values to formal parameters.

Teacher's Note:
a) Formal parameters appear in the method header declaration, while actual parameters appear in the method invocation statement.
b) Ensure proper data type matching between actual and formal parameters during function calls.

 

(d) Write a function prototype of the following: [2 Marks]
A function PosChar which takes a string argument and a character argument and returns an integer value.

Answer:
int PosChar(String str, char ch)

Teacher's Note:
a) A function prototype consists of the return type, function name, and parameter list enclosed in parentheses, terminated with a semicolon.
b) Ensure proper capitalization of data types like 'String' and primitive types like 'int' and 'char'.

 

(e) Name any two types of access specifiers. [2 Marks]

Answer:
1. public
2. private

Teacher's Note:
a) Access specifiers control the visibility and accessibility of classes, methods, and variables.
b) Another valid access specifier in Java is 'protected' (along with default/package-private access).

 

Question 3:

(a) Give the output of the following string functions: [2 Marks]
(i) "MISSISSIPPI".indexOf('S') + "MISSISSIPPI".lastIndexOf('I')
(ii) "CABLE".compareTo("CADET")

Answer:
(i) 12
(ii) -3

Teacher's Note:
a) In "MISSISSIPPI", the first 'S' is at index 2, and the last 'I' is at index 10. Thus, 2 + 10 = 12.
b) compareTo compares strings lexicographically. Comparing 'B' (ASCII 66) and 'D' (ASCII 68) at index 2 gives 66 - 68 = -3.

 

(b) Give the output of the following Math functions: [2 Marks]
(i) Math.ceil(4.2)
(ii) Math.abs(-4)

Answer:
(i) 5.0
(ii) 4

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 (returns double).
b) Math.abs() returns the absolute value of the argument, matching the argument's data type.

 

(c) What is a parameterized constructor ? [2 Marks]

Answer:
Parameterized Constructor: It is a constructor which accepts parameters. When an object is declared using a parameterized constructor, the initial values have to be passed as arguments to the constructor.

Teacher's Note:
a) Parameterized constructors allow passing custom initial values to instance variables at the time of object creation.
b) They have the same name as the class and no return type, just like default constructors.

 

(d) Write down java expression for: [2 Marks]
[Figure: T = \sqrt{A^2 + B^2 + C^2}]

Answer:
T = Math.sqrt(A * A + B * B + C * C);

Teacher's Note:
a) Use Math.sqrt() for square root operations and multiplication for squaring variables.
b) Ensure all variable names match the expression given in the question.

 

(e) Rewrite the following using ternary operator: [2 Marks]
if (x%2 == 0)
System.out.print("EVEN");
else
System.out.print("ODD");

Answer:
String k;
k = x%2 == 0 ? "EVEN" : "ODD";
System.out.print(k);

Teacher's Note:
a) The ternary operator (? :) is a shorthand notation for if-else statements.
b) Alternatively, you can directly write System.out.print(x%2 == 0 ? "EVEN" : "ODD"); to achieve the same result in a single line.

 

(f) Convert the following while loop to the corresponding for loop: [2 Marks]
int m = 5, n = 10;
while (n>=1)
{
System.out.println(m*n);
n--;
}

Answer:
for (int m = 5, n = 10; n >= 1; n --)
{
    System.out.println(m * n);
}

Teacher's Note:
a) A for loop combines initialization, condition checking, and update/increment-decrement statements in a single line header.
b) Ensure variables initialized outside are appropriately placed or declared in the initialization section of the for loop header.

 

(g) Write one difference between primitive data types and composite data types. [2 Marks]

Answer:

Primitive data typesComposite data types
They are predefined or inbuilt data types provided by Java.These data types are defined by the user and made up of primitive data type values.
Examples: int, byte, long, short, char, float, double, boolean.Examples: Array, class, interface.

Teacher's Note:
a) Primitive types hold raw values directly in memory, while composite/reference types store memory addresses pointing to objects.
b) Always provide examples alongside definitions for complete clarity.

 

(h) Analyze the given program segment and answer the following questions: [2 Marks]
for (int m=5; m<=20; m+=5)
{     if (m%3==0)
        break;
    else
    if (m%5==0)
    System.out.println(m);
    continue;
}
(i) Write the output of the program segment.
(ii) How many times does the body of the loop gets executed ?

Answer:
(i) Output:
5
10
(ii) 3 times

Teacher's Note:
a) When m = 5, it prints 5. When m = 10, it prints 10. When m = 15, m%3 == 0 evaluates to true, executing break which terminates the loop.
b) The loop body executes for m = 5, m = 10, and m = 15, hence exactly 3 times.

 

(i) Give the output of the following expression: [2 Marks]
a+= a++ + ++a + --a + a -- ; when a = 7

Answer:
a = a + (a++ + ++a + --a + a--)
= 7 + (7 + 9 + 8 + 8)
= 7 + 32 = 39

Teacher's Note:
a) Trace step-by-step: initial a = 7. Evaluation of terms: a++ yields 7 (a becomes 8), ++a increments to 9 and yields 9, --a decrements to 8 and yields 8, a-- yields 8 (a becomes 7).
b) Sum of evaluated terms = 7 + 9 + 8 + 8 = 32. Adding initial a (7) gives 39.

 

(j) Write the return type of the following library functions: [2 Marks]
(i) isLetterOrDigit(char)
(ii) replace(char, char)

Answer:
(i) boolean
(ii) char

Teacher's Note:
a) Character.isLetterOrDigit() checks if a character is a letter or digit, returning true or false (boolean).
b) Character.replace() replaces occurrences of characters and returns the modified character/string depending on context, or char in standard wrapper method context.

 

SECTION B (60 Marks)

Attempt any four questions from this Section.

 

Question 4:
Define a class named Book Fair with the following description: [15 Marks]
Instance variables/Data members :
String Bname - stores the name of the book
double price - stores the price of the book
Member methods :
(i) Book Fair() - Default constructor to initialize data members
(ii) void input() - To input and store the name and the price of the book.
(iii) void calculate() - To calculate the price after discount. Discount is calculated based on the following criteria.

PriceDiscount
Less than or equal to Rs. 10002% of price
More than Rs. 1000 and less than or equal to Rs. 300010% of price
More than Rs. 300015% of price

(iv) void display() - To display the name and price of the book after discount. Write a main method to create an object of the class and call the above member methods.

Answer:
import java.util.Scanner;
class BookFair
{
    String Bname;
    double price;
    BookFair()
    {
        Bname = "";
        price = 0.0;
    }
    void input()
    {
        Scanner S = new Scanner(System.in);
        System.out.println("Enter Book name");
        Bname = S.nextLine();
        System.out.println("Enter Price");
        price = S.nextDouble();
    }
    void calculate()
    {
        double d = 0.0;
        if (price <= 1000)
            d = 2.0 / 100 * price;
        else if (price <= 3000)
            d = 10.0 / 100 * price;
        else
            d = 15.0 / 100 * price;
        price = price - d;
    }
    void display()
    {
        System.out.println("Book Name: " + Bname);
        System.out.println("Price after discount: " + price);
    }
    public static void main(String args[])
    {
        BookFair b = new BookFair();
        b.input();
        b.calculate();
        b.display();
    }
}

Teacher's Note:
a) Ensure all class variables, constructors, and methods are properly named exactly as specified in the prompt.
b) Check percentage discount calculations carefully using floating-point division (e.g., 2.0 / 100).

 

Question 5:
Using the switch statement, write a menu driven program for the following: [15 Marks]
(i) To print the Floyd's triangle [Given below]
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
(ii) To display the following pattern:
I
I C
I C S
I C S E
For an incorrect option, an appropriate error message should be displayed.

Answer:
import java.util.Scanner;
class pattern
{
    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("1. Floyd's Triangle \n2. Pattern ICSE");
        System.out.println("Enter choice");
        int c = sc.nextInt();
        switch(c)
        {
            case 1:
            int a, b, k = 1;
            for (a = 1; a <= 5; a++)
            {
                for (b = 1; b <= a; b++)
                {
                    System.out.print(k + " ");
                    k++;
                }
                System.out.println();
            }
            break;
            case 2:
            String s = "ICSE";
            int l = s.length();
            for (int i = 0; i < l; i++)
            {
                for (int j = 0; j <= i; j++)
                {
                    System.out.print(s.charAt(j) + " ");
                }
                System.out.println();
            }
            break;
            default:
            System.out.println("Invalid choice");
        }
    }
}

Teacher's Note:
a) Menu-driven programs must use a switch-case construct with a default case to handle incorrect options.
b) Nested loops are essential for printing patterns where outer loops manage rows and inner loops manage columns.

 

Question 6:
Special words are those words which starts and ends with the same letter. [15 Marks]
Examples: EXISTENCE, COMIC, WINDOW
Palindrome words are those words which read the same from left to right and vice versa
Examples: MALAYALAM, MADAM, LEVEL, ROTATOR, CIVIC
All palindromes are special words, but all special words are not palindromes. Write a program to accept a word check and print whether the word is a palindrome or only special word.

Answer:
import java.util.Scanner;
class test
{
    public static void main(String args[])
    {
        Scanner s = new Scanner(System.in);
        System.out.println("Enter a word");
        String w = s.next();
        int l = w.length();
        String w1 = "";
        for (int k = l - 1; k >= 0; k--)
        {
            char ch1 = w.charAt(k);
            w1 = w1 + ch1;
        }
        if (w1.equalsIgnoreCase(w))
        {
            System.out.println("It is a palindrome word");
        }
        else if (w.charAt(0) == w.charAt(l - 1))
        {
            System.out.println("It is only a special word");
        }
        else
        {
            System.out.println("It is not a special word");
        }
    }
}

Teacher's Note:
a) Reverse the string completely to check for palindromes using equalsIgnoreCase().
b) Check if the first and last characters match using charAt(0) and charAt(l-1) for special word verification.

 

Question 7:
Design a class to overload a function SumSeries as follows: [15 Marks]
(i) void SumSeries(int n, double x) - with one integer argument and one double argument to find and display the sum of the series given below:
[Figure: s = \frac{x}{1} - \frac{x}{2} + \frac{x}{3} - \frac{x}{4} + \frac{x}{5} - \dots \dots \text{ to } n \text{ terms}]
(ii) void SumSeries() - To find and display the sum of the following series:
s = 1 + (1 x 2) + (1 x 2 x 3) + ..... + (1 x 2 x 3 x 4 x 20)

Answer:
class Overload
{
    void SumSeries(int n, double x)
    {
        double sum = 0;
        for (int k = 1; k <= n; k++)
        {
            double t = x / k;
            if (k % 2 == 1)
                sum = sum + t;
            else
                sum = sum - t;
        }
        System.out.println("Sum is " + sum);
    }
    void SumSeries()
    {
        long S = 0;
        for (int a = 1; a <= 20; a++)
        {
            long f = 1;
            for (int b = 1; b <= a; b++)
            {
                f = f * b;
            }
            S = S + f;
        }
        System.out.println("Sum = " + S);
    }
}

Teacher's Note:
a) Function overloading requires methods to have the same name but different parameter lists.
b) For factorial / progressive product series, use nested loops to accumulate inner products before adding to the main sum.

 

Question 8:
Write a program to accept a number and check and display whether it is a Niven number or not. [15 Marks]
(Niven number is that number which is divisible by its sum of digits).
Example: Consider the number 126. Sum of its digits is 1+2+6 = 9 and 126 is divisible by 9.

Answer:
import java.util.Scanner;
class test
{
    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter a number");
        int n = sc.nextInt();
        int s = 0;
        int c = n;
        while (n != 0)
        {
            int R = n % 10;
            s = s + R;
            n = n / 10;
        }
        if (c % s == 0)
            System.out.println("It is Niven number");
        else
            System.out.println("It is Not a Niven No.");
    }
}

Teacher's Note:
a) Always store a copy of the original number since the number variable gets reduced to zero during digit extraction.
b) Check divisibility using the modulo operator (original number % sum of digits == 0).

 

Question 9:
Write a program to initialize the seven Wonders of the World along with their locations in two different arrays. Search for a name of the country input by the user. If found, display the name of the country along with its Wonder, otherwise display "Sorry Not Found!". [15 Marks]
Seven wonders - CHICHEN ITZA, CHRIST THE REDEEMER, TAJMAHAL, GREAT WALL OF CHINA, MACHU PICCHU, PETRA, COLOSSEUM
Locations - MEXICO, BRAZIL, INDIA, CHINA, PERU, JORDAN, ITALY
Example - Country Name: INDIA Output: INDIA-TAJMAHAL
Country Name: USA Output: Sorry Not Found!

Answer:
import java.util.Scanner;
class test
{
    public static void main(String args[])
    {
        String w[] = {"Chichen Itza", "Christ The Redeemer", "Taj Mahal", "Great wall of China", "Machu Picchu", "Petra", "Colosseum"};
        String L[] = {"Mexico", "Brazil", "India", "China", "Peru", "Jordan", "Italy"};
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter country Name");
        String c = sc.next();
        boolean found = false;
        for (int i = 0; i < L.length; i++)
        {
            if (L[i].equalsIgnoreCase(c))
            {
                found = true;
                System.out.println(L[i] + "-" + w[i]);
                break;
            }
        }
        if (found == false)
            System.out.println("Sorry Not Found!");
    }
}

Teacher's Note:
a) Use parallel arrays where indices correspond between the two arrays (locations and wonders).
b) Use equalsIgnoreCase() for string matching to ensure case-insensitive searches work properly.

Free study material for Computer Application

Download ICSE Question Papers: Class 10 Computer Applications

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

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

Why Practice Class 10 Computer Applications Question Papers?

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.

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

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

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

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

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