CBSE Question Paper 2018 Class 12 Computer Science
CBSE Question Paper 2018 Class 12 Computer Science
CBSE Question Paper 2018 Class 12 Computer Science
General Instructions :
SECTION A
[Only for candidates, who opted for C++]
1. a. Write the type of C++ tokens (keywords and user defined identifiers) from the
following : (2)
i. else
ii. Long
iii. 4Queue
iv. _count
Ans.
i. keyword
ii. Identifier
iii. None
iv. Identifier
NOTE: Ignore (iii)
b. The following C++ code during compilation reports errors as follows :
Error: ‘ofstream’ not declared
Error: ‘strupr’ not declared
1 / 40
Error: ‘strcat’ not declared
Error: ‘FIN’ not declared
Write the names of the correct header files, which must be included to compile
the code successfully : (1)
void main()
{
ofstream FIN("WISH.TXT");
char TEXT2[]="good day";
char TEXT1[]="John!";
strupr(TEXT2);
strcat(TEXT1, TEXT2);
FIN<<TEXT1<<endl;
}
Ans.
i. fstream
ii. string
c. Rewrite the following C++ code after removing any/all syntactical errors with each
correction underlined. (2)
Note : Assume all required header files are already included in the program.
Typedef Count int;
void main()
{
Count C;
cout<<"Enter the count:";
cin>>C;
for (K = 1; K<=C; K++)
cout<< C "*" K <<endl;
}
Ans. typedef int Count ;//Error 1, Error 2
void main()
{
Count C;
int K; //OR Count K; //Error 3
2 / 40
cout<<"Enter the count:";
cin>>C;
for (K = 1; K<=C; K++)
// OR for ( int K = 1; K<=C; K++) //Error 3
// OR for ( Count K = 1; K<=C; K++) //Error 3
cout<< C << "*" << K <<endl; //Error 4
// OR cout<< C * K <<endl; //Error 4
}
d. Find and write the output of the following C++ program code : (3)
Note : Assume all required header files are already included in the program. void
Revert(int &Num, int Last=2)
{
Last=(Last%2==0)?Last+1:Last-1;
for(int C=1; C<=Last; C++)
Num+=C;
}
void main()
{
int A=20,B=4;
Revert(A,B);
cout<<A<<"&"<<B<<endl;
B--;
Revert(A,B);
cout<<A<<"#"<<B<<endl;
Revert(B);
cout<<A<<"#"<<B<<endl;
}
Ans. 35&4
38#3 38#9
e. Find and write the output of the following C++ program code : (2)
Note : Assume all required header files are already included in the program.
#define Modify(N) N*3+10
3 / 40
void main()
{
int LIST[ ]={10,15,12,17};
int *P=LIST, C;
for(C=3; C>=0; C--)
LIST[I]=Modify(LIST[I]);
for (C=0; C<=3; C++)
{
cout<<*P<<":";
P++;
}
}
Ans. Considering LIST[I] being replaced with LIST[C]
40:55:46:61:
f. Look at the following C++ code and find the possible output(s) from the options
(i) to (iv) following it. Also, write the highest and lowest values that can be
assigned in the array A. (2)
Note :
Assume all the required header files are already being included in the
code.
The function random(n) generates an integer between 0 and n – 1.
void main()
{
randomize();
int A[4], C;
for(C=0; C<4; C++)
A[C]=random(C+1)+10;
for(C=3; C>=0; C--)
cout<<A[C]<<"@";
}
(i) (ii)
13@10@11@10@ 15 12
4 / 40
(iii) (iv)
12@11@13@10@ 12@11@10@10@
OR
Option [ii]
Functions 1,2,4,5 are overloaded
Reason: Function 3 and 6 not considered in this case because it would give
redeclaration error for Function 5
OR Any equivalent valid reason
OR
Option [iii]
Functions 1,2,4,6 are overloaded
Reason: Function 3 and 5 not considered in this case because it would give
redeclaration error for Function 6
OR Any equivalent valid reason
5 / 40
b. Observe the following C++ code and answer the questions (i) and (ii).
Note : Assume all necessary files are included.
class FIRST
{
int Num1;
public:
void Display() //Member Function 1
{
cout<<Num1<<endl;
}
};
class SECOND: public FIRST
{
int Num2;
public:
void Display() //Member Function 2
{
cout<<Num2<<endl;
}
};
void main()
{
SECOND S;
_______________ //Statement 1
_______________ //Statement 2
}
i. Which Object Oriented Programming feature is illustrated by the definitions of
classes FIRST and SECOND ? (1)
Ans. Inheritance
OR
Encapsulation
OR
6 / 40
Data Abstraction
OR
Data Hiding
OR
S.SECOND::Display() //Statement 2
c. Write the definition of a class CONTAINER in C++ with the following description :
(4)
Private Members
- Radius, Height // float
- Type // int (1 for Cone,2 for Cylinder)
- Volume // float
- CalVolume() // Member function to calculate
// volume as per the Type
1 3.14*Radius*Height
2 3.14*Radius*Height/3
Public Members
- GetValues() // A function to allow user to enter value //
of Radius, Height and Type. Also, call
// function CalVolume() from it
- ShowAll() // A function to display Radius, Height,
// Type and Volume of Container
Ans. class CONTAINER
{
7 / 40
float Radius, Height;
int Type;
float Volume;
void CalVolume();
public:
void GetValues();
void ShowAll();
};
void CONTAINER::GetValues()
{
cin>>Radius>>Height>>Type ;
CalVolume();
} void CONTAINER::ShowAll()
{
cout<<Radius<<Height<<Type<<Volume<<endl;
}
void CONTAINER::CalVolume()
{
void CONTAINER::CalVolume() switch (Type)
{ {
if (Type == 1) case 1:
Volume=3.14*Radius*Height; Volume =3.14*Radius*Height;
else if (Type == 2) break;
Volume=3.14*Radius*Height/3; case 2:
} Volume=3.14*Radius*Height/3;
}
}
d. Answer the questions (i) to (iv) based on the following : (4)
class Teacher
{
int TCode;
protected: char
Name[20];
8 / 40
public:
Teacher();
void Enter(); void Show();
};
class Course
{
int ID;
protected:
Char Title[30];
public:
Course();
void Initiate();
void Display();
};
class Schedule : public Course, private Teacher {
int DD,MM,YYYY;
public:
Schedule();
void Start();
void View();
};
void main()
{
Schedule S;
}
i. Which type of Inheritance out of the following is illustrated in the above
example?
Single Level Inheritance, Multilevel Inheritance, Multiple Inheritance Ans.
Multiple Inheritance
ii. Write the names of all the members, which are directly accessible by the
member function View() of class Schedule.
Ans. Start(), DD, MM, YYYY
9 / 40
Display(), Initiate(), Title
Enter(), Show(), Name
View() // Optional
iii. Write the names of all the members, which are directly accessible by the
object S of class Schedule declared in the main() function.
Ans. View(), Start()
Display(), Initiate()
iv. What will be the order of execution of the constructors, when the object S of
class Schedule is declared inside the main() function ?
Ans. Course(), Teacher(), Schedule()
3. a. Write the definition of a function SumEO(int VALUES[], int N) in C++, which
should display the sum of even values and sum of odd values of the array
separately. (2)
Example : If the array VALUES contains
20 20 22 21 53
Then the functions should display the output as :
Sum of even values = 42 (i.e., 20+22)
Sum of odd values = 99 (i.e., 25+21+53)
Ans. void SumEO(int VALUES[], int N)
{
int SE = 0, SO = 0;
for (int I=0;I<N;I++)
{
if(VALUES[I] %2 == 0)
SE += VALUES[I];
else
SO += VALUES[I];
}
cout<< "Sum of even values = " << SE<<endl;
cout<< "Sum of odd values = " << SO<<endl;
}
OR
10 / 40
Any other correct alternative code in C++
b. Write a definition for a function UpperHalf(int Mat[4][4]) in C++, which displays the
elements in the same way as per the example shown below. (3)
For example, if the content of the array Mat is as follows :
25 24 23 22
20 19 18 17
15 14 13 12
10 9 8 7
The function should display the content in the following format :
25 24 23 22
20 19 18
15 14
10
Ans. void UpperHalf(int Mat[4][4])
{
for (int I=0;I<4;I++)
{
for (int J=0;J<4-I;J++)
cout<<MAT[I][J]<< " " ;
cout<<endl;
}
}
OR
11 / 40
cout<<endl;
}
}
OR
OR
LOC(Data[I][J]) = Base(Data)+W*(NC*(I-LBR)+(J-LBC))
Taking LBR=0, LBC=0
LOC(Data[15][10]) = Base(Data)+2*(15*15+10)
15000 = Base(Data)+2*(15*15+10)
Base(Data) = 15000 - 2*(235)
Base(Data) = 15000 - 470
Base(Data) = 14530
LOC(Data[10][5])= 14530 + 2*(10*15+5)
= 14530 + 2*(155)
= 14530 + 310
= 14840
OR
LOC(Data[I][J]) = Base(Data)+W*(NC*(I-LBR)+(J-LBC))
Taking LBR=1, LBC=1
12 / 40
LOC(Data[15][10]) = Base(Data)+2*(15*14+9)
15000 = Base(Data)+2*(15*14+9)
Base(Data) = 15000 - 2*(219)
Base(Data) = 15000 - 438
Base(Data) = 14562
LOC(Data[10][5])= 14562 + 2*(15*9+4)
= 14562 + 2*(139)
= 14562 + 278
= 14840
d. Write the definition of a member function AddPacket() for a class QUEUE in C++, to
remove/delete a Packet from a dynamically allocated QUEUE of Packets considering
the following code is already written as a part of the program. (4) struct Packet
{
int PID;
char Address[20];
Packet *LINK;
};
class QUEUE
{
Packet *Front, *Rear; public:
QUEUE(){Front=NULL;Rear=NULL;}
void AddPacket();
void DeletePacket();
~QUEUE();
};
Ans. void QUEUE::AddPacket()
{
if(Front != NULL)
{
Packet *T;
T=Front;
13 / 40
cout<<Front->PID<<Front->Address<<" removed"<<endl;
//OR cout<<T->PID<<T->Address<<" removed"<<endl;
Front = Front->LINK;
delete T;
if (Front==NULL)
Rear=NULL;
}
else
cout<< "Queue Empty"<<endl;
}
OR
U U
* * U
V * UV
) UV*
+ + UV*
W UV*W
- +- UV*W
Z +- UV*WZ
) + UV*WZ-
/ +/ UV*WZ-
X +/ UV*WZ-X
14 / 40
) + UV*WZ-X/
) UV*WZ-X/+
OR
U * V + (W - Z) / X
U U
* * U
V * UV
+ + UV*
( +( UV*
W +( UV*W
- + (- UV*W
Z + (- UV*WZ
) + UV*WZ-
/ +/ UV*WZ-
X +/ UV*WZ-X
UV*WZ-X/+
4. a. A text file named MATTER.TXT contains some text, which needs to be displayed
such that every next character is separated by a symbol ‘#’.
Write a function definition for HashDisplay() in C++ that would display the entire
content of the file MATTER.TXT in the desired format. (3)
Example :
If the file MATTER.TXT has the following content stored in it :
THE WORLD IS ROUND
The function HashDisplay() should display the following content :
T#H#E# #W#O#R#L#D# #I#S# #R#O#U#N#D#
15 / 40
Ans. void HashDisplay()
{
char ch;
ifstream F("MATTER.TXT" );
while(F.get(ch))
cout<<ch<<'#';
F.close(); //IGNORE
}
OR
{
int SCode; //School Code
char SName[20]; //School Name
int NOT; //Number of Teachers in the school
public:
void Display()
{cout<<SCode<<"#"<<SName<<"#"<<NOT<<endl;}
int RNOT(){return NOT;}
};
16 / 40
Ans. void TotalTeachers()
{
ifstream F;
F.open("SCHOOLS.DAT",ios::binary);
int Count=0;
SCHOOLS S;
while(F.read((char*)&S,sizeof(S)))
Count += S.RNOT();
cout<<"Total number of teachers :"<<Count<<endl;
F.close(); //IGNORE
}
OR
void TotalTeachers()
{
ifstream F;
F.open("SCHOOLS.DAT",ios::binary);
SCHOOLS S;
while(F.read((char*)&S,sizeof(S)))
cout<<S.RNOT()<<endl;//OR S.Display();
F.close(); //IGNORE
}
OR
c. Find the output of the following C++ code considering that the binary file
SCHOOLS.DAT exists on the hard disk with the following records of 10 schools of
the class SCHOOLS as declared in the previous question (4 b). (1)
17 / 40
1002 Care Share School 300
SECTION B
[Only for candidates, who opted for Python]
1. a. Differentiate between Syntax Error and Run-Time Error. Also, write a suitable
example in Python to illustrate both. (2)
Ans. Syntax error :An error of language resulting from code that does not conform to the
syntax of the programming language.
Example
a=0
while a < 10 # : is missing as per syntax
18 / 40
a=a+1
print a
Runtime error :A runtime error is an error that causes abnormal termination of
program during running time..
Example
A=10
B= int(raw_input("Value:"))
print A/B
# If B entered by user is 0, it will be run-time error
b. Name the Python Library modules which need to be imported to invoke the
following functions : (1)
i. sin()
ii. search()
Ans.
i. math
ii. re
c. Rewrite the following code in Python after removing all syntax error(s).
Underline each correction done in the code. (2)
Val = int(rawinput("Value:"))
Adder = 0
for C in range(1,Val,3)
Adder+=C
if C%2=0:
Print C*10
Else: print
C* print
Adder
Ans. Val = int(raw_input("Value:")) # Error 1
Adder = 0
for C in range(1,Val,3) : # Error 2
Adder+=C
if C%2==0: # Error 3
print C*10 # Error 4
19 / 40
else: # Error 5
print C # Error 6
print Adder
OR
d. Find and write the output of the following Python code : (2)
Data = ["P",20,"R",10,"S",30]
Times = 0
Alpha = " "
Add = 0
for C in range(1,6,2):
Times = Times + C
Alpha = Alpha + Data[C-1]+"$"
Add = Add + Data[C]
print Times, Add, Alpha
Ans. 1 20 P R R
e. Find and write the output of the following Python code : (3)
class GRAPH:
def __init__(self,A=50,B=100):
self.P1=A
self.P2=B
def Up(self,B): self.P2
= self.P2 - B def
Down(self,B): self.P2
= self.P2 + 2*B def
Left(self,A):
20 / 40
self.P1 = self.P1 - A
def Right(self,A):
self.P1 = self.P1 + 2*A
def Target(self):
print "(",self.P1.":",self.P2,")"
G1=GRAPH(200,150)
G2=GRAPH()
G3=GRAPH(100)
G1.Left(10)
G2.Up(25)
G3.Down(75)
G1.Up(30)
G3.Right(15)
G1.Target()
G2.Target()
G3.Target()
Ans. ( 190 : 120 )
( 50 : 75 )
( 130 : 250 )
f. What possible output(s) are expected to be displayed on screen at the time of
execution of the program from the following code ? Also specify the maximum
values that can be assigned to each of the variables BEGIN and LAST. (2) import
random
POINTS=[20,40,10,30,15];
POINTS=[30,50,20,40,45];
BEGIN=random.randint(1,3)
LAST=random.randint(2,4) for C
in range(BEGIN,LAST+1): print
POINTS[C],"#",
def getRoll(self):
print self.rollno, self.marks
b. class Vehicle: #Line 1 (2)
Type = 'Car' #Line 2
def __init__(self, name): #Line 3
self.Name = name #Line 4
def Show(self): #Line 5
print self.Name,Vehicle.Type #Line 6
V1=Vehicle("BMW") #Line 7 V1.Show()
#Line 8 Vehicle.Type="Bus" #Line 9
V2=Vehicle("VOLVO") #Line 10
V2.Show() #Line 11
i. What is the difference between the variable in Line 2 and Line 4 in the above
Python code ?
Ans. The variable in Line 2 is a class attribute. This belongs to the class itself.
These attributes will be shared by all the instances.
22 / 40
The variable in Line 4 is an instance attribute. Each instance creates a separate
copy of these variables.
ii. Write the output of the above Python code.
Ans. BMW Car
VOLVO Bus
c. Define a class CONTAINER in Python with the following specifications : (4)
Instance Attributes
- Radius,Height # Radius and Height of Container
- Type # Type of Container
- Volume # Volume of Container
Methods
- CalVolume() # To calculate volume
# as per the Type of container
# With the formula as given below :
23 / 40
elif self.Type ==3:
self.Volume = 3.14 * self.Radius * self.Height /3
def GetValue(self):
self.Radius = input("Enter Radius")
self.Height = input("Enter Height")
self.Type = input("Enter type")
self.CalVolume() # OR CalVolume(self)
def ShowContainer(self):
print self.Radius
print self.Height
print self.Type
print self.Volume
d. Answer the questions (i) to (iv) based on the following : (4)
Class Top1(object):
def __init__(self,tx): #Line 1
self.X=tx #Line 2
def ChangeX(self,tx):
self.X=self.X+tx
def ShowX(self):
print self.X
Class Top2(object):
def __init__(self,ty): #Line 3
self.Y=ty #Line 4
def ChangeY(self,ty):
self.Y=self.Y+ty
def ShowY(self):
print self.Y,
24 / 40
Top1.__init__(self,3*tz): #Line 8
def ChangeZ(self,tz):
self.Z=self.Z+tz
self.ChangeY(2*tz)
self.ChangeX(3*tz)
def ShowZ(self):
print self.Z,
self.ShowY()
self.ShowX()
B=Bottom(1)
B.ChangeZ(2)
B.ShowZ()
i. Write the type of the inheritance illustrated in the above.
Ans. Multiple Inhertiance
ii. Find and write the output of the above code.
Ans. 3 6 9
OR
iii. What are the methods shown in Line 1, Line 3 and Line 5 known as ?
Ans. Constructors
iv. What is the difference between the statements shown in Line 6 and Line 7 ?
Ans. Initializing the member of child class in Line 6 and calling the parent class
constructor in Line 7
3. a. Consider the following randomly ordered numbers stored in a list : (3)
786, 234, 526, 132, 345, 467
Show the content of the list after the First, Second and Third pass of the bubble
sort method used for arranging in ascending order ?
Note : Show the status of all the elements after each pass very clearly
underlining the changes.
Ans.
25 / 40
II Pass 234 132 345 467 526 786
b. Write the definition of a method ZeroEnding(SCORES) to add all those values in the
list of SCORES, which are ending with zero (0) and display the sum. (3)
For example :
If the SCORES contain [200, 456, 300, 100, 234, 678]
The sum should be displayed as 600
Ans. def ZeroEnding(SCORES):
s=0
for i in
SCORES: if
i%10==0: s=s+i
print s
c. Write AddClient(Client) and DeleteClient(Client) methods in Python to add a new
Client and delete a Client from a List of Client Names, considering them to act as
insert and delete operations of the queue data structure. (4)
Ans. def AddClient(Client):
C=raw_input("Client name: ")
Client.append(C)
def DeleteClient(Client):
if (Client==[]):
print "Queue empty"
else:
print Client[0],"Deleted"
del Client[0] # OR Client.pop(0)
OR
class queue:
Client=[]
def AddClient(self):
a=raw_input("Client name: ")
queue.Client.append(a)
def DeleteClient(self):
26 / 40
if (queue.Client==[]):
print "Queue empty"
else:
print queue.Client[0],"Deleted"
del queue.Client[0]
22 22
11 22, 11
/ 2
5 2, 5
10 2, 5, 10
* 2, 50
+ 52
12 52, 12
27 / 40
- 40
OR
4. a. Write a statement in Python to open a text file STORY.TXT so that new contents can
be added at the end of it. (1)
Ans. file= open("STORY.TXT","a") OR file.open("STORY.TXT","a")
b. Write a method in Python to read lines from a text file INDIA.TXT, to find and
display the occurrence of the word ‘‘India’’. (2)
For example :
If the content of the file is
OR
def display():
c=0
28 / 40
file=open('INDIA.TXT','r')
lines = file.read() # lines = file.readline()
while lines:
words = lines.split()
for w in words:
if w=="India":
c=c+1
lines = file.read() # lines = file.readline()
print c
file.close()
try:
while True:
M=pickle.load(file)
if M.MTYPE=="Comedy":
M.Show()
except EOFError:
pass file.close()
SECTION C
[For all the candidates]
29 / 40
5. a. Observe the following tables VIDEO and MEMBER carefully and write the name of
the RDBMS operation out of (i) SELECTION (ii) PROJECTION (iii) UNION (iv)
CARTESIAN PRODUCT, which has been used to produce the output as shown
below. Also, find the Degree and Cardinality of the final result. (2)
TABLE : VIDEO
TABLE : MEMBER
VNO MNAME
30 / 40
DEGREE = 5
CARDINALITY = 9
b. Write SQL queries for (i) to (iv) and find outputs for SQL queries (v) to (viii),
which are based on the tables. (6)
TABLE : ACCOUNT
TABLE : TRANSACT
OR
31 / 40
iii. To display the last date of transaction (DOT) from the table TRANSACT for the
Accounts having ANO as 103.
Ans. SELECT MAX(DOT) FROM TRANSACT WHERE ANO = 103;
iv. To display all ANO, ANAME and DOT of those persons from tables ACCOUNT
and TRANSACT who have done transactions less than or equal to 3000.
Ans. SELECT ACCOUNT.ANO,ANAME,DOT FROM ACCOUNT,TRANSACT
WHERE ACCOUNT.ANO=TRANSACT.ANO AND AMOUNT <=3000;
OR
ANO ANAME
OR
ANO ANAME
32 / 40
103
vii. SELECT ANO, COUNT(*), MIN(AMOUNT) FROM TRANSACT
GROUP BY ANO HAVING COUNT(*)> 1;
Ans.
ANO COUNT (*) MIN (ANOUNT)
101 2 2500
103 2 1000
viii. SELECT COUNT(*), SUM(AMOUNT) FROM TRANSACT
WHERE DOT <= '2017-06-01';
Ans.
2 5000
6. a. State any one Absorption Law of Boolean Algebra and verify it using truth table.
(2)
Ans. X + X . Y =
X Verification:
X Y X.Y X+X.Y
0 0 0 0
0 1 0 0
1 0 0 1
1 1 1 1
OR
X . (X + Y)= X
Verification:
X Y X.Y X. (X+Y)
0 0 0 0
0 1 1 0
33 / 40
1 0 1 1
1 1 1 1
OR
X + X’ . Y = X + Y
Verification:
0 0 1 0 0 0
0 1 1 1 1 1
1 0 0 0 1 1
1 1 0 0 1 1
OR
X . (X’+ Y)= X . Y
Verification:
0 0 1 1 0 0
0 1 1 1 0 0
1 0 0 0 0 0
1 1 0 1 1 1
b. Draw the Logic Circuit of the following Boolean Expression : (2) (U'
+ V).(V' + W')
Ans.
34 / 40
c. Derive a Canonical POS expression for a Boolean function FN, represented by the
following truth table : (1)
X Y Z FN (X, Y ,Z)
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
Ans. FN(X,Y,Z)= (X+Y’+Z).(X+Y’+Z’).(X’+Y+Z’).(X’+Y’+Z)
OR
FN(X,Y,Z)= ∏ (2,3,5,6)
d. Reduce the following Boolean Expression to its simplest form using K-Map : 3
G(U,V,W,Z) = (3,5,6,7,11,12,13,15)
Ans.
35 / 40
7. a. Differentiate between Bus Topology and Star Topology of Networks. What are the
advantages and disadvantages of Star Topology over Bus Topology ? (2)
Ans.
OR
36 / 40
Advantages of Star Topology over Bus Topology
b. Classify each of the following Web Scripting as Client Side Scripting and Server
Side Scripting : (2)
i. Java Scripting
ii. ASP
iii. VB Scripting
iv. JSP
Ans.
i. Client Side Scripting / Server Side Scripting
ii. Server Side Scripting
iii. Client Side Scripting
iv. Server Side Scripting
c. Write the expanded names for the following abbreviated terms used in
Networking and Communications : (2)
i. SMTP
ii. VoIP
iii. GSM
iv. WLL
Ans.
i. Simple Mail Transfer Protocol
37 / 40
ii. Voice over Internet Protocol (Voice over IP)
iii. Global System for Mobile Communication
iv. Wireless Local Loop
d. CASE STUDY BASED QUESTION :
Ayurveda Training Educational Institute is setting up its centre in Hyderabad with
four specialised departments for Orthopedics, Neurology and Pediatrics along with
an administrative office in separate buildings. The physical distances between these
department buildings and the number of computers to be installed in these
departments and administrative office are given as follows. You, as a network expert,
have to answer the queries as raised by them in (i) to (iv).
Pediatrics Unit 40
Neurology 50
Orthopedics Unit 80
38 / 40
i. Suggest the most suitable location to install the main server of this institution to
get efficient connectivity. (1)
Ans. Administrative Office
ii. Suggest the best cable layout for effective network connectivity of the
building having server with all the other buildings. (1)
Ans.
OR
iii. Suggest the devices to be installed in each of these buildings for connecting
computers installed within the building out of the following : (1)
Gateway
39 / 40
Modem
Switch
Ans. Switch
iv. Suggest the topology of the network and network cable for efficiently
connecting each computer installed in each of the buildings out of the
following : (1)
Topologies : Bus Topology, Star Topology
Network Cable : Single Pair Telephone Cable, Coaxial Cable, Ethernet Cable.
Ans. Topology : Star Topology
Network Cable: Ethernet Cable / Coaxial Cable
40 / 40