0% found this document useful (0 votes)
37 views18 pages

Icse 2023 Paper With Solutions

Uploaded by

Vishal kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views18 pages

Icse 2023 Paper With Solutions

Uploaded by

Vishal kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Solved 2023 Question Paper ICSE

Class 10 Computer Applications


Section A
Question 1(i)
Answer
Inheritance
Reason — Inheritance enables new classes to receive or inherit the properties and
methods of existing classes.
Question 1(ii)
Answer
logical
Reason — Logical operators operate only on boolean operands and are used to
construct complex decision-making expressions. Logical AND && operator
evaluates to true only if both of its operands are true.
Question 1(iii)
Answer
nextLine()
Reason — nextLine() reads the input till the end of line so it can read a full sentence
including spaces.
Question 1(iv)

Answer
import
Reason — import keyword is used to import built-in and user-defined packages into
our Java program.
Question 1(v)
Answer
4.0
Reason — Math.ceil method returns the smallest double value that is greater than
or equal to the argument and Math.sqrt method returns the square root of its
argument as a double value. Thus the given expression is evaluated as follows:
Math.sqrt(Math.ceil (15.3))
= Math.sqrt(16.0)
= 4.0
Question 1(vi)
Answer
break
Reason — The absence of break statement leads to fall through situation in switch
case statement.
Question 1(vii)
Answer
infinite
Reason — The given loop is an example of infinite loop as for each consecutive
iteration of for loop, the value of i will be updates as follows:

Iteration Value of i Remark

1 5 Initial value of i = 5

2 3 i=5-2=3

3 1 i=3-2=1

4 -1 i = 1 - 2 = -1

5 -3 i = -1 - 2 = -3 and so on...

Since i will never be '0', the loop will execute infinitely.


Question 1(viii)
Answer
char check (int x)
Reason — The prototype of a function is written in the given syntax:
return_type method_name(arguments)
Thus, the method has the prototype given below:
char check (int x)
Question 1(ix)
Answer
1
Reason — A method can return only one value.
Question 1(x)
Answer
20 22
Reason — The values of strings P and Q are converted into integers using
the Integer.parseInt() method and stored in int variables a and b, respectively.
When the statement System.out.println(a + " " + b) is executed, first the operation a
+ " " is performed. Here, int variable a is converted to a string and a space is
concatenated to it resulting in "20 ".
After this, the operation "20 " + b is performed resulting in 20 22 which is printed as
the output.
Question 1(xi)
Answer
concat(String)
Reason — concat() method is used to join two strings. Its syntax is as follows:
String1.concat(String2)
Question 1(xii)
Answer
POS
Reason — The substring() method returns a substring beginning from the startindex
and extending to the character at endIndex - 1. Since a string index begins at 0, the
character at index 3 is 'P' and the character at index 5 (6-1 = 5) is 'S'. Thus, "POS" is
extracted.
Question 1(xiii)
Answer
explicit
Reason — In explicit type conversion, the data gets converted to a type as specified
by the programmer. Here, the float value 32.8 is being converted to int type by the
programmer, explicitly.
Question 1(xiv)
Answer
java byte code
Reason — Java compiler converts Java source code into an intermediate binary
code called Bytecode after compilation.
Question 1(xv)
Answer
Syntax
Reason — Syntax Errors occur when we violate the rules of writing the statements
of the programming language. Missing a semicolon in a statement is a syntax error.
Question 1(xvi)
Answer
20
40
Reason — Since n = 10, case 10 will be executed. It prints 20 (10 * 2) on the screen.
Since break statement is missing, the execution falls through to the next case. Case
4 prints 40 (10 * 4) on the screen. Now the control finds the break statement and
the control comes out of the switch statement.
Question 1(xvii)
Answer
Pure method
Reason — A method which does not modify the value of variables is termed as a
pure method.
Question 1(xviii)
Answer
Unboxing
Reason — When an object of a Wrapper class is converted to its corresponding
primitive data type, it is called as unboxing.
Question 1(xix)
Answer
16 bits
Reason — A char data type occupies 2 bytes in the memory.
1 byte = 8 bits
2 bytes = 8 * 2 = 16 bits
Question 1(xx)
Answer
Static method
Reason — Method which is a part of a class rather than an instance of the class is
termed as Static method.
Question 2(i)
Answer
Math.pow(a + b, x)
Question 2(ii)
Answer
The given expression is evaluated as follows:
x *= --x + x++ + x (x = 4)
x *= 3 + x++ + x (x = 3)
x *= 3 + 3 + x (x = 4)
x *= 3 + 3 + 4 (x = 4)
x *= 10 (x = 4)
x = x * 10 (x = 4)
x = 4 * 10
x = 40
Question 2(iii)
Answer
for(int x = 9; x >= 0; x--)
{
System.out.print(x);
}
Question 2(iv)
Answer
(a) Character.toUpperCase ('a')
Output
A
Explanation
In Java, the Character.toUpperCase(char ch) method is used to convert a given
character to its uppercase equivalent, if one exists. So, the output is uppercase 'A'.
(b) Character.isLetterOrDigit('#')
Output
false
Explanation
Character.isLetterOrDigit() method returns true if the given character is a letter or
digit, else returns false. Since, hash (#) is neither letter nor digit, the method
returns false.
Question 2(v)
Answer
int m = 400;
double ch = 0.0;
if(m > 300)
ch = (m / 10.0) * 2;
else
ch = (m / 20.0) - 2;
Question 2(vi)
Answer
Output
9
2
Explanation
Step by step explanation of the code:
1. int n = 4279; — Initializes the integer n with the value 4279.
2. int d; — Declares an integer variable d without initializing it. It will be used to
store the individual digits.
Now, let's go through the loop:
The while loop continues as long as n is greater than 0:
 d = n % 10; — This line calculates the remainder when n is divided by 10 and
stores it in d. In the first iteration, d will be 9 because the remainder of 4279
divided by 10 is 9.
 System.out.println(d); — This line prints the value of d. In the first iteration, it
will print 9.
 n = n / 100; — This line performs integer division of n by 100. In the first
iteration, n becomes 42. (Remember, it is integer division so only quotient is
taken and fractional part is discarded.)
The loop continues, and in the second iteration:
 d = n % 10; — d will now be 2 because the remainder of 42 divided by 10 is 2.
 System.out.println(d); — It prints 2.
 n = n / 100; — n becomes 0 because 42 divided by 100 is 0. Since n is no
longer greater than 0, the loop terminates.
Question 2(vii)
Answer
(a) "COMMENCEMENT".lastIndexOf('M')
Output
8
Explanation
The lastIndexOf('M') method searches for the last occurrence of the character 'M' in
the string "COMMENCEMENT." In this string, the last 'M' appears at the index 8,
counting from 0-based indexing. So, the method returns the index 8 as the output,
indicating the position of the last 'M' in the string.
(b) "devote".compareTo("DEVOTE")
Output
32
Explanation
compareTo() method compares two strings lexicographically. It results in the
difference of the ASCII codes of the corresponding characters. The ASCII code for 'd'
is 100 and the ASCII code for 'D' is 68. The difference between their codes is 32 (100
- 68).
Question 2(viii)
Answer
(a) 7
(b) 72
Question 2(ix)
Answer
(a) Object.
(b) Constructor.
Question 2(x)
Answer
The value of n is 105.
Explanation
1. char ch = 'd'; assigns the character 'd' to the variable ch. In ASCII, the
character 'd' has a decimal value of 100.
2. int n = ch + 5; adds 5 to the ASCII value of 'd', which is 100. So, 100 +
5 equals 105.
Therefore, the value of n will be 105.
Section B
Question 3
import java.util.Scanner;

public class Student


{
private String name;
private int age;
private double mks;
private String stream;

public void accept()


{
Scanner in = new Scanner(System.in);
System.out.print("Enter student name: ");
name = in.nextLine();
System.out.print("Enter age: ");
age = in.nextInt();
System.out.print("Enter marks: ");
mks = in.nextDouble();
}

public void allocation()


{
if (mks < 75)
stream = "Try again";
else if (mks < 200)
stream = "Arts and Animation";
else if (mks < 300)
stream = "Commerce and Computer";
else
stream = "Science and Computer";
}
public void print()
{
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Marks: " + mks);
System.out.println("Stream allocated: " + stream);
}

public static void main(String args[]) {


Student obj = new Student();
obj.accept();
obj.allocation();
obj.print();
}
}
Output

Question 4
import java.util.Scanner;
public class KboatCharBubbleSort
{
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
char ch[] = new char[10];
System.out.println("Enter 10 characters:");
for (int i = 0; i < ch.length; i++) {
ch[i] = in.nextLine().charAt(0);
}

System.out.println("Original Array");
for (int i = 0; i < ch.length; i++) {
System.out.print(ch[i] + " ");
}

//Bubble Sort
for (int i = 0; i < ch.length - 1; i++) {
for (int j = 0; j < ch.length - 1 - i; j++) {
if (ch[j] > (ch[j + 1])) {
char t = ch[j];
ch[j] = ch[j + 1];
ch[j + 1] = t;
}
}
}

System.out.println("\nSorted Array");
for (int i = 0; i < ch.length; i++) {
System.out.print(ch[i] + " ");
}
}
}
Output

Question 5
import java.util.Scanner;

public class KboatMethodOverload


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

public void print(int n)


{
int d = 0;
int evenSum = 0;
int oddSum = 0;
while( n != 0)
{
d = n % 10;
if (d % 2 == 0)
evenSum += d;
else
oddSum += d;
n = n / 10;
}

if(evenSum == oddSum)
System.out.println("Lead number");
else
System.out.println("Not a lead number");
}

public static void main(String args[])


{
KboatMethodOverload obj = new KboatMethodOverload();
Scanner in = new Scanner(System.in);

System.out.println("Pattern: ");
obj.print();

System.out.print("Enter a number: ");


int num = in.nextInt();
obj.print(num);
}
}
Output

Question 6
import java.util.Scanner;

public class KboatCount


{
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
System.out.println("Enter a string:");
String str = in.nextLine();

int len = str.length();

int ac = 0;
int sc = 0;
int dc = 0;
char ch;

for (int i = 0; i < len; i++) {


ch = str.charAt(i);
if (Character.isLetter(ch))
ac++;
else if (Character.isDigit(ch))
dc++;
else if (!Character.isWhitespace(ch))
sc++;
}

System.out.println("No. of Digits = " + dc);


System.out.println("No. of Alphabets = " + ac);
System.out.println("No. of Special Characters = " + sc);

}
}
Output

Question 7
import java.util.Scanner;

public class KboatLinearSearch


{
public static void main(String args[])
{
Scanner in = new Scanner(System.in);

double arr[] = new double[20];


int l = arr.length;
int i = 0;

System.out.println("Enter array elements: ");


for (i = 0; i < l; i++)
{
arr[i] = in.nextDouble();
}

System.out.print("Enter the number to search: ");


double n = in.nextDouble();

for (i = 0; i < l; i++)


{
if (arr[i] == n)
{
break;
}
}

if (i == l)
{
System.out.println("Not found");
}
else
{
System.out.println(n + " found at index " + i);
}
}
}
Output

Question 8
import java.util.Scanner;
public class KboatDigitSum
{
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
int oneSum = 0, twoSum = 0, d = 0;
int arr[] = new int[10];
System.out.println("Enter 10 numbers");
int l = arr.length;

for (int i = 0; i < l; i++)


{
arr[i] = in.nextInt();
}

for (int i = 0; i < l; i++)


{
if(arr[i] >= 0 && arr[i] < 10 )
oneSum += arr[i];
else if(arr[i] >= 10 && arr[i] < 100 )
twoSum += arr[i];
}

System.out.println("Sum of 1 digit numbers = "+ oneSum);


System.out.println("Sum of 2 digit numbers = "+ twoSum);

}
}
Output

You might also like