ICSE 2011 Computer Application

ICSE 2011 COMPUTER APPLICATION

Answer to this ICSE 2011 Computer Application ICSE Board Paper must be written on the paper provided separately. You will not be allowed to write during the first 15 minutes. This time is to be spent in reading the question paper. The time given at the head is the time allowed for writing the answer.
——– ——– ——– ——– ——- ——- ——– ——- ——-
This paper is divided into two Sections. Answer all Questions from Section A and any four questions from Section B. The intended marks for questions or parts of questions are given in [].
——– ——– ——– ——– ——- ——- ——– ——- ——-

SECTION A(40 Marks)
Attempt all questions.

 

Question 1.

(a) What is the difference between an object and a class? [2]
Ans. 1. A class is a blueprint or a prototype of a real world object. It contains instance variables and methods whereas an object is an instance of a class.
2. A class exists in the memory of a computer while an object does not.
3. There will be only one copy of a class whereas multiple objects can be instantiated from the same class.

(b) What does the token ‘keyword’ refer to in the context of Java? Give an example for keyword. [2]
Ans. Keywords are reserved words which convey special meanings to the compiler and cannot be used as identifiers. Example of keywords : class, public, void, int

(c) State the difference between entry controlled loop and exit controlled loop. [2]
Ans. In an entry controlled loop, the loop condition is checked before executing the body of the loop. While loop and for loop are the entry controlled loops in Java.
In exit controlled loops, the loop condition is checked after executing the body of the loop. do-while loop is the exit controlled loop in Java.

(d) What are the two ways of invoking functions? [2]
Ans. If the function is static, it can be invoked by using the class name. If the function is non-static, an object of that class should be created and the function should be invoked using that object.

(e) What is difference between / and % operator? [2]
Ans. / is the division operator whereas % is the modulo (remainder) operator. a / b gives the result obtained on diving a by b whereas a % b gives the remainder obtained on diving a by b.

Question 2.

(a) State the total size in bytes, of the arrays a [4] of char data type and p [4] of float data type. [2]
Ans. char is two bytes. So a[4] will be 2*4=8 bytes.
float is 4 bytes. So p[4] will be 4*4=16 bytes.

(b) (i) Name the package that contains Scanner class.
(ii) Which unit of the class gets called, when the object of the class is created? [2]
Ans. (i) java.util
(ii) Constructor

(c) Give the output of the following: [2]
1
String n = “Computer Knowledge”;
2
String m = “Computer Applications”;
3
System.out.println(n.substring (0,8). concat (m.substring(9)));
4
System.out.println(n.endsWith(“e”));

Ans. n.substring(0,8) gives “Computer”. m.substring(9) gives “Applications”. These two on concatenation gives “ComputerApplications”. n ends with “e”. So, it gives true.
The output is:
1
ComputerApplications
2
true

(d) Write the output of the following: [2]
(i) System.out.println (Character.isUpperCase(‘R’));
(ii) System.out.println(Character.toUpperCase(‘j’));
Ans. (i) true
(ii) J

(e) What is the role of keyword void in declaring functions? [2]
Ans. void indicates that the function doesn’t return any value.

Question 3

(a) Analyse the following program segment and determine how many times the loop will be executed and what will be the output of the program segment ? [2]
1
int p = 200;
2
while(true)
3
{
4
if (p<100)
5
break;
6
p=p-20;
7
}
8
System.out.println(p);

Ans.p values changes as follows : 200, 180, 160, 140, 120, 100, 80. So, the loop executes six times and value of p is 80.

(b) What will be the output of the following code? [2]
(i)
1
int k = 5, j = 9;
2
k += k++ – ++j + k;
3
System.out.println(“k= ” +k);
4
System.out.println(“j= ” +j);

Ans.
1
k = 6
2
j = 10

Explanation:
k += k++ – ++j + k
k = k + k++ – ++j + k
k = 5 + 5 – 10 + 6
k = 6
j = 10 as it has been incremented in the ++j operation.

(ii) [2]
1
double b = -15.6;
2
double a = Math.rint (Math.abs (b));
3
System.out.println(“a= ” +a);

Ans.
1
a =16.0

Maths.abs(-15.6) will give 15.6 and Math.rint(15.6) gives 16.0.

(c) Explain the concept of constructor overloading with an example . [2]
Ans. A class can have more than one constructor provided that the signatures differ. This is known as constructor overloading.
Example:
1
class Age {
2

3
int age;
4

5
public Age() {
6
age = -1;
7
}
8

9
public Age(int age) {
10
this.age = age;
11
}
12
}

(d) Give the prototype of a function search which receives a sentence sentnc and a word wrd and returns 1 or 0 ? [2]
Ans.
1
public boolean function ( sentence sentnc, word wrd )

or
1
public int function ( sentence sentnc, word wrd )

(e) Write an expression in Java for z = (5×3 + 2y ) / ( x + y) [2]
Ans.
1
z = ( 5 * Math.pow ( x, 3 ) + 2 * y ) / ( x + y )

(f) Write a statement each to perform the following task on a string: [2]
(i) Find and display the position of the last space in a string s.
(ii) Convert a number stored in a string variable x to double data type
Ans. (i) System.out.println(s.lastIndexOf(” “);
(ii) Double.parseDouble(x)

(g) Name the keyword that: [2]
(i) informs that an error has occurred in an input/output operation.
(ii) distinguishes between instance variable and class variables.
Ans. (i) throw
(ii) static

(h) What are library classes ? Give an example. [2]
Ans. Library classes are the predefined classes which are a part of java API. Ex: String, Scanner

(i) Write one difference between Linear Search and Binary Search . [2]
Ans. Linear search can be used with both sorted and unsorted arrays. Binary search can be used only with sorted arrays.

SECTION – B (60 Marks)

Attempt any four questions from this Section.

The answers in this Section should consist of the Programs in either Blue J environment or any program environment with Java as the base.
Each program should be written using Variable descriptions/Mnemonic Codes such that the logic of the program is clearly depicted.
Flow-Charts and Algorithms are not required.

Question 4.

Define a class called mobike with the following description: [15]
Instance variables/data members: int bno – to store the bike’s number
int phno – to store the phone number of the customer
String name – to store the name of the customer
int days – to store the number of days the bike is taken on rent
int charge – to calculate and store the rental charge
Member methods:
void input( ) – to input and store the detail of the customer.
void computer( ) – to compute the rental charge
The rent for a mobike is charged on the following basis.
First five days Rs 500 per day;
Next five days Rs 400 per day
Rest of the days Rs 200 per day
void display ( ) – to display the details in the following format:
Bike No. PhoneNo. No. of days Charge

Ans.
1
import java.util.Scanner;
2

3
public class mobike {
4

5
int bno;
6
int phno;
7
String name;
8
int days;
9
int charge;
10

11
public void input() {
12
Scanner scanner = new Scanner(System.in);
13
System.out.print(“Enter bike number: “);
14
bno = scanner.nextInt();
15
System.out.print(“Enter phone number: “);
16
phno = scanner.nextInt();
17
System.out.print(“Enter your name: “);
18
name = scanner.next();
19
System.out.print(“Enter number of days: “);
20
days = scanner.nextInt();
21
}
22

23
public void compute() {
24
if (days <= 5) {
25
charge = 500 * days;
26
} else if (days <= 10) {
27
charge = 5 * 500 + (days – 5) * 400;
28
} else {
29
charge = 5 * 500 + 5 * 400 + (days – 10) * 200;
30
}
31
}
32

33
public void display() {
34
System.out.println(“Bike No. \tPhone No. \t No. of Days \t Charge”);
35
System.out.println(bno + “\t” + phno + “\t” + days + “\t” + charge);
36
}
37
}

Question 5.

Write a program to input and sort the weight of ten people. Sort and display them in descending order using the selection sort technique. [15]

Ans.
1
import java.util.Scanner;
2

3
public class SelectionSort {
4

5
public void program() {
6
Scanner scanner = new Scanner(System.in);
7
int[] weights = new int[10];
8
System.out.println(“Enter weights: “);
9
for (int i = 0; i < 10; i++) {
10
weights[i] = scanner.nextInt();
11
}
12
for (int i = 0; i < 10; i++) {
13
int highest = i;
14
for (int j = i + 1; j < 10; j++) {                 if (weights[j] > weights[highest]) {
15
highest = j;
16
}
17
}
18
int temp = weights[highest];
19
weights[highest] = weights[i];
20
weights[i] = temp;
21
}
22
System.out.println(“Sorted weights:”);
23
for (int i = 0; i < 10; i++) {
24
System.out.println(weights[i]);
25
}
26
}
27
}

Question 6.

Write a program to input a number and print whether the number is a special number or not. (A number is said to be a special number, if the sum of the factorial of the digits of the number is same as the original number). [15]

Ans.
1
import java.util.Scanner;
2

3
public class SpecialNumber {
4

5
public int factorial(int n) {
6
int fact = 1;
7
for (int i = 1; i <= n; i++) {             fact = fact * i;         }         return fact;     }     public int sumOfDigita(int num) {         int sum = 0;         while (num > 0) {
8
int rem = num % 10;
9
sum = sum + rem;
10
num = sum / 10;
11
}
12
return sum;
13
}
14

15
public boolean isSpecial(int num) {
16
int fact = factorial(num);
17
int sum = sumOfDigita(fact);
18
if (sum == num) {
19
return true;
20
} else {
21
return false;
22
}
23
}
24

25
public void check() {
26
Scanner scanner = new Scanner(System.in);
27
System.out.print(“Enter a number: “);
28
int num = scanner.nextInt();
29
if (isSpecial(num)) {
30
System.out.println(“It is a special number”);
31
} else {
32
System.out.println(“It is not a special number”);
33
}
34
}
35

36
}

Question 7

Write a program to accept a word and convert it into lowercase if it is in uppercase, and display the new word by replacing only the vowels with the character following it. [15]

Example
Sample Input : computer
Sample Output : cpmpvtfr

Ans.
1
import java.util.Scanner;
2

3
public class StringConversion {
4

5
public static void convert() {
6
Scanner scanner = new Scanner(System.in);
7
System.out.print(“Enter a String: “);
8
String input = scanner.next();
9
input = input.toLowerCase();
10
String answer = “”;
11
for (int i = 0; i < input.length(); i++) {
12
char c = input.charAt(i);
13
if (c == ‘a’ || c == ‘e’ || c == ‘i’ || c == ‘o’ || c == ‘u’) {
14
answer = answer + (char) (c + 1);
15
} else {
16
answer = answer + c;
17
}
18
}
19
System.out.println(answer);
20
}
21

22
}

Question 8.
Design a class to overload a function compare ( ) as follows: [15]
(a) void compare (int, int) – to compare two integer values and print the greater of the two integers.
(b) void compare (char, char) – to compare the numeric value of two character with higher numeric value
(c) void compare (String, String) – to compare the length of the two strings and print the longer of the two.

Ans.
1
public class Overloading {
2

3
public void compare(int a, int b) {
4
int max = Math.max(a, b);
5
System.out.println(max);
6
}
7

8
public void compare(char a, char b) {
9
char max = (char) Math.max(a, b);
10
System.out.println(max);
11
}
12

13
public void compare(String a, String b) {
14
if (a.length() > b.length()) {
15
System.out.println(a);
16
} else if (a.length() < b.length()) {
17
System.out.println(b);
18
} else {
19
System.out.println(a);
20
System.out.println(b);
21
}
22
}
23
}

Question 9
Write a menu driven program to perform the following . (Use switch-case statement) [15]
(a) To print the series 0, 3, 8, 15, 24 ……. n terms (value of ‘n’ is to be an input by the user).
(b) To find the sum of the series given below:
S = 1/2+ 3/4 + 5/6 + 7/8 … 19/20

Ans.

Leave a Comment