0% found this document useful (0 votes)
9 views16 pages

12_2009_sample_paper_computer_science_02_ms

This document is a sample paper for Computer Science (Code 083) with a maximum score of 70 marks and a duration of 3 hours. It includes various programming questions related to Object Oriented Programming, C++ syntax, and algorithms, along with their solutions. The paper covers topics such as polymorphism, constructors, memory allocation, and file handling.

Uploaded by

ekta shroff
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)
9 views16 pages

12_2009_sample_paper_computer_science_02_ms

This document is a sample paper for Computer Science (Code 083) with a maximum score of 70 marks and a duration of 3 hours. It includes various programming questions related to Object Oriented Programming, C++ syntax, and algorithms, along with their solutions. The paper covers topics such as polymorphism, constructors, memory allocation, and file handling.

Uploaded by

ekta shroff
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/ 16

Computer Science (Code 083)

Sample Paper with Solution Set –II


Max. Marks: 70 Duration: 3 Hours
1.
(a) What is the difference between Object Oriented Programming and Procedural
Programming? 2

Answer:
Object Oriented Programming Procedural Programming
• Emphasis on Data • Emphasis on doing things (functions)
• Follows Bottom-Up approach in • Follows Top-down approach in
program design program design
• Data hiding feature prevents accidental • Presence of Global variables
change in data increase chances of accidental
change in data
• Features like data encapsulation, • Such features are not available
polymorphism, inheritance are present

(1/2 Mark for each point of difference – to maximum of 2 marks)

(d) Write the names of the header files to which the following belong: 1
(i) frexp() (ii) isalnum()
Answer:
(i) math.h (ii) ctype.h

(1/2 Mark for mentioning name of each header file)

(e) Rewrite the following program after removing the syntactical errors (if any).
Underline each correction. 2

#include <iostream.h>
struct Pixels
{ int Color,Style;}
void ShowPoint(Pixels P)
{ cout<<P.Color,P.Style<<endl;}
void main()
{
Pixels Point1=(5,3);
ShowPoint(Point1);
Pixels Point2=Point1;
Color.Point1+=2;
ShowPoint(Point2);
}
Answer:
#include <iostream.h>
struct Pixels
{ int Color,Style;};
void ShowPoint(Pixels P)
{ cout<<P.Color<<P.Style<<endl;}
void main()
{
Pixels Point1={5,3};
ShowPoint(Point1);
Pixels Point2=Point1;

9
Point1.Color+=2;
ShowPoint(Point2);
}

(1/2 Mark for correcting each error)


OR
(1 Mark for identifying all the 4 errors with no correction)

(d) Find the output of the following program: 3


#include <iostream.h>
void Changethecontent(int Arr[], int Count)
{
for (int C=1;C<Count;C++)
Arr[C-1]+=Arr[C];
}
void main()
{
int A[]={3,4,5},B[]={10,20,30,40},C[]={900,1200};
Changethecontent(A,3);
Changethecontent(B,4);
Changethecontent(C,2);
for (int L=0;L<3;L++) cout<<A[L]<<’#’;
cout<<endl;
for (L=0;L<4;L++) cout<<B[L] <<’#’;
cout<<endl;
for (L=0;L<2;L++) cout<<C[L] <<’#’;
}
Answer:
7#9#5#
30#50#70#40#
2100#1200#
(1 Mark for each correct line of output)
Note:
Deduct ½ Mark for not showing : in the output
Deduct ½ Mark for not considering endl

(e) Find the output of the following program: 2


#include <iostream.h>
struct Game
{
char Magic[20];int Score;
};
void main()
{
Game M={“Tiger”,500};
char *Choice;
Choice=M.Magic;
Choice[4]=’P’;
Choice[2]=’L’;
M.Score+=50;
cout<<M.Magic<<M.Score<<endl;
Game N=M;
N.Magic[0]=’A’;N.Magic[3]=’J’;
N.Score-=120;
cout<<N.Magic<<N.Score<<endl;
}

10
Answer:
TiLeP550
AiLJP430

(1 Mark for each line of output)

(g) In the following program, if the value of N given by the user is 20, what maximum
and minimum values the program could possibly display? 2

#include <iostream.h>
#include <stdlib.h>
void main()
{
int N,Guessnum;
randomize();
cin>>N;
Guessnum=random(N-10)+10;
cout<<Guessnum<<endl;
}

Answer:
Maximum Value: 19 Minimum Value: 10

(1 Mark for writing correct minimum value)


(1 Mark for writing correct maximum value)

2.
(a) What do you understand by Polymorphism? Give a suitable example of the same. 2
Answer:
Polymorphism: It is a method of using the same operator or function (method) to work
using different sets of input. Function overloading is one of the example of polymorphism,
where more than one function carrying same name behave differently with different set of
parameters passed to them.

void Display()
{
cout<<”Hello!”<<endl;
}
void Display(int N)
{
cout<<2*N+5<<endl;
}

(1 Mark for definition)


(1 Mark for example)
OR
(Full 2 marks for explaining both with the help of an example)

(c) Answer the questions (i) and (ii) after going through the following program: 2

class Match
{
int Time;
public:
Match() //Function 1

11
{
Time=0;
cout<<”Match commences”<<end1;
}
void Details() //Function 2
{
cout<<”Inter Section Basketball Match”<<end1;
}

Match(int Duration) //Function 3


{
Time=Duration;
cout<<”Another Match begins now”<<end1;
}

Match(Match &M) //Function 4


{
Time=M.Duration;
cout<<”Like Previous Match ”<<end1;
}

};

iii) Which category of constructor - Function 4 belongs to and what is the purpose
of using it?
Answer:
Copy Constructor, it is invoked when an object is created and initialised with
values of an already existing object.

( ½ Mark for mentioning “Constructor”)


( ½ Mark for correctly answering to remaining part of the question)

iv) Write statements that would call the member Functions 1 and 3
Answer:
Match M1; //for Function 1
Match M2(90); //for Function 3

( ½ Mark for each example)

(d) Define a class in C++ with following description: 4


Private Members
• A data member Flight number of type integer
• A data member Destination of type string
• A data member Distance of type float
• A data member Fuel of type float
• A member function CALFUEL() to calculate the value of Fuel as per the
following criteria
Distance Fuel
<=1000 500
more than 1000 and <=2000 1100
more than 2000 2200

12
Public Members
• A function FEEDINFO() to allow user to enter values for Flight Number,
Destination, Distance & call function CALFUEL() to calculate the quantity of
Fuel
• A function SHOWINFO() to allow user to view the content of all the data
members
Answer:
class FLIGHT
{
int Fno;
char Destination[20];
float Distance, Fuel;
void CALFUEL();
public:
void FEEDINFO();
void SHOWINFO();
};
void FLIGHT::CALFUEL()
{
if (Distance<1000)
Fuel=500;
else
if (Distance<2000)
Fuel=1100;
else
Fuel=2200;
}
void FLIGHT::FEEDINFO()
{
cout<<”Flight No :”;cin>>Fno;
cout<<”Destination :”;gets(Destination);
cout<<”Distance :”;cin>>Distance;
CALFUEL();
}
void FLIGHT::SHOWINFO()
{
cout<<”Flight No :”<<Fno<<endl;
cout<<”Destination :”<<Destination<<endl;
cout<<”Distance :”<<Distance<<endl;;
cout<<”Fuel :”<<Fuel<<endl;;
}

(1 Mark for correctly declaring Data Members)


(1 Mark for correctly defining CALFUEL())
( ½ Mark for correctly defining FEEDINFO())
( ½ Mark for calling CALFUEL() from FEEDINFO())
( ½ Mark for correctly defining SHOWINFO())
( ½ Mark for correct syntax of class)

(e) Answer the questions (i) to (iv) based on the following: 4


class CUSTOMER
{
int Cust_no;
char Cust_Name[20];
protected:
void Register();

13
public:
CUSTOMER();
void Status();
};
class SALESMAN
{
int Salesman_no;
char Salesman_Name[20];
protected:
float Salary;
public:
SALESMAN();
void Enter();
void Show();
};
class SHOP : private CUSTOMER , public SALESMAN
{
char Voucher_No[10];
char Sales_Date[8];
public:
SHOP();
void Sales_Entry();
void Sales_Detail();
};

(vi) Write the names of data members which are accessible from objects belonging
to class CUSTOMER.
(vii)Write the names of all the member functions which are accessible from objects
belonging to class SALESMAN.
(viii) Write the names of all the members which are accessible from member
functions of class SHOP.
(ix) How many bytes will be required by an object belonging to class SHOP?
Answer:
(i) None of data members are accessible from objects belonging to class CUSTOMER.
(ii) Enter(), Show()
(iii) Data members: Voucher_No, Sales_Date, Salary
Member function: Sales_Entry(), Sales_Details(), Enter(), Show(), Register(), Status()
(iv) 66

( 1 Mark for each correct answer)


Note:
No marks to be given for partial answers

3.
(a) Write a function in C++ to combine the contents of two equi-sized arrays A and B
by computing their corresponding elements with the formula 2*A[i]+3*B[i]; where
value i varies from 0 to N-1 and transfer the resultant content in the third same
sized array. 4
Answer:
void AddNSave(int A[],int B[],int C[],int N)
{
for (int i=0;i<N;i++)
C[i]=2*A[i]+3*B[i];
}

(1 Mark for function header with desired parameters)

14
(1 Mark for correct formation of loop)
(1 Mark for the formula)
(1 Mark for transferring elements in the resultant array)

(f) An array P[20][30] is stored in the memory along the column with each of the
element occupying 4 bytes, find out the memory location for the element P[5][15],
if an element P[2][20] is stored at the memory location 5000. 4
Answer:
Given,
W=4
N=20
M=30
Loc(P[2][20])=5000
Column Major Formula:
Loc(P[I][J]) =Base(P)+W*(N*J+I)
Loc(P[2][20]) =Base(P)+4*(20*20+2)
5000 =Base(P)+4*(400+2)
Base(P) =5000- 1608
Base(P) =3392

Loc(P[5][15]) =3392+4*(20*15+5)
=3392+4*(300+5)
=3392+1220
=4612
(1/2 Mark for correct formula/substitution of values in formula)
(1 ½ Mark for correctly calculating Base Address)
(2 Mark for correctly calculating address of desired location)

(g) Write a function in C++ to perform Push operation on a dynamically allocated


Stack containing real numbers. 4
Answer:
struct NODE
{
float Data; NODE *Link;
};
class STACK
{
NODE *Top;
public:
STACK();
void Push();
void Pop();
};
void STACK::Push()
{
NODE *Temp;
Temp=new NODE;
cin>>Temp->Data;
Temp->Link=Top;
Top=Temp;
}
( ½ Mark for appropriate function header)
( ½ Mark for declaring a Temporary pointer - TEM P)
(1 Mark for new operation)
(1 Mark for Temp->Link to Top)
(1 Mark for assigning Top as Temp)

15
(h) Write a function in C++ to find sum of rows from a two dimensional array. 2
Answer:
void MatAdd(int A[100][100],int N,int M)
{
for (int R=0;R<N;R++)
{
int SumR=0;
for (int C=0;C<M;C++)
SumR+=A[C][R];
cout<<SumR<<endl;
}
}

( ½ Mark for initialization of desired variables)


(1 Mark for loops)
( ½ Mark for statement to add rows elements)

(i) Evaluate the following postfix notation of expression: 2


True, False, AND, True, True, NOT, OR, AND
Answer:
Step 1: Push

True
Step 2: Push

False
True
Step 3: AND Push
Pop Pop
Op2=True Op1=False
Op2=True
True False
Step 4: Push

True
False
Step 5: Push

True
True
False
Step 6: NOT Push
Pop
Op2=True False
True True
False False
Step 7: OR Push
Pop Pop
Op2=False Op1=True

16
True Op2=False True
False False False
Step 8: AND Push
Pop Pop
Op2=True Op1=False
Op2=True
False False
Step 9: Pop

Result
False

( 1½ Mark for showing stack position for operatio ns NOT,OR and AND)
( ½ Mark for correctly evaluating the final resul t)

4.
(a) Observe the program segment given below carefully and fill the blanks marked as
Statement 1 and Statement 2 using seekg() and tellg() functions for performing the
required task. 1

#include <fstream.h>
class Employee
{
int Eno;char Ename[20];
public:
//Function to count the total number of records
int Countrec();
};
int Item::Countrec()
{
fstream File;
File.open(“EMP.DAT”,ios::binary|ios::in);
______________________ //Statement 1

int Bytes = ______________________ //Statement 2

int Count = Bytes / sizeof(Item);


File.close();
return Count;
}

Answer:
File.seekg(0,ios::end); //Statement 1
File.tellg(); //Statement 2

( ½ Mark for each correct statement)

17
(b) Write a function in C++ to count the number of alphabets present in a text file
“NOTES.TXT”. 2
Answer:
void CountAlphabet()
{
ifstream FIL(“NOTES.TXT”);
int CALPHA=0;
char CH=FIL.get();
while (!FIL.eof())
{
if (isalpha(CH)) CALPHA++;
CH=FIL.get();
}
cout<<”No. of Alphabets:”<<CALPHA<<endl;
FIL.close();
}

(½ mark for opening the file in ‘in’ mode)


(½ mark for correct use of eof)
(½ mark for reading each character)
(½ mark for correct increment)

(c) Write a function in C++ to add new objects at the bottom of a binary file
“STUDENT.DAT”, assuming the binary file is containing the objects of the
following class. 3
class STUD
{
int Rno;
char Name[20];
public:
void Enter(){cin>>Rno;gets(Name);}
void Display(){cout<<Rno<<Name<<endl;}
};
Answer:
void Addnew()
{
fstream FIL;
FIL.open(“STUDENT.DAT”,ios::binary|ios::app);
STUD S;
char CH;
do
{
S.Enter();
FIL.write((char*)&S,sizeof(S));
cout<<”More(Y/N)?”;cin>>CH;
}
while(CH!=’Y’);
FIL.close();
}

(½ mark for opening the file in ‘app’ mode)


(½ mark for declaration of desired variables)
(½ mark for calling the member function Enter cor rectly)
(1 mark for writing the content of object to the binary file)
(½ mark for forming the appropriate loop)

18
5.
(a) What do you understand by Primary Key & Candidate Keys? 2
Answer:
An attribute or set attributes which are used to identify a tuple uniquely is known as
Primary Key. If a table has more than one such attributes which identify a tuple uniquely
than all such attributes are known as Candidate Keys.

(b) Consider the following tables GAMES and PLAYER. Write SQL commands for the
statements (i) to (iv) and give outputs for SQL queries (v) to (viii) 6

Table: GAMES
GCode GameName Number PrizeMoney ScheduleDate
101 Carom Board 2 5000 23-Jan-2004
102 Badminton 2 12000 12-Dec-2003
103 Table Tennis 4 8000 14-Feb-2004
105 Chess 2 9000 01-Jan-2004
108 Lawn Tennis 4 25000 19-Mar-2004

Table: PLAYER
PCode Name Gcode
1 Nabi Ahmad 101
2 Ravi Sahai 108
3 Jatin 101
4 Nazneen 103

(i) To display the name of all Games with their Gcodes


Answer:
SELECT GameName,Gcode FROM GAMES;
(1 mark for correct SELECTion of columns)

(ii) To display details of those games which are having PrizeMoney more than
7000.
Answer:
SELECT * FROM GAMES WHERE PrizeMoney>7000
( ½ mark for correct SELECTion of columns)
( ½ mark for correct use of WHERE)

(iii) To display the content of the GAMES table in ascending order of ScheduleDate.
Answer:
SELECT * FROM GAMES ORDER BY ScheduleDate;
( ½ mark for correct SELECTion of columns)
( ½ mark for correct use of ORDER BY)

(iv) To display sum of PrizeMoney for each of the Number of participation


groupings (as shown in column Number 2 or 4)
Answer:
SELECT SUM(PrizeMoney),Number FROM GAMES GROUP BY Number;
( ½ mark for correct SELECTion of columns)
( ½ mark for correct use of GROUP BY)

(v) SELECT COUNT(DISTINCT Number) FROM GAMES;


Answer:
2
( ½ mark for correct output)

19
(vi)SELECT MAX(ScheduleDate),MIN(ScheduleDate) FROM GAMES;
Answer:
19-Mar-2004 12-Dec-2003
( ½ mark for correct output)

(vii)SELECT SUM(PrizeMoney) FROM GAMES;


Answer:
59000
( ½ mark for correct output)

(viii) SELECT DISTINCT Gcode FROM PLAYER;


Answer:
101
103
108
( ½ mark for correct output)

6.
(a) State and algebraically verify Absorbtion Laws. 2
Answer:
X+X.Y = X
L.H.S = X+X.Y
= X.1+X.Y
= X.(1+Y)
= X.1
= X
= R.H.S

X+X’.Y = X+Y
L.H.S. = X+X’.Y
= (X+X’).(X+Y)
= 1.(X+Y)
= X+Y
= R.H.S

(1 mark for stating the correct law)


(1 mark for the appropriate verification using algebraic method)

(b) Write the equivalent Boolean Expression for the following Logic Circuit 2

Answer:
F(U,V)=U’.V+U.V’
(Full 2 marks for obtaining the correct Boolean Expression for the Logic Circuit)
OR
(1 mark correctly interpreting Product terms)

20
(e) Write the SOP form of a Boolean function G, which is represented in a truth table
as follows: 1
Answer:
P Q R G
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

G(P,Q,R) = P’.Q.R’+P.Q’.R’+P.Q.R’+P.Q.R

(1 mark for correct SOP representation)

(f) Reduce the following Boolean Expression using K-Map: 3


Π(0,1,2,4,5,6,8,10)
F(U,V,W,Z)=Π
Answer:

U’V’ U’V UV UV’


W’Z’ 1
0 4 12 8
W’Z 1 1
1 5 13 9
WZ 1 1 1 1
3 7 15 11
WZ’ 1
2 6 14 10

F(U,V,W,Z)=UV+WZ+UZ

(1 mark for correctly drawing K-Map with 1s represented on right places)


(1 mark for minimizing each Quad)
(1 mark for writing the complete Boolean Expression)

7.
b) Define the term Bandwidth. Give unit of Bandwidth. 1
Answer:
Bandwidth is the capability of a medium to transmit an amount of information
over a distance. Bandwidth of a medium is generally measured in bits per second
(bps) or more commonly in kilobits per second (kbps)

( ½ Mark for correct definition and ½ Mark for corr ect unit)

b) Expand the following terminologies: 1


(i) HTML (ii) XML
Answer:
(i) Hypertext Markup Language
(ii) Extended Markup Language

( ½ Mark for each correct expansion)

21
e) Define the term firewall. 1
Answer:
Firewall is a feature used for Network Security. In a Network there is always
danger of information leaking out or leaking in. Firewall is a feature which forces
all information entering or leaving the network to pass through a check to make
sure that there is no unauthorized usage of the network.
(1 Mark for correct definition)

f) What is the importance of URL in networking? 1


Answer:
URL stands for Uniform Resource Locator. Each page that is created for Web
browsing is assigned a URL that effectively serves as the page’s worldwide
name or address. URL’s have three parts: the protocol , the DNS name of the
machine on which the page is located and a local name uniquely indicating the
specific page(generally the filename).

(1 Mark for correct significance)

e)
Ravya Industries has set up its new center at Kaka Nagar for its office and
web based activities. The company compound has 4 buildings as shown in
the diagram below:

Fazz
Raj
Building
Building

Jazz
Harsh Building
Building

Center to center distances between various buildings is as follows:


Harsh Building to Raj Building 50 m
Raz Building to Fazz Building 60 m
Fazz Building to Jazz Building 25 m
Jazz Building to Harsh Building 170 m
Harsh Building to Fazz Building 125 m
Raj Building to Jazz Building 90 m

Number of Computers in each of the buildings is follows:


Harsh Building 15
Raj Building 150
Fazz Building 15
Jazz Bulding 25

22
e1) Suggest a cable layout of connections between the buildings. 1
Answer:
Layout 1:

Fazz
Raj
Building
Building

Jazz
Harsh Building
Building

Layout 2: Since the distance between Fazz Building and Jazz Building is quite
short

Fazz
Raj
Building
Building

Jazz
Harsh Building
Building

(1 Mark for appropriate layout)

e2) Suggest the most suitable place (i.e. building) to house the server of
this organisation with a suitable reason. 1
Answer:
The most suitable place / block to house the server of this organisation would
be Raj Building, as this block contains the maximum number of computers,
thus decreasing the cabling cost for most of the computers as well as
increasing the efficiency of the maximum computers in the network.

(1 mark for correct placement)

23
e3) Suggest the placement of the following devices with justification: 1
(iii) Internet Connecting Device/Modem
(iv) Switch
Answer:
(i) Raj Building
(ii) In both the layouts, a hub/switch each would be needed in all the
buildings, to interconnect the group of cables from the different
computers in each block
( ½ Mark for placement of each device correctly)

e4) The organisation is planning to link its sale counter situated in various
parts of the same city, which type of network out of LAN, MAN or WAN
will be formed? Justify your answer. 1
Answer:
The type of network that shall be formed to link the sale counters situated in
various parts of the same city would be a MAN, because MAN (Metropolitan
Area Networks) are the networks that link computer facilities within a city.
( ½ mark for correct type and ½ mark for correct ju stification)

24

You might also like