0% found this document useful (0 votes)
6 views14 pages

Isc Semester 2 Examination Specimen Question Paper Computer Science Paper 1 (Theory)

The document is a specimen question paper for the ISC Semester 2 Computer Science Theory examination, with a maximum score of 35 marks and a time limit of one and a half hours. It includes multiple sections with various types of questions, including multiple-choice, programming tasks, and theoretical questions related to computer science concepts. The paper covers topics such as recursion, data structures, and object-oriented programming in Java.

Uploaded by

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

Isc Semester 2 Examination Specimen Question Paper Computer Science Paper 1 (Theory)

The document is a specimen question paper for the ISC Semester 2 Computer Science Theory examination, with a maximum score of 35 marks and a time limit of one and a half hours. It includes multiple sections with various types of questions, including multiple-choice, programming tasks, and theoretical questions related to computer science concepts. The paper covers topics such as recursion, data structures, and object-oriented programming in Java.

Uploaded by

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

ISC SEMESTER 2 EXAMINATION

SPECIMEN QUESTION PAPER


COMPUTER SCIENCE PAPER 1
(THEORY)
------------------------------------------------------------------------------------------------
Maximum Marks: 35
Time allowed: One and a half hour
Candidates are allowed an additional 10 minutes for only reading the paper.
They must NOT start writing during this time.

Answer all questions in Section A, Section B and Section C.


While answering questions in Sections A and B, working and reasoning may be
indicated briefly.
The intended marks for questions or parts of questions are given in brackets. [ ]
All working, including rough work, should be done on the same sheet as the
rest of the answer.

SECTION A -7 MARKS

Question 1

(i) The keyword used by a class to acquire the properties of an interface is: [1]

(a) import

(b) implements

(c) extends

(d) include

(ii) The ability of an object to take many forms is known as: [1]

(a) inheritance

(b) data abstraction

(c) overriding

(d) polymorphism

1
(iii) int Toy(int n) [1]
{ return (n<=0)? 1: n%10 + Toy(n/10); }
With reference to the program code given above, what will the function Toy()
return when the value of n=56 ?

(a) 65

(b) 12

(c) 651

(d) 11

(iv) Write the statement in Java to extract the word “MISS” from the [1]
word “SUBMISSION”.

(v) State the principle by which the stack data structure works. [1]

(vi) What is the output of the statement given below? [1]


System.out.print("FAN" + ("AUTOMATIC".charAt(5) )
);

(vii) Give one reason, why iteration is better than recursion. [1]

SECTION B - 8 MARKS

Question 2 [2]

Differentiate between direct recursion and indirect recursion.

Question 3 [2]

Convert the following infix notation to postfix notation:


A * (B + C / D ) – E / F

Question 4

Answer the following questions on the diagram of a Binary Tree given below:

2
(i) State the degree of the nodes C and G. Also, state the level of these nodes [2]
when the root is at level 0.

(ii) Write the pre order and post order traversal of the above tree structure. [2]

SECTION C - 20 MARKS
Each program should be written in such a way that it clearly depicts the logic of the problem.
This can be achieved by using mnemonic names and comments in the program.
(Flowcharts and Algorithms are not required.)
The programs must be written in Java.

Question 5 [6]

(i) Design a class Check which checks whether a word is a palindrome or


not. (Palindrome words are those which spell the same from either ends).
Example: MADAM, LEVEL etc.
The details of the members of the class are given below:

Class name : Check

Data members/instance variables:

wrd : stores a word

len : to store the length of the word

Methods/Member functions:

Check( ) : default constructor

void acceptword( ) : to accept the word

boolean palindrome ( ) : checks and returns ‘true’ if the word is


a palindrome otherwise returns ‘false’

void display( ) : displays the word along with an


appropriate message

Specify the class Check giving details of the constructor, void acceptword( ),
boolean palindrome( ) and void display( ). Define the main( ) function to create
an object and call the functions accordingly to enable the task.

OR

3
(ii) Design a class Toggle which toggles a word by converting all upper case
alphabets to lower case and vice versa.
Example: The word “mOTivATe” becomes “MotIVatE”
The details of the members of the class are given below:

Class name : Toggle

Data members/instance variables:

str : stores a word

newstr : stores the toggled word

len : to store the length of the word

Methods/Member functions:

Toggle( ) : default constructor

void readword( ) : to accept the word

void toggle ( ) : converts the upper case alphabets to


lower case and all lower case
alphabets to upper case and stores it in
newstr

void display( ) : displays the original word along with


the toggled word

Specify the class Toggle giving details of the constructor, void readword( ),
void toggle( ) and void display( ). Define the main( ) function to create an
object and call the functions accordingly to enable the task.

4
Question 6 [6]
(i) A class Fibo has been defined to generate the Fibonacci series 0, 1, 1, 2, 3, 5,
8, 13,……. (Fibonacci series are those in which the sum of the previous two
terms is equal to the next term).
Some of the members of the class are given below:

Class name : Fibo


Data member/instance variable:
start : integer to store the start value
end : integer to store the end value
Member functions/methods:
Fibo( ) : default constructor
void read( ) : to accept the numbers
int fibo(int n) : return the nth term of a Fibonacci series
using recursive technique
void display( ) : displays the Fibonacci series from start
to end by invoking the function fibo()
Specify the class Fibo, giving details of the Constructor, void read( ), int
fibo(int), and void display( ). Define the main() function to create an object and
call the functions accordingly to enable the task.

OR
(ii) A class Gcd has been defined to find the Greatest Common Divisor of two
integer numbers. Some of the members of the class are given below:
Class name : Gcd
Data member/instance variable:
num1 : integer to store the first number
num2 : integer to store the second number
Member functions/methods:
Gcd( ) : default constructor
void accept( ) : to accept the numbers
int gcd(int x,int y) : return the GCD of the two number x
and y using recursive technique
void display( ) : displays the result with an appropriate
message
Specify the class Gcd, giving details of the Constructor, void accept( ), int
gcd(int,int), and void display( ). Define the main() function to create an object
and call the functions accordingly to enable the task.

5
Question 7 [4]

A super class Godown has been defined to store the details of the stock of a retail
store. Define a subclass Update to store the details of the items purchased with the
new rate and update the stock. Some of the members of both the classes are given
below:
Class name : Godown
Data members/instance variables:
item : to store the name of the item
qty : to store the quantity of an item in stock
rate : to store the unit price of an item
amt : to store the net value of the item in stock
Member functions/methods:
Godown( …) : parameterized constructor to assign value to
the data members
void display( ) : to display the stock details
Class name : Update
Data members/instance variables:
pur_qty : to store the purchase quantity
pur_rate : to store the unit price of the purchased item
Member functions / methods
Update(…) : parameterized constructor to assign values to
the data members of both the classes
void update( ) : to update the stock by adding the previous
quantity by the purchased quantity and
replace the rate of the item if there is a
difference in the purchase rate. Also update
the current stock value as:
(quantity * unit price )
void display( ) : to display the stock details before and
after updating

Assume that the super class Godown has been defined. Using the concept of
inheritance, specify the class Update giving details of the constructor, void update
( ) and void display( ).
The super class, main function and algorithm need NOT be written.

6
Question 8 [4]

A Queue is a linear data structure in which the operations are performed based on
FIFO (First In First Out).
Define a class Queue with the following details:

Class name : Queue

Data member/instance variable:

dat[ ] : array to hold the integer elements

cap : stores the maximum capacity of the queue

front : to point the index of the front

rear : to point the index of the rear.

Member functions/methods:

Queue(int max) : constructor to initialize the data member


cap = max, front = rear = 0 and create
the integer array

void add_dat(int v) : to add integers from the rear index if


possible else display the
message(“Queue full”)

int pop_dat( ) : to remove and return elements from


front, if any, else returns -999

void display() : to display elements of the queue

Specify the class Queue giving the details of void add_dat(int) and int pop_dat( ).
Assume that the other functions have been defined.
The main( ) function and algorithm need NOT be written.

7
Answers

Section-A
Answer 1.
(i) (b) implements
(ii) (d) polymorphism
(iii) (b) 12
(iv) “SUBMISSION”.substring(3,7)
(v) Last In First Out (LIFO)
(vi) FANA
(vii) Recursion takes more memory and more time to execute than its iterative counterpart.

Section-B
Answer 2.
Direct recursion Indirect recursion
In this case the function calls itself within In this case function A calls function B and
its body. in turn, function B calls function A again.
Answer 3.
ABCD/+*EF/–
Answer 4.
(i) Degree of C
= 2 Degree
of D = 0
Level of C =
1 Level of D
=2
(ii) Pre order traversal: A B D C E
F G Post order traversal: D B
EGFCA
Answer 5.
(i) import
java.util.Scanner;
class Check
{
String wrd;
int len;

public Check( )
{
wrd=””;
len=0;
}

public void acceptword( )


{
Scanner sc=new
Scanner(System.in);
System.out.println(“Enter a
word”); wrd=sc.next( );
len=wrd.length( );
}

public boolean palindrome( )


{
for(int i=0, j=len–1; i<=j; i++, j– –)
{
if(wrd.charAt(i)!
=wrd.charAt(j)) return false;
}
return true;
}

public void display( )


{
System.out.print(wrd);
if(palindrome( ))
System.out.println(“ is a Palindrome
word”); else
System.out.println(“ is not a Palindrome word”);
}

public static void main(String ar[ ])


{
Check ob=new
Check( );
ob.acceptword( );
ob.display( );
}
}
(ii) import
java.util.Scanner;
class Toggle
{
String str,
newstr; int len;

public Toggle( )
{
str=newstr=“
”; len=0;
}

public void readword( )


{
Scanner sc=new
Scanner(System.in);
System.out.println(“Enter a
word”); str=sc.next();
len=str.length();
}

public void toggle( )


{
for(int i=0; i<len;i++)
{
char c=str.charAt(i);
if(Character.isUpperCase(c))
newstr+=Character.toLowerCa
se(c);
else
newstr+=Character.toUpperCase(c);
}
}

public void display( )


{
System.out.println(“Original string:”+str);
System.out.println(“New string:”+newstr);
}

public static void main(String ar[ ])


{
Toggle Ob=new
Toggle( );
Ob.readword( );
Ob.toggle( );
Ob.display( );
}
}
Answer 6.
(i) import
java.util.*;
class Fibo
{
int start, end;
public Fibo ( )
{
start=end=0;
}

public void read( )


{
Scanner sc=new Scanner(System.in);
System.out.println(“Enter start and end value”);
start=sc.nextInt( );
end=sc.nextInt( );
}
public int fibo(int a)
{
if(a==0 || a==1)
return a;
else
return fibo (a–1)+fibo (a–2);
}

public void display ( )


{
for(int i=start; i<end; i++)
{
int p=fibo(i);
if(p>=start && p<=end)
System.out.print(fibo(i)+” “);
}
}

public static void main(String ar[ ])


{
Fibo Ob=new Fibo( );
Ob.read( );
Ob.display( );
}
}
(ii) import
java.util.*;
class GCD
{
int num1, num2;
public GCD( )
{
num1=num2=0;
}

public void accept( )


{
Scanner sc=new Scanner(System.in);
System.out.println(“Enter two
numbers”); num1=sc.nextInt( );
num2=sc.nextInt( );
}

public int gcd(int x, int y)


{
int c=x
%y;
if(c==0)
return y;
else
{
x=y;
y=c;
return gcd(x,y);
}
}

public void display( )


{
int temp;
if(num1<num2)
{
temp=num
1;
num1=num
2;
num2=tem
p;
}
System.out.println(gcd(num1, num2));
}

public static void main(String ar[ ])


{
GCD Ob=new GCD( );
Ob.accept( );
Ob.display( );
}
}
Answer 7.
class Update extends Godown
{
int pur_qty;
double
pur_rate;

public Update(int ai, int qt, double rt, double am, int pqt, double prt)
{
super(ai, qt, rt, am);
pur_qty=pqt;
pur_rate=prt;
}

public void update()


{
qty += pqt;
if(pur_rate !=
rate)
rate=pur_rate;
amt=qty*rate;
}

public void display()


{
System.out.println(“Stock details before updation”);
super.display();
update();
System.out.println(“Stock details after updation”);
super.display();
}
}
Answer 8.
import
java.util.*;
class Queue
{
int dat[];
int cap, front, rear;

public Queue( int max)


{
cap=max;
dat = new int[cap];
front=rear=0;
}
public void add_dat(int v)
{
if(rear==cap–1)
{
System.out.println(“Queue full”);
return;
}
dat[rear++]=v;
}

public int pop_dat()


{
if(front==rear)
{
System.out.println(“Queue
empty”); return –999;
}
else
return dat[front++];
}

public void display()


{
for(int i=front; i<rear; i++)
{
System.out.print(dat[i]+ “ ”);
}
}
}


You might also like