2011 previous year paper solved
DESCRIPTION
ÂTRANSCRIPT
1 www.cppforschool.com
COMPUTER SCIENCE-2011
Time allowed : 3hours] [Maximum Marks :70
Instructions (i) All questions are compulsory
(ii) Programming Language : C++
1. (a) What is the difference between Local Variable and Global Variable ? Also,
give suitable C++ code to illustrate both. 2
(b) Write the names of the header files, which is/are essentially required to
run/execute the following C++ code: 1
void main ()
{
char C, String [] = “Excellence Overload”;
for (int I=0; String [I] ! = „\0‟;I++}
if (String [I] == „ ‟)
cout<<endl;
else
{
C=toupper(String [I]);
cout<<C;
}
}
(c) Rewrite the following program after removing the syntactical errors (if any).
Underline each correction. 2
#include [iostream.h]
typedef char Text (80);
void main ()
{
Text T=“Indian”;
int Count=strlen(T);
cout<<T<<„has‟<<Count<<„characters‟<<endl;
}
(d) Find the output of the following program: 3
# include <iostream.h>
void ChangeArray (int Number, int ARR[], int Size)
{
for (int L=0; L<Size; L++)
If (L<Number)
2 www.cppforschool.com
ARR[L] + = L;
else
ARR[L] * = L;
}
void Show(int ARR [], int Size)
{
for (int L=0; L<size; L++)
(L%2!=0) ? cout<<ARR[L] <<“#” : cout<<ARR[L] <<endl;
}
void main ( )
{
int Array [] = {30,20,40,10,60,50};
ChangeArray (3, Array, 6);
Show (Arry,6);
}
(e) Find the output of the following program: 2
# include <iostream.h>
void main ( )
{
int Track [] = {10,20,30,40,}, *Striker ;
Striker=Track ;
Track [1] + = 30 ;
cout<<“Striker>”<<*Striker<<endl ;
* Striker - =10 ;
Striker++;
cout<<“Next @”<<*Striker <<endl ;
Striker+=2 ;
cout<<“last @”<<*Striker<<endl ;
cout<<“Reset To” <<Track [0] <<endl ;
}
(f) Go through the C++ code shown below, and find out the possible output or
output from the suggested output options (i) to(iv). Also, write the least
value and highest value, which can be assigned to the variable guess. 2
# include <iostream.h>
#include <stdlib.h>
void main ( )
{
randomize ();
int Guess, High=4 ;
Guess=random (High) +50;
for (int C=guess ; C<=55 ; C++)
cout<<C<<“#”;
3 www.cppforschool.com
}
(i) 50 # 51 # 52 # 53 # 54 # 55 #
(ii) 52 # 53 # 54 # 55 #
(iii) 53 # 54 #
(iv) 51 # 52 # 53 # 54 # 55
2. (a) Differentiate between members, which are present within the private visibility
mode with those which are present within the public visibility modes. 2
(b) Write the output of the following C++ code. Also, write the name of feature of
Object Oriented Programming used in the following program jointly illustrated by
the functions [I] to [IV]. 2
#include<iostream.h>
void Print ( ) // Function [I]
{
for (int K=1;K<=60; K++) cout<< “-”;
cout<<endl;
}
void Print (int N) //Function[II]
{
for (int K=1;K<=N; L++) cout<<“*”;
cout<<endl;
}
void Print(int A, int B) //Function[III]
{
for(int K=1;K<=B;K++) cout<<A*k;
cout<<endl;
}
void Print(char T, int N) // Function[IV]
{
for (int K=1;k<=N;K++) cout<<T;
cout<<endl;
}
void main( )
{
int U=9,V=4,W=3;
char C =‟@‟;
Print(C,V);
Print(U,W);
}
(c) Define a class candidate in C++ with following Description:
Private Members 4
A data member RNo (Registration Number) of type long
A data member Name of type string
4 www.cppforschool.com
A data member Score of type float
A data member Remark of type string
A member function AssignRem( ) to assign Remarks as per the Score
obtained by a candidate. Score range and the respective Remarks are
shown as follows:
Score Remarks
>=50 Selected
less than 50 Not selected
Public members
A function ENTER( ) to allow user to enter values for RNo, Name, Score
& call function AssignRem() to assign the remarks.
A function DISPLAY( ) to allow user to view the content of all the data
members.
(d) Answer the question (i) to (iv) based on the following: 4
class Student
{
int Rno;
char Name[20];
float Marks;
protected:
void result( );
public:
Student ( );
void Register ( ); void Display( );
};
class Faculty
{
long FCode;
char FName [20];
protected:
float Pay;
public:
Faculty ( );
void Enter( );
void Show( );
};
class Course: public Student, private Faculty
{
long CCode [10]; char CourseName [50];
5 www.cppforschool.com
char StartDate [8], EndDate [8];
public:
Course( );
void Commence ( );
void CDetail ( );
};
(i) Which type of inheritance is illustrated in the above C++ code?
(ii) Write the names of all the data members, which is /are accessible from
member function Commence of class Course.
(iii) Write the names of member functions, which are accessible from objects of
class Course.
(iv) Write the names of all the members, which are accessible from objects of
class faculty.
3. (a) Write a Get1From2( ) function in C++ to transfer the content from two arrays
FIRST[ ] and SECOND[ ] to array ALL[ ]. The even places (0, 2, 4,…) of array
ALL[] should get the content from the array FIRST[ ] and odd places (1,3,5,…)
of the array ALL [ ]should get the content from the array SECOND[ ] . 3
Example:
If the FIRST[ ] array contains
30, 60, 90
And the SECOND[ ] array contains
10, 50, 80
The ALL[ ] array should contain
30, 10, 60, 50, 90, 80
(b) An array P[20] [50] is stored in the memory along the column with each of its
Element occupying 4 bytes, find out the location of P[15] [10], if P[0][0] is stored
at 5200. 3
(c) Write a function in C++ to Perform insert operation on a dynamically
allocated Queue containing Passenger details as given in the following
definition of NODE. 4
struct NODE
{
long Pno; //passenger number
char Pname[20]; //passenger name
NODE *Link;
};
6 www.cppforschool.com
(d) Write a COLSUM ( ) function in C++ to find sum of each column of each
column of a NxM matrix. 2
(e) Evaluate the following postfix notation of expression :
50, 60, +,20, 10, -, * 2
4. (a) Observe the program segment given below carefully and fill the blanks
marked as Statement 1 and Statement 2 using seekg( ), seekp( ), tellp( ) and tellg()
functions for performing the required task. 1
# include <fstream.h>
class PRODUCT
{
int Pno; char pname [20]; int qty;
public :
:
void ModifyQty ( ); // The function is to modify quantity of a
PRODUCT
};
void PRODUCT :: ModifyQty ( )
{
fstream Fil;
Fil.open (“PRODUCT.DAT” , ios : : binary | ios : : in | ios : : out);
int MPno;
cout<<“Product No to modify quantity :”; cin>>MPno;
while( Fil.read ((char*) this, sizeof (PRODUCT)))
{
if (MPno ==Pno)
{
cout<<“present quantity:” <<Qty<<endl;
cout<<“changed quantity:”; cin>>Qty;
int position = ________; //Statement 1
___________________; //Statement 2
Fil.write ((char*) this, sizeof (PRODUCT)); // Re-writing
the Record
}
}
Fil.close( );
}
(b) Write a function in C++ to count the no. of “Me” or “My” words present in a
text file “DIARY.TXT”. 2
If the file “DIARY.TXT” content is as follows :
My first book was Me and My
family. It gave me chance to be
7 www.cppforschool.com
known to the world.
The output of the function should be
Count of Me/ My in file : 4
(c) Write a function in C++ to search for a laptop from a binary file
“LAPTOP.DAT” containing the objects of class LAPTOP (as defined below).
The user should enter the Model No and the function should search and
display the details of the laptop. 3
class LAPTOP
{
long ModelNo;
float RAM, HDD;
char Details[120];
public:
void StockEnter ( ) {cin>>Model No>>RAM>>HDD; gets(Details);}
void StockDisplay( ){cout<<ModelNo<<RAM<<HDD<<Details<<endl;}
long ReturnModelNo ( ) { return ModelNo ;}
};
5. (a) What do you understand by Union & Cartesian Product operations in
relational algebra? 2
Consider the following tables WORKER and PAYLEVEL and answer (b) and (c)
parts of this question:
Table: WORKER
ECODE NAME DESIG PLEVEL DOJ DOB
11 Radhe Shyam Supervisor P001 13-Sep-2004 23-Aug-1981
12 Chander Nath Operator P003 22-Feb-2010 12-Jul-1987
13 Fizza Operator P003 14-Jun-2009 14-Oct-1983
15 Ameen Ahmed Mechanic P002 21-Aug-2006 13-Mar-1984
18 Sanya Clerk P002 19-Dec-2005 09-Jun-1983
Table: PAYLEVEL
PLEVEL PAY ALLOWANCE
P001 26000 12000
P002 22000 10000
P003 12000 6000
(b) Write SQL commands for the following statements: 4
(i) To display the details of all WORKERs, descending order of DOB.
(ii) To display NAME and DESIG of those WORKERs whose PLEVEL is
either P001 or P002.
8 www.cppforschool.com
(iii)To display the content of all the WORKERs table, whose DOB is in
between „19-JAN-1984‟ and 18-JAN-1987‟.
(iv) To add a new row with the following :
19, „Days Kishore‟, „Operator‟, „P003‟. „19-Jun-2008‟, „11-Jul-1984‟
(c) Give the output of the following SQL queries : 2
(i) SELECT COUNT (PLEVEL), PLEVEL FROM WORKER GROUP
BY PLEVEL;
(ii) SELECT MAX(DOB), MIN(DOJ) FROM WORKER;
(iii) SELECT Name, Pay FROM WORKER W, PAYLEVEL P WHERE
W.PLEVEL = S.PLEVEL AND P.ECODE<13;
(iv) SELECT PLEVEL, PAY+ALLOWANCE FROM PAYLEVEL
WHERE PLEVEL = „P003‟;
6. (a) Verify the following using Truth Table 2
U.(U‟ + V) = (U+V)
(b) Write the equivalent Boolean Expression for the following Logic Circuit.
2
(c) Write the POS form of a Boolean function F, which is represented in a truth
table as follows: 1
A B C D
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
(d) Reduce the following Boolean Expression using K-Map :
F(P, Q, R, S) = ∑ (0, 1, 2, 4, 5, 6, 8, 12) 3
9 www.cppforschool.com
7. (a) Differentiate between packet switching and message switching technique in
network communication. 1
(b) Differentiate between BUS and STAR topology of networks. 1
(c) What is VoIP ? 1
(d) Out of the following, identify client side script(s) and server side script(s).
(a) ASP (b) Javascript 1
(c) VBscript (b) JSP
(e) Quick Learn University is setting up its Academic blocks at Prayag Nagar and
planning to set up a network. The university has 3 academic blocks and one
Human Resource Center as shown in the diagram below : 4
Center to center distances between various block/center is as follows :
Law Block to Business Block 40 m
Law Block to Technology Block 80 m
Law Block to HR Center 105 m
Business Block to Technology Block 30 m
Business Block to HR Center 35 m
Technology Block to HR Center 15 m
Number of Computers in each of the Blocks / Center is follows :
Law Block 15
Technology Block 40
HR Center 115
Business Block 25
(e1) Suggest the most suitable place (i.e. Block / Center) to install the server of
this university with a suitable reason.
(e2) Suggest an ideal layout for connecting these blocks/center for a wired
connectivity.
(e3) Which device you will suggest to be placed/ installed in each of these
blocks/center to efficiently connect all the computers with in these blocks / center.
10 www.cppforschool.com
(e4) The university is planning to connect its admission office in the closest big
city, which type of network out of LAN, MAN or WAN will be formed? Justify
your answer.
(f) Which of the following will come under Cyber Crime?
i. Theft of a brand new sealed pack laptop
ii. Access to a bank account for getting unauthorized Money Transaction
iii. Modification in a company data with unauthorized access
iv. Photocopying a printed report
(g) Compare open source software and proprietary software.
_______________________
www.cppforschool.com
340
Marking Scheme ó Computer Science
General Instructions :
1. The answers given in the marking scheme are SUGGESTIVE, Examiners are requested to
award marks for all alternative correct Solutions / Answers conveying the similar meaning
2. All programming questions have to be answered with respect to C++ Language only.
3. In C++, ignore case sensitivity for identifiers
(Variable/Functions/Structures/Class Names)
4. In SQL related questions - both ways of text/character entries should be acceptable for
Example: “AMAR” and ‘amar’ both are correct.
5. In SQL related questions - all date entries should be acceptable for Example: 'DD-Mon-
YY', "DD/MM/YY", 'DD/MM/YY', "MM/DD/YY", 'MM/DD/YY', and {MM/DD/YY}
are correct.
6. In SQL related questions - semicolon should be ignored for terminating the SQL statements
7. In SQL related questions, ignore case sensitivity.
QUESTION PAPER CODE 91/1
EXPECTED ANSWERS
1. (a) What is the difference between Local Variable and Global Variable?
Also, give a suitable C++ code to illustrate both. 2
Ans Local Variables: Local variables are those variables which are declared
within a function or a compound statement and these variables can only be
used within that function/scope.
Global Variables: Global variables are those variables which are not declared
within any function or scope. So, these variables can be accessed by any
function of the program.
Example
#include<iostream.h>
#include<conio.h.>
int G; // Global variable declared
341
void Fun ( )
{
int L = 25; // Local variable of function Fun ( ) assigned value 25
G=5; // Global Variable is accessed and assigned value 5
Cout<<G<<endl; // Value of global variable is displayed as 5
Cout<<L<<endl; // Value of local variable is displayed as 25
}
void main ( )
{
Fun ( ) ; // Function call
G = G + 5; // Global variable is incremented by 5
cout<<G<<endl; // Global variable is displayed as 10
}
(½ Mark for each correct explanation of Local Variable and Global
Variable)
(½ Mark for each correct example of Local variable and Global Variable)
OR
(Full 2 Maries for correct example(s) demonstrating the meaning of /
difference between Local Variable and Global Variable)
OR
(Only 1 Mark to be awarded if Explanation without supporting examples)
(b) Write the names of the header files, which is/are essentially required to run/execute the following C++ code:
void main ( )
{
char C, String [ ] = "Excellence Overload";
for (int I=0; String [ I ] ! = '\ 0'; I ++ )
if (String [I] ==' ')
342
cout<<end1;
else
{
C=toupper(String[I]);
cout<<C ;
}
}
Ans iostream.h
ctype.h
(½ Mark for writing each correct header file)
(c) Rewrite the following program after removing the syntactical errors (if any).Underline each correction. 2
#include[iostream.h]
typedef char Text(80) ;
void main ( )
{
Text T= "Indian";
int Count=strlen(T) ;
cout<<T<<'has'<<Count<< 'characters' <<end1;
}
Ans #include<iostream.h>
#include<string.h>
typedef char Text [80];
void main ( )
{
Text T= "Indian";
int Count=str1en(T);
cout<<T<< "has" <<Count<< "cbaracters"<<end1 ;
343
}
(½ Mark for writing # include<iostream.h>
(½ Mark for writing # include<string.h>
(½ Mark for writing typedef char Text(80];
(½ Mark for writing "has" and "characters")
(d) Find the output of the following program: 3
#inc1ude<iostream.h>
void ChangeArray(int Number, int ARR[ ], int Size)
{
for (int L =0; L<Size; L++)
if (L<Number)
ARR [L] +=L;
e1se
ARR [L] *=L;
}
void Show (int ARR [ ], int Size)
{
for (int L=0; L<Size; L++)
(L%2!=0) ?cout<<ARR[L] <<"#": cout<<ARR[L]<<end1 ;
}
void main ( )
{
int Array [ ] = {30, 20, 40, 10, 60, 50};
ChangeArray (3, Array, 6) ;
Show (Array, 6) ;
}
344
Ans 30
21#42
30#240
250#
(½ Mark for each correct value)
Note:
Deduct ½ Mark for not writing # at proper places
Deduct ½ Mark for not considering endl at proaer places
(e) Find the output of the following program: 2
#include<iostream.h>
void main ( )
{
int Track [ ] = {10, 20, 30, 40}, *Striker ;
Stxiker=Track :
Track [1] += 30 ;
cout<<"Striker>"<<*Striker<<end1 ;
Striker – =10 ;
Striker++ ;
cout<<"Next@"<<*Striker<<end1 ;
Striker+=2 ;
cout<<"Last@"<<*Striker<<end1 ;
cout<< "Reset To" <<Track[0] <<end1 ;
}
Ans Striker>10
Next@50
Last@40
Reset to 0
345
(½ for writing each line of output correctly)
Note:
Deduct ½ Mark if any/all special characters are missing
Deduct ½ Mark if endl is not considered at the right positions
(f) Go through the C++ code shown below, and find out the possible output or
outputs from the suggested Output Options (i) to (iv). Also, write the least
value and highest value, which can be assigned to the variable Guess. 2
#include <iostream.h>
#include <stdlib.h>
void main ( )
{
randomize ( ) ;
int Guess, High=4;
Guess=random{High)+ 50 ;
for{int C=Guess ; C<=55 ; C++)
cout<<C<<"#" ;
}
(i) 50 # 51 # 52 # 53 # 54 # 55 #
(ii) 52 # 53 # 54 # 55
(iii) 53 # 54 #
(iv) 51 # 52 # 53 # 54 # 55
Ans (i) 50 # 51 # 52 # 53 # 54 # 55 #
Least value 50
Highest value 53
(1 Mark for mentioning correct option (i))
( ½ Mark for mentioning correct Least value of Guess)
(½ Mark for mentioning correct Highest value of Guess)
346
2. (a) Differentiate between members, which are present within the private visibility
mode with those which are present within the public visibility modes. 2
Ans Private members of a class are accessible only to the member functions of the
same class.
Public members of a class are accessible to the member functions of the same
class as well as member functions of its derived class(es) and also to an object
of the class.
Example:
class Base
{
int N;
public:
void Assign ()
{
N=10;
}
};
class Derived: public Base
{
int X;
public:
void DisplayBase()
{
cout<<N; //Not Accessible
Assign ( ) ; //Accessible
}
} ;
void main ( )
347
{
Base B;
B.Assign( ) ; //Accessible
}
(1 Mark for correct explanation OR example illustrating non accessibility of
Private Members inside Derived class)
(1 Marie for correct explanation OR example illustrating accessibility of Public
Members inside Derived Class and to object of the class)
(b) Write the output of the following C++ code. Also. write the name of feature
of Object Oriented Programming used in the following program jointly
illustrated by the function [I] to [IV]. 2
#include<iostream.h>
void Print ( ) // Function [I]
{
for (int K=1 ; K<=60 ; K++) cout<< "-" ;
cout<<end1 ;
}
void Print (int N) // Function [II]
{
for (int K=1 ; K<=N ; L++) cout<<"*" ;
cout<<end1 ;
}
void Print (int A, int.B)
{
for (int K=1. ;K<=B ;K++) cout <<A*K ;
cout<<end1 ;
}
void Print (char T, int N) // Function [IV]
348
{
for (int K=1 ; K<=N ; K++) cout<<T ;
cout<<end1;
}
void main ( )
{
int U=9, V=4, W=3;
char C='@' ;
Print (C,V) ;
Print (U,W) ;
}
Ans. @@@@
91827
OR
No Output as L is not declared in void Print (int N)
Polymorphism
OR
Function Overloading
(½ Mark for writing each correct line of output)
(1 Mark for writing the feature name correctly)
(c) Define a class Candidate in C++ with following description: 4
Private Members
� A data member RNo (Registration Number) of type long
� A data member Name of type string
� A data member Score of type float
� A data member Remarks of type string
349
� A member function AssignRem( ) to assign Remarks as per the Scoreobtained by a candidate. Score range and the respective Remarks areshown as follows:
Score Remarks
>=50 Selected
less than 50 Not selected
Public Members
� A function ENTER ( ) to allow user to enter values for RNo, Name,Score & call function AssignRem( ) to assign the remarks.
� A function DISPLAY ( ) to allow user to view the content of all the datamembers.
Ans class Candidate
{
long RNo;
char Name[20];
float Score;
char Remarks[20];
void AssignRem( ) ;
public:
void Enter( );
void Display( );
} ;
void Candidate: :AssignRem( )
{
if (Score>=50)
strcpy (Remarks,"Selected") ;
else
strcpy(Remarks,"Not Selected") ;
}
350
void Candidate: : Enter ( )
{
cin>>RNo ;
gets (Name) ; cin>>Score;
AssignRem( ) ;
}
void Candidate: :Display()
{
cout<<RNo<<Name<<Score<<Remarks<<end1;
}
(½ Mark for correct syntax for class header)
(½ Mark for correct declaration of data members)
(1 Mark for correct definition of AssignRem())
(1 Mark for correct definition of Enter() with proper invocation of
AssignRem() function)
(1 Mark for correct definition of Display())
NOTE:
� Deduct ½ Mark to be deducted if Assignrem() is not invoked properly
inside Enter( ) function
� No marks to be deducted if member function definitions are written
inside the class
(d) Answer the questions (i) to (iv) based on the following:
class Strident
(
int Rno;
char Name [20] ;
float Marks;
351
protected:
void Result( ) ;
public:
Student( ) ;
void Register( ); void Display( ) ;
} ;
class Faculty
{
long FCode;
char FName[20];
protected:
float Pay;
public :
Faculty ( ) ;
void Enter ( ) ;
void Show ( ) ;
} ;
class Course : public Student, private Faculty
{
long CCode [10]; char CourseName [50] ;
char StartDate[8], EndDate[8] ;
public :
Course ( ) ;
void Commence ( ) ;
void CDetail ( ) ;
} ;
352
(i) Which type of inheritance is illustrated in the above C++ code?
Ans Multiple Inheritance
(1 Mark for correct answer)
(ii) Write the names of the all data members, which is/are accessible from
member function Commence of class Course.
Ans CCode, CourseName, StartDate, EndDate, Pay
(1 Mark for correct answer)
Note:
No marks to be awarded for any other alternative answer
(iii) Write the names of member functions, which are accessible from objects
of class Course.
Ans Commence( ), CDetail( ), Register( ), Display( )
(1 Mark for correct answer)
Note:
� No marks to be awarded for any other alternative answer
� Constructor functions to be ignored
(iv) Write the name of all the members, which are accessible from objects
of class Faculty.
Ans Enter( ), Show( )
(1 Mark for correct answer)
Note:
� No marks to be awarded for any other alternative answer
� Constructor functions to be iqnored
3 (a) Write a Get1From2 ( ) function in C++ to transfer the content from two
arrays FIRST[ ] and SECOND[ ] to array ALL[ ]. The even places (0, 2, 4,
...) of array ALL[ ] should get the content from the array FIRST[ ] and odd
places (1, 3, 5, ) of the array ALL[] should get the content from the array
SECOND[ ].
353
Example:
If the FIRST[ ] array contains
30, 60, 90
And the SECOND[ ] array contains
10, 50, 80
The ALL[ ] array should contain
30, 10, 60, 50, 90, 80
Ans void Get1From2 (int ALL[],int FIRST[],int SECOND[],
int N,int M)
{
for(int I=0,J=0,K=0;i<N+M; I++)
if (I%2==0)
ALL[I]=FIRST[J++];
else
ALL[I]=SECOND[K++];
}
OR
void Get1From2(int ALL[],int FIRST[],int SECOND[],
int N, int M)
{
int J=0,K=0;
for(int I=0;i<N+M; I++)
{
if (I%2==0)
{
ALL [I] =FIRST [J] ;
J++;
}
354
else
{
ALL[I]=SECOND[K];
K++;
}
}
}
(1 Mark for correct loop)
(½ Mark for checking even locations)
(½ Mark for checking even locations or writing else for odd locations)
( 1 Mark for incrementing FIRST and SECOND Array Locations)
(b) An array P[20] [50] is stored in the memory along the column with each of itselement occupying 4 bytes, find out the 1ocation of P[15][10], if P[0][0] isstored at 5200. 3
Ans Assuminq LBR=LBC=0
B=5200
W=4 bytes
Number of Rows(N)=20
Number of Columns(M)=50
LOC(Arr[I] [J]) = B +(I + J*N)*W
LOC(Arr[15][10]) = 5200+(15+10*20)*4
= 5200 + (215*4)
= 5200 + 860
= 6060
(1 Mark for writing correct formula (for row major) OR substitutingformula with correct values for calculating Address)
(2 marks for calculating correct address)
Note:
1 Mark to be awarded for writing only the correct answer (i.e. 6060)
355
(c) Write a function in C++ to perform Insert: operation on a dynamically allocated
Queue containing Passenger details as given in the following definition of
NODE. 4
struct NODE
{
long Pno; //passenger Number
char Pname[20] ; //passenger Name
NODE *Link.;
} ;
Ans class Queue
{
NODE *Front, *Rear;
public:
Queue ( ) {Front = NULL; Rear = NULL; }
void QueInsert ( ) ;
void QueDel ( ) ;
void QueDis ( ) ;
~Queue ( ) ;
} ;
void Queue: : QueInsert ( )
{
NODE*Temp=new NODE;
cin>>Temp->Pno; gets (Temp->Pname) ;
Temp->Link = NULL;
Rear->Li.nk = Temp;
Rear = Temp ;
}
356
(1 Mark for creating a new NODE dynamically)
(1 Mark for assigning NULL to Link of new NODE)
(1 Mark for linking the Rearmost NODE to the new NODE)
(1 Mark for making the new NODE as the Rearmost NODE)
(d) Write a COLSUM( ) function in C++ to find sum of each column of a NxM
Matrix. 2
Ans void COLSUM(int A[] [100], int N, int M)
{
int SUMC;
for (int j=0; j<M; j++)
{
SUMC = 0;
for (int i=0; i<N; i++)
SUMC = SUMC + A[i] [j] ;
Cout<< "Sum of Column "<<j<<" = "<<SUMC ;
}
}
(½ Mark for writing correct outer loop)
(½ Mark for initializing SUMC with 0 for each column)
(½ Mark tor writing correct inner loop)
(½ Mark for finding sum of each column)
(e) Evaluate the following postfix notation of expression: 2
50, 60, + , 20, 10, -, *
Ans Element Scanned STACK
50 50
60 50, 60
+ 110
357
20 110, 20
10 110, 20, 10
– 110, 10
* 1100
(2 Mark for evaluating 1100 as the final answer)
Note:
(½ Mark for writing only the final answer as 1100 without showing the
operations or Stack)
4. (a) Observe the program segment given below carefully and fill the blanks marked
as Statement 1 and Statement 2 using seekg( ), seekp( ), tellp( ) and tellg( )
functions for performing the required task. 1
#include<fstream.h>
class PRODUCT
{
int Pno; char Pname[20); int Qty;
public :
:
void ModifyQty( ) ;
// The function is to modify quantity of a PRODUCT
} ;
void PRODUCT: :ModifyQty ( )
{
fstream File ;
Fil.open ("PRODUCT.DAT", ios::binary |ios : : in| ios: :out) ;
int MPno;
cout<<"Product No to modify quantity : "; cin>>MPNo;
While (Fil.read ((char*) this, sizeof (PRODUCT))
358
{
if (MPno == Pno)
{
Cout<<"Present Quantity:"<<Qty<<end1 ;
cout<<"Changed Quantity:";cin>>Qty ;
int Position = _______________; //Statement 1
_________________________; // Statement 2
Fil.write ((char*) this, sizeof (PRODUCT)) ;
//Re-writing the record
}
}
Fil.close ( ) ;
}
Ans Option 1
Statement 1: File. tellp ( ) ;
OR File.tellg ( ) ;
Statement 2: File.seekp (FilePos - sizeof (PRODUCT)) ;
OR File.seekp (-sizeof (PRODUCT), ios: :cur));
OR File.seekg (FilePos - sizeof (PRODUCT));
OR File.seekg (-sizeof (PRODUCT), ios: :cur));
Option 2
Statement 1: File.tellp ( ) - sizeof (PRODUCT) ;
OR File.tellg ( ) - sizeof (PRODUCT) ;
Statement 2: File. seekp (FilePos) ;
OR File.seekg (FilePos) ;
(½ Mark for writing Statement 1 correctly)
(½ Mark for writing Statement 2 correctly)
Note:File / Fil both are acceptable as the name of the File object
359
(b) Write a function in C++ to count the no. of "Me" or "My" words present in atext file "DIARY. TXT". 2
If the file "DIARY.TXT" content is as follows:
My first book was Me and My
family. It gave me chance to be
known to the world.
The output of the function should be
Count of Me/My in file : 4
Ans void COUNT ( )
{
ifstream Fil ("DIARY. TXT") ;
char STR [10] ;
int count = 0 ;
while (!Fil.eof ( ))
{
Fil>>STR;
if (strcmp (STR, "Me")==0 | | strcmp (STR, "My") ==0)
count++;
}
Cout<<"Count of Me/My in file : "<<count<<end1;
Fil.close( ) ; //Ignore
}
OR
Any other correct function definition performing the desired operation
(½ Mark for opening DIARY. TXT correctly)
(½ Mark for reading each word (Whichever method adopted) from, the file)
(½ Mark for comparing the word with 'Me' and 'My' and incrementing counter)
(½ Mark for displaying the number of 'Me/My' with/without the Text Message)
NOTE:
Ignore case sensitivity check for Me/My
360
(c) Write a function in C++ to search for a laptop from a binary file
"LAPTOP.DAT" containing the objects of class LAPTOP (as defined below).
The user should enter the Model No and the function should search and
display the details of the laptop. 3
class LAPTOP
{
long ModelNo ;
float RAM, HDD ;
char Details [120] ;
public:
void StockEnter ( )
{cin>>ModelNo>>RAM>>HDD; gets (Details);}
void StockDisplay ( )
{cout<<ModelNo<<RAM<<HDD<<Details<<endl;}
long ReturnModelNo ( ) {return ModelNo ;}
} ;
Ans void Search( )
{
LAPTOP L;
long modelnum;
cin>>modelnum;
ifstream fin;
fin.open ("LAPTOP.DAT", ios: :binary | ios: :in);
while(fin.read ((char*) &L,sizeof (L)))
{
if (L.ReturnModelNo ( ) == modelnum)
L.StockDisplay ( ) ;
361
}
Fin.close() ; //Ignore
}
OR
void Search (long modelnum)
{
LAPTOP L;
ifstream fin;
fin.open ("LAPTOP.DAT", ios: :binary | ios: :in) ;
while (fin.read ((char*) &L,sizeof (L)))
{
if (L.ReturnModelNo ( ) == modelnum)
L.StockDisplay ( ) ;
}
fin.close ( ) ; //Ignore
}
(½ Mark for declaring and entering a model number for a LAPTOP to
search OR passing it as a parameter to the function)
(½ Mark for opening LAPTOP.DA T correctly)
(½ Mark for reading each record from LAPTOP.DA T)
(½ Mark for correct loop / checking end of file)
(½ Mark for comparing value returned by ReturnModelNo() with model
number entered)
(½ Mark for displaying the matching record)
5 (a) What do you understand by Union & Cartesian Product operations in rela-tional algebra? 2
Ans Cartesian Product (binary operator): It operates on two relations and is
denoted by X. For example Cartesian product of two relations R1 and R2 is
362
represented by R = R1 X R2. The degree of R is equal to sum of degrees of
R1 and R2. The cardinality of R is product of cardinality of R1 and cardinality
of R2.
Example:
Relation: R1
Roll No Student Name Class
1 Akash XII
4 Debakar X
10 Rishi XI
Relation: R2
Teacher Code Teacher Name
102 Ms Rinee
309 Mr Tanmoy
Resultant: R = R1 × R2
Col1 Col2 Col3 Col4 Col5
1 Akash XII 102 Ms Rinee
1 Akash XII 309 Mr Tanmoy
4 Debakar X 102 Ms Rinee
4 Debakar X 309 Mr Tanmoy
10 Rishi XI 102 Ms Rinee
10 Rishi XI 309 Mr Tanmoy
Union (binary operator): It operates on two relations and is indicated by U.
For example, R=R1 U R2 represents union operation between two relations
R1 and R2. The degree of R is equal to degree of R1. The cardinality of R is
sum of cardinality of R1 and cardinality of R2.
Following have to be considered for the operation R1 U R2.
� Degree of R1 = Degree of R2
� jth attribute of R1 and jth attribute of R2 must have a common domain.
363
Example:
Relation: R1
Student_I D Name
R490 Fatima
R876 Faraz
R342 Gauri
Relation: R2
Student_Code Student_Name
S123 Rekha
S456 Tushi
Resultant Relation: R = R1 U R2
Column 1 Column2
R490 Fatima
R876 Faraz
R342 Gauri
S123 Rekha
S456 Tushi
(1 Marie for explaining Union correctly)
(1 Marie for explaining Cartesian Product correctly)
Consider the following tables WORKER and PAYYLEVEL and answer(b) and (c) parts of this question: 4
Table: WORKER
ECODE NAME DESIG PLEVEL DOJ DOB
11 Radhe Shyam Supervisor P001 13- Sep- 2004 23-Aug-1981
12 Chander Nath Operator P003 22-Feb-2010 12-Jul-1987
13 Fizza Operator P003 14-Jun-2009 14-0ct-1983
15 Ameen Ahmed Mechanic P002 21-Aug-2006 13-Mar-1984
18 Sanya Clerk P002 19-Dec-2005 09-Jun-1983
364
Table: PAYLEVEL
PLEVEL PAY ALLOWANCE
P001 26000 12000
P002 22000 10000
P003 12000 6000
(b) Write SQL commands for the following statements:
(i) To display the details of all WORKERs in descending order of DOB.
SELECT FROM WORKER ORDER BY DOB DESC;
(1 Mark for correct query)
(½ Mark for partially correct answer)
(ii) To display NAME and DE;SIG of those WORKERs, whose PLEVEL
is either P001 or P002.
SELECT NAME, DESIG FROM WORKER
WHERE PLEVEL IN ('P001', 'P002') ;
OR
SELECT NAME, DESIG FROM WORKER
WHERE PLEVEL = 'P001' OR PLEVEL= 'P002';
(1 Marie for correct query)
(½ Marie for partially correct answer)
(iii) To display the content of all the WORKERs table, whose DOB is in
between '19-JAN-1984' and '18-JAN-1987'.
SELECT * FROM WORKER
WHERE DOB BETWEEN '19-JAN-1984' AND '18-JAN-1987' ;
OR
SELECT * FROM WORKER
WHERE DOB >= '19-JAN-1984' AND DOB<='18-JAN-1987';
OR
365
SELECT * FROM WORKER
WHERE DOB > '19-JAN-1984' AND DOB<'18-JAN-1987' ;
(1 Mark for correct query)
(½ Mark for partially correct answer)
(iv) To add a new row with the following:
19, 'Daya Kishore', 'Operator', 'P003', '19-Jun-2008', '11-Jun-1984'
INSERT INTO WORKER
VALUES (19, 'Daya Kishore', 'Operator' , 'P003' , '11-Jun-1984');
(1 Mark for correct query)
(½ Mark for partially correct answer)
(c) Give the output of the following SQL queries: 2
(i) SELECT COUNT (PLEVEL), PLEVEL FROM WORKER GROUP
BY PLEVEL;
Ans. COUNT (PLEVEL) PLEVEL
1 P001
2 P002
2 P003
( ½ Mark for correct output)
(ii) SELECT MAX (DOB), MIN (DOJ) FROM WORKER;
MAX (DOB) MIN (DOJ)
12-Jul-1987 13-Sep-2004
( Mark for correct output)
(iii) SELECT Name, Pay FROM WORKER W, PAYLEVEL P
WHERE W. PLEVEL = S. PLEVEL AND P.ECODE<13 ;
Name Pay
Radhe Shyam 26000
Chander Nath 12000
366
OR
P.ECode does not exist
(½ Mark for correct output)
OR
( Mark for writing No Output)
(iv) SELECT PLEVEL, PAY+ALLOWANCE FROM PAYLEVEL
WHERE PLEVEL= 'P003' ;
PLEVEL PAY+ALLOWANCE
P003 118000
(½ Mark for correct output)
6 (a) Verify the following using Truth Table. 2
U. (U' +V) = (U + V)
Ans U V U' U'+V U.(U'+V) U+V
0 0 1 1 0 0
0 1 1 1 0 1
1 0 0 0 0 1
1 1 0 1 1 1
VERIFIED FALSE
(2 Marks to be awarded if Truth Table is made OR any equivalent term
conveying the same meaning)
(b) Write the equivalent Boolean Expression for the following logic Circuit. 2
367
Ans F=(X+Y').(X+Z')
(2 Marks for the final expression (X+Y').(X+Z')
OR
(1 Mark for anyone of the correct terms out of (X+Y’) or (X+ Z’)
(c) Write the POS form of a Boolean function F, which is represented in a truth
table as follows: 1
A B C F
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
Ans F(A,B,C) = (A+B+C).(A+B'+C').(A'+B+C').(A'+B'+C)
(1 Mark for the correct POS form)
Note: Deduct ½ mark if wrong variable names are used
(d) Reduce the following Boolean Expression using K-Map: 3
F(P, Q, R, S) = E (0,1,2,4,5,6,8, 12)
P' Q' P' Q P Q P Q'
R' S' 1 1 1 1
R' S 1 1
R S
R S' 1 1
OR
368
R' S' R' S R S R S'
P' Q' 1 1 1
P' Q 1 1 1
P Q 1
P Q' 1
Ans F(P,Q,R,S) = P'R' + R'S' + P'S'
(½ Mark for placing all 1s at correct positions in K-Map)
(½ Mark for each grouping)
(1 Mark for writing final expression in reduced/minimal form)
Note: Deduct ½ mark if wrong variable names are used
7. (a) Differentiate between packet switching and message switching technique innetwork communication. 1
Ans Packet switching: In packet switching, a fixed size of data packet that can betransmitted across the network is specified and then the data packets are sentthrough switching stations to the final destination. All the packets are stored inthe main memory instead of disk. As a result accessing time of packets isreduced.
Message switching: The source computer sends data (message) to theswitching station, which stores data in a buffer. It then looks for a free link toanother switching station and sends data to that station. This process continuesuntil data is delivered to the destination computer. This type of switchingtechnique is also known as "store and forward" switching.
(½ Marks for written OR diagrammatic explanation of correct PacketSwitching)
(½ Marks for written OR diagrammatic explanation of correct MessageSwitching)
(b) Differentiate between BUS and STAR topology of networks. 1
Ans Bus Topology Star Topology
� Slower as compared to star � Expensive as compared to Bus
topologies of network topology
369
� Breakage of wire at any point � Long wire length
disturbs the entire network
(½ Marks for written or diagrammatic explanation of correct Bus
Topology)
(½ Marks for written or diagrammatic explanation of correct Star
Topology)
(c) What is VoIP? 1
Ans Voice over Internet Protocol (Voice over IP, VoIP) is communication protocols
and transmission technologies for delivery of voice communications andmultimedia sessions over Internet Protocol (IP) networks, such as the Internet.
Also, we can say, VoIP are IP telephony, Internet telephony and broadbandtelephony.
(1 Mark for explaining VoIP)
Note: 1 Mark for writing full form of VoIP
(d) Out of the following, identify client side script (s) and server side script(s). 1
(a) ASP (b) Javascript
(c) VBScript (d) JSP
Ans Java script & VB script are client side scripts
JSP & ASP are server side scripts
(½ Mark for writing correct Client Side Scripts)
(½ Mark for writing correct Server Side Scripts)
(e) Quick learn University is setting up its Academic blocks at Prayag Nagar and
planning to set up a network. The university has 3 academic blocks and one
Human Resource Center as shown in the diagram below. 4
370
Center to center distance between various block/center is as follows"
Law Block to Business Block 40m
Law Block to Technology Block 80m
Law Block to HR Center 105m
Business Block to Technology Block 30m
Business Block to HR Center 35m
Technology Block to HR Center 15m
Number of Computers in each of the Blocks/Centre is follows:
Law Block 15
Technology Block 40
HR Center 115
Business Block 25
(e1 ) Suggest the most suitable place (i.e. Block/Center) to install the server of this
university with a suitable reason.
Ans HR center:
Reason as it has the maximum number of computers
OR
Business Block
Reason as it is closest to all other Centers (minimum cable length required)
(½ Mark for mentioning any correct place)
(½ Mark for correct reason)
OR
(1 Mark for any other location with a valid reason)
(e2) Suggest an ideal layout for connecting these blocks/centers for a wired con-
nectivity.
371
Ans. Option 1:
Option 2:
(1 Mark for mentioning any valid connectivity or topology or diagram
connecting various compounds inside the campus)
(e3) Which device you will suggest to be placed/installed in each of these blocks/center to efficiently connect all the computers with in these blocks/center.
Ans Switch
(1 Mark for mentioning correct device)
Note:
(1 mark to be awarded if Switch / Hub is mentioned)
(e4) The university is planning to connect its admission office in the closest big city,
which is more than 250 km from university, which type of network out of
LAN, MAN or WAN will be formed? Justify your answer.
Ans WAN as the given distance is more than the range of LAN and MAN.
(1 Mark for correct network type)
(f) Which of the following will come under Cyber Crime? 1
(i) Theft of a brand new sealed pack Laptop
(ii) Access to a bank account for getting unauthorized Money Transaction
(iii) Modification in a company data with unauthorized access
(iv) Photocopying a printed report
Ans. (ii) and (iii)
Note:
No marks to be awarded for any other alternative answer
(½ Mark for each correct option)
(g) Compare open source software and proprietary software. 1
Ans. Open source software refers to a program or software in which the source
code (the form of the program when a programmer writes a program in a
particular programming language) is available to the general public for use
and/or modification from its original design free of charge.
Proprietary software is software that is owned by an individual or a company
(usually the one that developed it). There are almost always major restrictions
on its use, and its source code is almost always kept secret.
(½ Mark for each correct explanation/comparison)
-------
www.cppforschool.com