Class 10 Computer Applications Solved Question Papers: ICSE Class 10 Computer Applications Board Exam Question Paper 2017 with Solutions
Access comprehensive previous year question papers for Class 10 Computer Applications using the ICSE Class 10 Computer Applications Board Exam Question Paper 2017 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.
Download Class 10 Computer Applications Question Paper PDF
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.
ICSE Class 10 Computer Applications Board Exam Question Paper 2017 with Solutions
SECTION A [40 Marks]
Question 1. [10 Marks]
(a) What is inheritance ? [2 Marks]
Answer:
Inheritance in Java is a mechanism in which one object acquires all the properties and behaviors of a parent object. The idea behind inheritance in Java is that you can create new classes that are built upon existing classes. When you inherit from an existing class, you can reuse methods and fields of the parent class, and you can add new methods and fields also.
Teacher's Note:
a) Inheritance promotes code reusability, which is a core principle of object-oriented programming.
b) Students must mention the keyword 'extends' in Java when explaining how inheritance is implemented.
(b) Name the operators listed below : [2 Marks]
(i) <
(ii) ++
(iii) &&
(iv) ? :
Answer:
(i) Comparison operator (or Relational operator / Less than)
(ii) Unary operator (or Increment operator)
(iii) Logical operator (or Logical AND)
(iv) Ternary operator (or Conditional operator)
Teacher's Note:
a) Operators are classified based on the number of operands they take (unary, binary, ternary) or their functionality.
b) Ensure proper technical terms such as 'Relational' or 'Logical' are used instead of informal descriptions.
(c) State the number of bytes occupied by char and int data types. [2 Marks]
Answer:
The char data type occupies two bytes whereas the int data type occupies four bytes in Java.
Teacher's Note:
a) Java uses Unicode for characters, requiring 2 bytes (16 bits) for the char type.
b) The int type is a 32-bit signed two's complement integer, requiring 4 bytes.
(d) Write one difference between / and % operator. [2 Marks]
Answer:
The / operator is used to perform division and returns the quotient, whereas the % operator (modulus) is used to find and return the remainder of a division operation.
Teacher's Note:
a) Both operators can be used with integer and floating-point data types in Java.
b) Students often confuse the division operator with the modulus operator when extracting digits from a number.
(e) String x[ ] = {"SAMSUNG", "NOKIA", "SONY", "MICROMAX", "BLACKBERRY"}; [2 Marks]
Give the output of the following statements :
(i) System.out.println(x[1]);
(ii) System.out.println(x[3].length( ));
Answer:
(i) NOKIA
(ii) 8
Teacher's Note:
a) Array indices start from 0, so x[1] refers to the second element ("NOKIA").
b) x[3] is "MICROMAX", which has 8 characters, so length() returns 8.
Question 2. [10 Marks]
(a) Name the following : [2 Marks]
(i) A keyword used to call a package in the program.
(ii) Any one reference data type.
Answer:
(i) import
(ii) Array (or Class / String / Interface)
Teacher's Note:
a) The import keyword brings built-in packages or classes into the scope of the program.
b) Reference data types store memory addresses of values rather than the values themselves.
(b) What are the two ways of invoking functions? [2 Marks]
Answer:
The two ways of invoking (calling) functions are:
1. Call by Value
2. Call by Reference
Teacher's Note:
a) Primitive data types in Java are passed by value.
b) Reference types (like objects and arrays) involve passing references to memory locations.
(c) State the data type and value of res after the following is executed: [2 Marks]
char ch = 't';
res = Character.toUpperCase(ch);
Answer:
Data type: int
Value: 84
Teacher's Note:
a) The Character.toUpperCase() method returns the Unicode integer value (ASCII equivalent for basic Latin) of the converted uppercase character.
b) The uppercase of 't' is 'T', whose ASCII/Unicode integer value is 84.
(d) Give the output of the following program segment and also mention the number of times the loop is executed: [2 Marks]
int a, b;
for (a = 6, b = 4; a < = 24; a = a + 6)
{
if (a % b == 0)
break;
}
System.out.println(a);
Answer:
Output: 12
Number of times the loop is executed: 2
Teacher's Note:
a) When a = 6, 6 % 4 != 0. Then a becomes 12.
b) When a = 12, 12 % 4 == 0, so the break statement executes during the second iteration, terminating the loop with a equal to 12.
(e) Write the output: [2 Marks]
char ch = 'F';
int m = ch;
m = m + 5;
System.out.println(m + " " + ch);
Answer:
75 F
Teacher's Note:
a) The ASCII value of character 'F' is 70, which is assigned to integer m.
b) m becomes 70 + 5 = 75, and ch remains 'F', printed with a space in between.
Question 3. [10 Marks]
(a) Write a Java expression for the following : [2 Marks]
ax5 + bx3 + c
Answer:
a * Math.pow(x, 5) + b * Math.pow(x, 3) + c
Teacher's Note:
a) Implicit multiplication is not allowed in Java; multiplication operators (*) must be explicitly placed.
b) Math.pow() returns a double value, making the expression fully compatible with Java syntax.
(b) What is the value of x1 if x = 5 ? [2 Marks]
x1 = ++x - x++ + --x
Answer:
6
Teacher's Note:
a) Step-by-step evaluation with initial x = 5: ++x increments x to 6 and returns 6. Next, x++ evaluates to 6 (x becomes 7). Finally, --x decrements x to 6 and returns 6.
b) Calculation: 6 - 6 + 6 = 6.
(c) Why is an object called an instance of a class ? [2 Marks]
Answer:
An object is called an instance of a class because a class serves as a blueprint or template, and when memory is allocated for that blueprint, a physical realization or individual copy of the class is created, which is known as an instance.
Teacher's Note:
a) A class is a logical entity, whereas an object is a physical/runtime entity.
b) Multiple instances can be created from a single class blueprint.
(d) Convert following do-while loop into for loop. [2 Marks]
int i = 1;
int d = 5;
do {
d = d * 2;
System.out.println(d);
i++;
} while (i < = 5);
Answer:
int i = 1;
int d = 5;
for(i = 1; i < = 5; i++) {
d = d * 2;
System.out.println(d);
}
Teacher's Note:
a) The initialization, condition check, and iteration statement are combined into the for loop header.
b) The logic and output remain identical to the original do-while loop.
(e) Differentiate between constructor and function. [2 Marks]
Answer:
1. A constructor has the same name as the class and does not have any return type (not even void), whereas a function must have a return type (which can be void).
2. A constructor is invoked automatically when an object is created, whereas a function must be explicitly called using an object reference or class name.
Teacher's Note:
a) Constructors are primarily used for initializing instance variables.
b) Functions (methods) define the behavior and operations performed by objects.
(f) Write the output for the following : [2 Marks]
String s = "Today is Test";
System.out.println(s.indexOf('T'));
System.out.println(s.substring(0, 7) + " " + "Holiday");
Answer:
0
Today i Holiday
Teacher's Note:
a) indexOf('T') returns 0 because the first character 'T' is at index 0.
b) substring(0, 7) extracts characters from index 0 to 6 ("Today i"), which is then concatenated with " Holiday".
(g) What are the values stored in variables r1 and r2: [2 Marks]
(i) double r1 = Math.abs(Math.min(-2.83, -5.83));
(ii) double r2 = Math.sqrt(Math.floor(16.3));
Answer:
(i) r1 = 5.83
(ii) r2 = 4.0
Teacher's Note:
a) Math.min(-2.83, -5.83) returns -5.83, and Math.abs(-5.83) returns 5.83.
b) Math.floor(16.3) returns 16.0, and Math.sqrt(16.0) returns 4.0.
(h) Give the output of the following code: [2 Marks]
String A = "26", B = "100";
String D = A + B + "200";
int x = Integer.parseInt(A);
int y = Integer.parseInt(B);
int d = x + y;
System.out.println("Result 1 = " + D);
System.out.println("Result 2 = " + d);
Answer:
Result 1 = 26100200
Result 2 = 126
Teacher's Note:
a) String concatenation (+) joins string operands together, resulting in "26100200".
b) Integer addition (x + y) adds numerical values 26 and 100, resulting in 126.
(i) Analyze the given program segment and answer the following questions : [2 Marks]
for(int i = 3; i < = 4; i++) {
for(int j = 2; j < i; j++) {
System.out.print(" ");
}
System.out.println("WIN");
}
(i) How many times does the inner loop execute ?
(ii) Write the output of the program segment.
Answer:
(i) Once
(ii) WIN
WIN
Teacher's Note:
a) When i = 3, the inner loop runs for j = 2 (1 time), printing 1 space. When i = 4, the inner loop runs for j = 2 and j = 3 (2 times), printing 2 spaces.
b) Each iteration prints "WIN" on a new line after leading spaces.
(j) What is the difference between the Scanner class functions next() and nextLine()? [2 Marks]
Answer:
next() reads input only until the first space and cannot read multiple words separated by spaces, leaving the cursor on the same line. nextLine() reads input including all spaces until the end of the line (newline character) and positions the cursor at the beginning of the next line.
Teacher's Note:
a) Use next() for single-token inputs like words or numbers.
b) Use nextLine() when reading full sentences or strings containing spaces.
SECTION B [60 Marks]
Question 4. [15 Marks]
Define a class ElectricBill with the following specifications :
Class: ElectricBill
Instance variables / data member:
String n - to store the name of the customer
int units - to store the number of units consumed
double bill - to store the amount to be paid
Member methods:
void accept() - to accept the name of the customer and number of units consumed
void calculate() - to calculate the bill as per the following tariff:
Number of units | Rate per unit
First 100 units | Rs. 2.00
Next 200 units | Rs. 3.00
Above 300 units | Rs. 5.00
A surcharge of 2.5% charged if the number of units consumed is above 300 units.
void print() - to print the details as follows:
Name of the customer: ........................................
Number of units consumed: .................................
Bill amount: ........................................
Write a main method to create an object of the class and call the above member methods.
Answer:
| Variable Name | Data Type | Description |
|---|---|---|
| n | String | To store the name of the customer |
| units | int | To store the number of units consumed |
| bill | double | To store the total amount to be paid |
import java.io.*;
class ElectricBill {
String n;
int units;
double bill;
void accept() throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Name of the customer = ");
n = reader.readLine();
System.out.print("Number of units consumed = ");
String un = reader.readLine();
units = Integer.parseInt(un);
}
void calculate() {
if (units < = 100) {
bill = units * 2.00;
}
else if (units < = 300) {
bill = 100 * 2.00 + (units - 100) * 3.00;
}
else {
bill = 100 * 2.00 + 200 * 3.00 + (units - 300) * 5.00;
bill = bill + (bill * 2.5 / 100);
}
}
void print() {
System.out.println("Name of the customer: " + n);
System.out.println("Number of units consumed: " + units);
System.out.println("Bill amount: " + bill);
}
public static void main(String args[]) throws IOException {
ElectricBill eb = new ElectricBill();
eb.accept();
eb.calculate();
eb.print();
}
}
Teacher's Note:
a) The official key contained syntax errors in the calculate method (omitting slab calculations and brackets). The corrected method correctly applies slab-wise billing.
b) Ensure variable descriptions or mnemonic codes are provided as required by ICSE standards.
Question 5. [15 Marks]
Write a program to accept a number and check and display whether it is a spy number or not. (A number is spy if the sum of its digits equals the product of its digits.)
Example: consider the number 1124,
Sum of the digits = 1 + 1 + 2 + 4 = 8
Product of the digits = 1 x 1 x 2 x 4 = 8
Answer:
| Variable Name | Data Type | Description |
|---|---|---|
| n | int | Stores the input number |
| sum | int | Stores the sum of digits |
| multiple | int | Stores the product of digits |
| a | int | Stores each extracted digit |
| p | int | Backup of the original number |
import java.util.Scanner;
class Spy {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a number: ");
int n = sc.nextInt();
int p = n;
int sum = 0;
int multiple = 1;
int a;
while(n != 0) {
a = n % 10;
sum = sum + a;
multiple = multiple * a;
n = n / 10;
}
System.out.println("The sum of " + p + " is " + sum);
System.out.println("The product of " + p + " is " + multiple);
if(sum == multiple) {
System.out.println(p + " is a Spy Number.");
}
else {
System.out.println(p + " is NOT a Spy Number.");
}
}
}
Teacher's Note:
a) Always take a backup of the original number (in variable p) because the number n becomes 0 after the while loop.
b) Initialize the product variable (multiple) to 1, whereas the sum variable must be initialized to 0.
Question 6. [15 Marks]
Using switch statement, write a menu driven program for the following :
(i) To find and display the sum of the series given below:
S = x1 - x2 + x3 - x4 + x5 - ... - x20 (where x = 2)
(ii) To display the following series:
1 11 111 1111 11111
For an incorrect option, an appropriate error message should be displayed.
Answer:
| Variable Name | Data Type | Description |
|---|---|---|
| ch | int | Stores menu choice |
| x | int | Base value set to 2 |
| sum | double | Stores sum of series (i) |
| term | double | Stores current term in series (i) |
| num | int | Number of terms for series (ii) |
| s | int | Generates terms for series (ii) |
import java.io.*;
class SwitchStatement {
public static void main(String args[]) throws IOException {
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
System.out.println("1 - Sum of Series");
System.out.println("2 - Display Special Series");
System.out.println("Enter your choice:");
int ch = Integer.parseInt(input.readLine());
switch (ch) {
case 1:
int x = 2;
double sum = 0;
for (int i = 1; i < = 20; i++) {
double term = Math.pow(x, i);
if (i % 2 == 1) {
sum = sum + term;
}
else {
sum = sum - term;
}
}
System.out.println("Sum of Series = " + sum);
break;
case 2:
System.out.println("Enter the number of terms: ");
int num = Integer.parseInt(input.readLine());
int s = 0;
for (int c = 1; c < = num; c++) {
s = s * 10 + 1;
System.out.print(s + " ");
}
break;
default:
System.out.println("Incorrect option!");
}
}
}
Teacher's Note:
a) The official key contained typos and incomplete syntax in case blocks. The corrected code implements proper alternating signs for series (i) and digit accumulation for series (ii).
b) A default case must always be included in a switch statement to handle incorrect user options.
Question 7. [15 Marks]
Write a program to input integer elements into an array of size 20 and perform the following operations:
(i) Display largest number from the array.
(ii) Display smallest number from the array.
(iii) Display sum of all the elements of the array.
Answer:
| Variable Name | Data Type | Description |
|---|---|---|
| a | int[] | Array to store 20 integers |
| max | int | Stores the largest number |
| min | int | Stores the smallest number |
| sum | int | Stores the sum of all elements |
import java.util.Scanner;
class LargeSmallSum {
public static void main(String args[]) {
Scanner s = new Scanner(System.in);
int a[] = new int[20];
System.out.println("Enter 20 integer elements:");
for (int i = 0; i < 20; i++) {
a[i] = s.nextInt();
}
int max = a[0];
int min = a[0];
int sum = 0;
for (int i = 0; i < 20; i++) {
if (a[i] > max) {
max = a[i];
}
if (a[i] < min) {
min = a[i];
}
sum = sum + a[i];
}
System.out.println("Maximum Number is: " + max);
System.out.println("Smallest Number is: " + min);
System.out.println("Sum of the Numbers is: " + sum);
}
}
Teacher's Note:
a) The array size is explicitly specified as 20 as per the question requirement.
b) Initializing max and min to a[0] before traversal is the standard algorithm for finding extreme values in an array.
Question 8. [15 Marks]
Design a class to overload a function check() as follows :
(i) void check(String str, char ch) - to find and print the frequency of a character in a string.
Example:
Input: str = "success", ch = 's'
Output: number of s present is = 3
(ii) void check(String si) - to display only vowels from string si, after converting it to lower case.
Example:
Input: s1 = "computer"
Output: o u e
Answer:
| Method Name | Parameters | Description |
|---|---|---|
| check | String str, char ch | Counts and prints frequency of character ch in str |
| check | String si | Extracts and displays lowercase vowels from si |
class CharacterVowel {
public void check(String str, char ch) {
int c = 0;
int len = str.length();
for (int i = 0; i < len; i++) {
if (str.charAt(i) == ch) {
c++;
}
}
System.out.println("number of " + ch + " present is = " + c);
}
public void check(String si) {
si = si.toLowerCase();
int len = si.length();
for (int i = 0; i < len; i++) {
char ch = si.charAt(i);
if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') {
System.out.print(ch + " ");
}
}
System.out.println();
}
}
Teacher's Note:
a) The official key contained syntax errors and convoluted ASCII logic. The corrected code uses clean string methods and logical operators.
b) Function overloading requires methods to have the same name but different parameter lists (either in number, type, or order of arguments).
Question 9. [15 Marks]
Write a program to input forty words in an array. Arrange these words in descending order of alphabets, using selection sort technique. Print the sorted array.
Answer:
| Variable Name | Data Type | Description |
|---|---|---|
| names | String[] | Array to store 40 words |
| temp | String | Temporary variable for swapping |
| i, j | int | Loop control variables |
import java.util.Scanner;
class Descending {
public static void main(String args[]) {
Scanner s = new Scanner(System.in);
String names[] = new String[40];
System.out.println("Enter 40 words:");
for (int i = 0; i < 40; i++) {
names[i] = s.next();
}
for (int i = 0; i < 39; i++) {
int max = i;
for (int j = i + 1; j < 40; j++) {
if (names[j].compareTo(names[max]) > 0) {
max = j;
}
}
String temp = names[i];
names[i] = names[max];
names[max] = temp;
}
System.out.println("Words in Descending Order:");
for (int i = 0; i < 40; i++) {
System.out.println(names[i]);
}
}
}
Teacher's Note:
a) The official key contained syntax errors and incorrect variable names in compareTo(). The corrected code properly implements selection sort using compareTo() for descending order.
b) For descending order, names[j].compareTo(names[max]) > 0 is used to find alphabetically greater words.
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 2017 with Solutions
Explore downloadable past papers for Class 10 Computer Applications. Utilizing the ICSE Class 10 Computer Applications Board Exam Question Paper 2017 with Solutions ensures complete preparedness by offering clear insights into historical question styles and marking expectations.
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
The ICSE Class 10 Computer Applications Board Exam Question Paper 2017 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.
Yes, the solutions for ICSE Class 10 Computer Applications Board Exam Question Paper 2017 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.
Solving previous year papers like ICSE Class 10 Computer Applications Board Exam Question Paper 2017 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.
Yes, where applicable, ICSE Class 10 Computer Applications Board Exam Question Paper 2017 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.
No, all previous year question papers on StudiesToday, including ICSE Class 10 Computer Applications Board Exam Question Paper 2017 with Solutions, are provided free of charge in mobile-friendly PDF.