Model Sample Paper 1 Solution

PrevNextBack

Model Sample Paper 1 Solution

Contents

Section A

Question 1

(a) Name two jump statements used in Java programming.
     break and continue

(b) Name the type of error in each case

  1. Division by a variable that contains a value of zero.
    Runtime Error

  2. Multiplication operator used when the operation should be division.
    Logical Error

(c) Explain Data Abstraction with an example.
Data Abstraction refers to the act of representing essential features without including the background details or explanations. A Switchboard is an example of Data Abstraction. It hides all the details of the circuitry and current flow and provides a very simple way to switch ON or OFF electrical appliances.

(d) What is a Package? Give an example.
In Java, a package is used to group related classes. Packages are of 2 types:

  1. Built-In packages — These are provided by Java API
  2. User-Defined packages — These are created by the programmers to efficiently structure their code.
    java.util, java.lang are a couple of examples of built-in packages.

Question 2

(a) Explain if-else-if construct.
if - else - if ladder construct is used to test multiple conditions and then take a decision. It provides multiple branching of control. It has the following syntax:

if (condition)
    statement;
else if (condition) 
    statement;
else if (condition) 
    statement;
..
..
else
    statement;

(b) What is a compound statement? Give an example.
Two or more statements can be grouped together by enclosing them between opening and closing curly braces. Such a group of statements is called a compound statement.

if (a < b) {
            
    /*
    * All statements within this set of braces 
    * form the compound statement
    */

    System.out.println("a is less than b");
    a = 10;
    b = 20;
    System.out.println("The value of a is " + a);
    System.out.println("The value of b is " + b);
            
}

(c) Define:
(i) Ternary Operator
Ternary Operator is a conditional operator that selects a value depending on its condition. It has the below syntax:

expression1 ? expression2 : expression3

If expression1 evaluates to true then the value of the whole expression is the value of expression2, otherwise the value of whole expression is the value of expression3. For example:

int marks = 50;
char result = marks >= 35 ? 'P' : 'F';

The variable result will get a value of 'P' as marks are greater than 35 so condition of ternary operator is true.

(ii) Implicit Conversion
An implicit type conversion is a conversion performed by the compiler without programmer's intervention. It is generally applied by the compiler whenever differing data types are intermixed in an expression so as not to lose information.

Question 3

Give two differences between:
(a) Compiler and Interpreter

CompilerInterpreter
It converts the whole source program into object program at once.It converts the source program into object program one line at a time.
It displays the errors for the whole program together after compilation.It displays the errors of one line at a time and after debugging the control goes to the next line.

(b) Syntax Error and Logical Error

Syntax ErrorsLogical Errors
Syntax Errors occur when we violate the rules of writing the statements of the programming language.Logical Errors occur due to our mistakes in programming logic.
Program fails to compile and execute.Program compiles and executes but doesn't give the desired output.
Syntax Errors are caught by the compiler.Logic errors need to be found and corrected by the people working on the program.

Question 4

Write down the following expressions in Java:

(a) (√3 * a2) / 4
(Math.sqrt(3) * a * a) / 4

(b) a2 + b3 + c4
Math.pow(a, 2) + Math.pow(b, 3) + Math.pow(c, 4)

(c) (a + b)2 / ab
Math.pow((a + b), 2) / (a * b)

(d) ∛(mn) + mn3
Math.cbrt(m * n) + (m * Math.pow(n, 3))

Question 5

(a) Rewrite the snippet using Ternary operators:

if(a<b)
{
    c=(a+b);
}
else {
    c=(a-b);
}
Answer
c = a < b ? (a + b) : (a - b);

(b) Predict the output:

int a=6,b=5;
a += a++ % b++ *a + b++* --b;
Output
a = 49
Explanation
   a += a++ % b++ *a + b++* --b  
=> a = a + (a++ % b++ *a + b++* --b)
=> a = 6 + (6 % 5 * 7 + 6 * 6)  
// % and * will be applied first due to higher precedence
=> a = 6 + (7 + 36)
=> a = 49

(c) Give the output of the snippet:

int a=10,b=12;
if(a==10&&b<=12)
a--;
else
++b;
System.out.println(a + "and" +b);
Output
9and12
Explanation

As a is 10 and b is 12 so the condition of if is true. a is decremented by 1, b remains unchanged.

(d) Give the output of the snippet:

int p = 9;
while (p<=15)
{
p++;
if(p== 10)
continue;
System.out.println(p);
}
Output
11
12
13
14
15
16

Section B

Question 6

An Electricity Board charges for electricity per month from their consumers according to the units consumed. The tariff is given below:

Units ConsumedCharges
Up to 200 units₹3.80/unit
More than 200 units and up to 300 units₹4.40/unit
More than 300 units and up to 400 units₹5.10/unit
More than 400 units₹5.80/unit

Write a program to calculate the electricity bill taking consumer's name and units consumed as inputs. Display the output.

import java.util.Scanner;

public class KboatElectricBill
{
    public static void main(String args[]) {
        Scanner in = new Scanner(System.in);
        System.out.print("Enter Consumer Name: ");
        String name = in.nextLine();
        System.out.print("Enter Unit's Consumed: ");
        int units = in.nextInt();
        double amt = 0.0;
        if (units <= 200)
            amt = units * 3.8;
        else if (units <= 300)
            amt = (200 * 3.8) + ((units - 200) * 4.4);
        else if (units <= 400)
            amt = (200 * 3.8) + (100 * 4.4) + ((units - 300) * 5.1);
        else
            amt = (200 * 3.8) + (100 * 4.4) + (100 * 5.1) + ((units - 400) * 5.8);
            
        System.out.println("Consumer Name: " + name);
        System.out.println("Units Consumed: " + units);
        System.out.println("Bill Amount: " + amt);
    }
}
Output
BlueJ output of KboatElectricBill.java

Question 7

The equivalent resistance of series and parallel connections of two resistances are given by the formula:

(a) R1 = r1 + r2 (Series)
(b) R2 = (r1 * r2) / (r1 + r2) (Parallel)

Write a program to input the value of r1 and r2. Calculate and display the output of the equivalent resistance as per User's choice.

import java.util.Scanner;

public class KboatResistance
{
    public static void main(String args[]) {
        Scanner in = new Scanner(System.in);
        System.out.println("1. Series");
        System.out.println("2. Parallel");
        
        System.out.print("Enter your choice: ");
        int choice = in.nextInt();
        boolean isChoiceValid = true;
        
        System.out.print("Enter r1: ");
        double r1 = in.nextDouble();
        System.out.print("Enter r2: ");
        double r2 = in.nextDouble();
        double eqr = 0.0; 
        
        switch (choice) {
            case 1:
                eqr = r1 + r2;
                break;
            case 2:
                eqr = (r1 * r2) / (r1 + r2);
                break;
            default:
                isChoiceValid = false;
                System.out.println("Incorrect choice");
                break;
        }
        
        if (isChoiceValid)
            System.out.println("Equivalent resistance = " + eqr);
    }
}
Output
BlueJ output of KboatResistance.java
BlueJ output of KboatResistance.java

Question 8

(a) Write a program to display the first ten terms of the series:
5, 10, 17, --------------

public class KboatSeries
{
    public static void main(String args[]) {
        for (int i = 2; i <= 11; i++) {
            System.out.print((i * i + 1) + " ");
        }
    }
}
Output
BlueJ output of KboatSeries.java

(b) Write a program to display the given pattern:
1 1 1 1 1
3 3 3 3
5 5 5
7 7
9

public class KboatPattern
{
    public static void main(String args[]) {
        for (int i = 5, term = 1; i >= 0; i--, term += 2) {
            for (int j = 1; j <= i; j++) {
                System.out.print(term + " ");
            }
            System.out.println();
        }
    }
}
Output
BlueJ output of KboatPattern.java

Question 9

(a) Write a program to find the sum of first 20 terms of the series:
S = (2/3) + (4/5) + (8/7) + (16/9) + ----------

public class KboatSeriesSum
{
    public static void main(String args[]) {
        double sum = 0.0;
        for (int i = 1, j = 3; i <= 20; i++, j += 2) {
            sum += Math.pow(2, i) / j;
        }
        System.out.println("Sum = " + sum);
    }
}
Output
BlueJ output of KboatSeriesSum.java

(b) Write a program to display the given pattern:
3
5 6
8 9 10
12 13 14 15

public class KboatPattern
{
    public static void main(String args[]) {
        int t = 2;
        for (int i = 1, j = 1; i <= 4; i++, j++) {
            t += i;
            for (int k = t, l = 1; l <= j; k++, l++)
                System.out.print(k + " ");
            System.out.println();  
        }
    }
}
Output
BlueJ output of KboatPattern.java

Question 10

Write a program to input a number. Find the sum of digits and the number of digits. Display the output.
Sample Input: 7359
Sum of digits = 24
Number of digits = 4

import java.util.Scanner;

public class KboatDigitSum
{
    public static void main(String args[]) {
        Scanner in = new Scanner(System.in);
        System.out.print("Enter a number: ");
        int n = in.nextInt();
        int sum = 0, count = 0;
        while (n != 0) {
            int d = n % 10;
            sum += d;
            count++;
            n /= 10;
        }
        System.out.println("Sum of digits = " + sum);
        System.out.println("Number of digits = " + count);
    }
}
Output
BlueJ output of KboatDigitSum.java