## Year 2007

0

**ISC 2007**

**COMPUTER SCIENCE PAPER 1**

**THEORY**

**PART I**

**Answer all questions in this part**

**Question 1.**

a) Simplify the following Boolean expression using laws of Boolean Algebra. At each step state

clearly the law used for simplification.

XY.(X.Y + Y.Z)

b) State the DeMorgan’s Laws. Verify any one of them using truth table.

c) Convert the following Sum of Product expression into its corresponding Product of Sums form:

F(O,V,W)= O’V’W’ + O’V’W+O’VW+OV’W

d) Find the complement of

F(A,B,C,D)= [A + { ( B+C) . (B’+ D’)}]

e) Draw the logic gate diagram and truth table for XOR gate.

[ 2 x 5 = 10]

**Question 2.**

a) Name the Universal gates.

b) Convert the following infix expressions to its postfix form.

(A+ ( B*C)) / (C-(D*B))

c) Each element of an array X[-15…10,15…40] requires one byte od storage. If the array is stored in

column major order with the beginning location 1500, determine the location of X[5,20].

d) Explain any two standard ways of traversing a binary tree.

e) What is meant by visibility mode in the definition of derived classes of Inheritance? Explain any

two visibility modes available.

[ 2 x 5 = 10]

**Question 3.**

a) In the following function strange is a part of some class. Assume that arguments x and y are

greater than 0 when the function is invoked. Show the dry run/working.

publicint strange(int x, int y)

{

if(x>=y)

{

x=x-y;

return strange(x,y);

}

else

{

return x;

}

}

i) What will the function strange(20,5) return? [ 2 ]

ii) What will the function strange(15,6) return? [ 2 ]

2

iii) In one line state what the function strange(…) is doing? [ 1 ]

b) State the final value of q at the end of the following program segment: [ 5 ]

intm,n,p,q=0;

for(m=2;m<=3;++m)

{

for(n=1;n<=m;++n)

{

p=m+n-1;

if(p%3==0)

q+=p;

else

q+=p+4;

}

}

**PartII**

**Answer any seven questions in this part, choosing three questions from Section A and four questions**

**from Section B.**

**Section A**

**Answer any three questions.**

**Question 4.**

a) Given the Boolean function F(A,B,C,D)= Σ(0,2,3,4,6,7,9,13)

Use Karnaugh’s map to reduce the given function F, using the SOP form. Draw a logic gate

diagram for the reduced SOP form. You may use gates with more than two inputs. Assume that

the variables and their complements are available as inputs.

b) X(A,B,C,D)= π(2,3,4,5,12,14)

Use Karnaugh’s map to reduce the given function X using the POS form. Draw a logic gate

diagram for the reduced POS form. You may use gates with more than two inputs. Assume that

the variables and their complements are available as inputs.

[ 5 x 2 = 10]

**Question 5.**

The inaugural function of the newly constructed flyover has been organized by the Public Works

Department. Apart from a few special invitees, entry is permitted only if:-

· The person is an employee of the PWD of Class I category with more than 10 years of working

experience.

OR

· The person is an employee of any other government or authorized private organization either at

the managerial level or with more than 10 years of working experience.

The inputs are:

A : The person is a Class I employee of PWD.

3

B : The person is an employee of any other government or authorized private organization.

C : The person has more than 10 years of working experience.

D : The person is holding a managerial post.

Output:-

X : Denotes eligibility for entry. [ 1 indicates Yes and 0 indicates No in all cases]

a) Draw the truth table for the inputs and outputs given above and write the SOP expression for

X(A,B,C,D). [ 5 ]

b) Reduce X(A,B,C,D) using Karnaugh’s map. Draw the logic gate diagram for the reduced SOP

expression for X(A,B,C,D) using AND & OR gates. You may use gates with two or more inputs.

Assume that the variables and their complements are available as inputs. [ 5 ]

**Question 6.**

A combinational circuit with 3 inputs A,B,C detects an error during transmission of code and gives the

output D as 1 if any two of the inputs are low(0).

i) Write the truth table with Inputs A,B,C and Outputs D. [ 2 ]

ii) Write the SOP expression for D(A,B,C) using minterms. Implement D using NAND gates only.

[ 4 ]

iii) Write the POS expression for D(A,B,C) using maxterms. Implement D using NOR gates only.

[ 4 ]

**Question 7.**

a) Draw the truth table and logic circuit diagram for a Hexadecimal to Binary encoder. [ 6 ]

b) Verify if X’YZ+XY’Z+XYZ’+XYZ= XY+YZ+XZ [ 4 ]

**Question 8.**

a) Using the truth table verify PQ+ PQ’ = P [ 2 ]

b) What is full adder? Write the SOP expressions for Sum and Carry. Simplify the expressions

algebraically using Boolean Algebra. [ 6 ]

c) What is meant by a logic gate? State any one application of a logic gate circuit. [ 2 ]

**Section B**

**Answer any 4 questions.**

**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 C++/Java**

**Question 9.**

A class called EvenSeries has been defined to find the smallest value of integer, n, such that, 2 + 4/2!+

8/3!+16/4!+….2n/n! >= S, where 2.0 < S < 7.0.

Some of the members of the class EvenSeries are given below:

Class name : EvenSeries

Data members:

n : long integer type to store number of terms.

S : float variable where 2.0 < S < 7.0.

k : float variable to store the value of series evaluated.

Member functions:

EvenSeries() : constructor to initialize data members to 0.

void accept() : to accept value of data member S.

long fact(long x) : to compute and return factorial of x.

voiddisp() : calculates and displays the least value of n.

Specify the class EvenSeries giving details of the constructor and functions void accept(), long fact(long)

and void disp(). The main function need not be written. [ 10 ]

**Question 10.**

Design a class change to convert a decimal number to its equivalent in base 16 and to convert it back to

its decimal form. Eg.(i) The decimal number 35 is 23 in base 16. ii) The decimal number 107 is 6B in base

16.

Some of the members of the class are given below:

Class name : change

Data members

a[] : integer type array.

n : integer to be converted to base 16.

Member functions

change() : constructor to assign 0 to instance variables.

void input() : accepts integer to be converted to base 16.

voidhexadeci(int) : to convert decimal integer to hexadecimal form.

voiddecihexa() : to convert hexadecimal number back to decimal form.

Specify the class change giving the details of the constructor and the functions void input(), void

hexadeci(int) and void decihexa(). The main function need not be written.

[ 10 ]

**Question 11.**

A class Rearrange has been defined to insert an element and to delete an element from an array. Some

of the members of the class are given below:

Class name : Rearrange

Data members

a[] : integer type array

n : size of array (integer)

pos1 : position of insertion (integer)

pos2 : position of deletion

item : item to be inserted (integer)

Member functions

void enter() : to enter size, array elements and to display the entered

elements.

void insert() : to accept element (item) to be inserted, position of

insertion and insert the element (item) at the position

of insertion.

void disp1() : to display the array after item is inserted.

void disp2() : to display the array after item is deleted.

void remov() : to accept the position of deletion and delete

element(item) at the position of deletion.

Specify the class Rearrange giving details of the functions void enter(), void insert(), void disp1(), void

disp2() and void remov(). The main function need not be written.

[ 10 ]

**Question 12.**

Class Convert has been defined to express digits of an integer in words. The details of the class are given

below:

Class name : Convert

Data members

n : integer whose digits are to be expressed in

words.

Member functions

Convert() : constructor to assign 0 to n.

void inpnum() : to accept the value of n.

void extdigit(int) : to extract the digits of n using recursive

technique.

void num_to_words(int) : to display the digits of an integer in words.

Specify the class Convert giving details of the constructor and function void inpnum(), void extdigit(int)

and void num_to_words(int). The main function need not be written.

[ 10 ]

**Question 13.**

A class Student defines the personal data of a student while another class Marks defines the register

number, name of subject and marks obtained by the student. The details of both the classes are given

below:

Class name : Student

Data members

name : string to store name.

sex : string to store sex

age : integer to store age

Member functions

void inpdetails() : to accept values for data members.

void show() : to display personal data of student.

Class name : Marks

Data members

regnum : int to store registration number.

marks : int to store marks.

subject : String to store subject name.

Member functions

void inpdetails() : to accept values for data members.

void show() : to display exam and student details.

a) Specify the class Student giving details of the functions void inpdetails() and void show().

b) Specify the class Marks using the concept of inheritance giving details of the functions void

inpdetails() and void show(). The main function need not be written.

[ 10 ]

**Question 14.**

A class Mystring has been defined for the following methods:

Class name : Mystring

Data members

str : to store a string

len : length of the given string.

Member functions

Mystring() : constructor

void readstring() : reads the given string from input.

int code(int index) : returns Unicode for character at position index.

void word() : displays the longest word in the string.

Specify the class Mystring giving details of the constructor and void readstring(), int code(int index), void

word() only. The main function need not be written.

**************