Contents
NCERT Solutions for Class 12 Computer Science (C++) – Solved Paper, 2017 (Outside Delhi Set)
SECTION – A
(Only for Candidates, who opted for C++)
Question 1:
(a) Write the type of C+ + tokens (keywords and user defined identifiers) from the following: 2
(i) new
(ii) While
(iii) case
(iv) Num_2
(b) Anil typed the following C+ + code and during compilation he found three errors as follows :
(i) Function strlen should have prototype
(ii) Undefined symbol cout
(iii) Undefined symbol endl
On asking, his teacher told him to include necessary header files in the code. Write the names of the
header files, which Anil needs to include, for successful compilation and execution of the following code : 1
void main() { char Txt [ ] = “Welcome”; for (int C = 0; C<strlen (Txt) ; C++) Txt [C] = Txt [C]+l; cout « Txt « endl; }
(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 being included in the program.
void main () { cout < < "Enter an Alphabet: " ; cin>>CH; switch(CH) case 'A' cout <<"Ant"; Break; case 'B' cout<<"Bear" ; Break;
(d) Find and write the output of the following C++ program code : 2
Note : Assume all required header files are already included in the program.
#defme Diff (Nl, N2) ((Nl>N2) ?N1 - N2 : N2 - Nl) void main () { int A, B, NUM [ ] = (10, 23,14, 54, 32}; for (int CNT = 4 ; CNT > 0 ; CNT --) { A=NUM[CNT] ; B=NUM[CNT-1] ; cout<<Diff (A , B) << ‘ # ‘ ; } }
(e) Find and write the output of the following C++program code : 3
Note : Assume all required header files are already being included in the program.
void main () { int *Point, Score [ ]={100, 95,150, 75, 65,120}; Point = Score; for (int L = 0; L<6; L++) { if ((*Point)%10==0) Point/= 2; else Point / = 2; if ((*Point)%5==0) *Point /= 5; Point++ ; } for (int L =5; L> = 0; L- -) cout<<Score[L]<<"*" }
(f) Look at the following C+ + code and find the possible output(s) from the options (i) to (iv) following it.
Also, write the maximum values that can be assigned to each of the variables N and M.
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 0 ; int N=random(3), M=random (4); int DOCK [3] [3] = {{1, 2, 3}, {2, 3, 4}, {3, 4, 5}}; for (int R=0; R<N; R++) { for (int C=0; C<M; C++) cout <<DOCK [R] [C] <<“ "; cout<<endl; } }
(i) | (ii) | ||||
1 | 2 | 3 | 1 | 2 | 3 |
2 | 3 | 4 | 2 | 3 | 4 |
3 | 4 | 5 | |||
(iii) | (iv) | ||||
1 | 2 | 1 | 2 | ||
2 | 3 | 2 | 3 | ||
3 | 4 |
Solution:
(a)
(i) new – keyword
(ii) while – identifier
(iii) case – keyword
(iv) Num_2 – identifier
(b) iostream.h
string.h
(c)
Void main () { char CH: cout<<“Enter an Alphabet”; cin >> CH; switch (CH) { Case ‘A’: cout<<“Ant”; break; Case ‘B’: cout<<“Bear”; break; }
(d) Output:
22 # 40 # 9 # 13 # 10 #
(e) Output
12 * 63 * 73 * 15 * 93 * 10 *
(f) Maximum value of N = 2, M = 3
Options (ii) and (iii) are possible.
Question 2:
(a) Differentiate between protected and private members of a class in context of Object Oriented Programming.
Also give a suitable example illustrating accessibility/non-accessibility of each using a class and
an object in C+ + . 2
(b) Observe the following C++ code and answer the questions (i) and (ii).
Note : Assume all necessary files are included,
class TEST { long TCode; char TTitle [20]; float Score; public: TEST () //Member Function 1 { TCode=100;strcpy(TTitle, "FIRST Test") ;Score=0; } TEST (TEST &T) //Member Function 2 { TCode=E . TCode+1; strcpy (TTitle, T . TTitle); Score=T . Score; } }; void main () { ____________ //Statement 1 ____________ //Statement 1 }
(i) Which Object Oriented Programming feature is illustrated by the Member Function 1 and the Member
Function 2 together in the class TEST ? 1
(ii) Write Statement 1 and Statement 2 to execute Member Function 1 and Member Function 2 respectively. 1
(c) Write the definition of a class BOX in C++ with the following description: 4
Private Members
– BoxNumber // data member of integer type
– Side // data member of float type
– Area // data member of float type
– ExecArea () // Member function to calculate and assign
// Area as Side * Side
Public Members
– GetBox () // A function to allow user to enter values of
// BoxNumber and Side. Also, this
// function should call ExecArea() to calculate
// Area
– ShowBox() // A function to display BoxNumber, Side
// and Area
(d) Answer the questions (i) to (iv) based on the following:
class First { int XI; protected: float X2; public: First (); void Enterl (); void Displayl (); }; class Second: private First { int Yl; protected: float Y2; public: Second (); void Enter 2 (); void Display (); }; class Third: public Second { int Z1; public: Third (); void Enter3 (); void Display (); }; void main () { Third T; //Statement 1 _________ ; //Statement 2 }
(i) Which type of Inheritance out of the following is illustrated in the above example ?
Single Level Inheritance, Multilevel Inheritance, Multiple Inheritance
(ii) Write the names of all the member functions, which are directly accessible by the object T of class
Third as declared in main() function.
(iii) Write Statement 2 to call function Display () of class Second from the object T of class Third.
(iv) What will be the order of execution of the constructors, when the object T of class Third is
declared inside main() ?
Solution:
(a) Protected members can be accessed by the inherited class,
(b) Private members are never inherited
class student class report: protected student { { int mo; cout<< grade; ✓ char name [50]; cout<< mo; x protected: } char grade; public : void get (2); void display (); }
(b)
(i) Constructor overloading (Polymorphism)
(ii)
Statement 1: Test t1; Statement 2 : Test t2 (t1);
(c)
class Box { int BoxNumber; float side, Area; void ExecArea () { Area = side * side; } public: void GetBox () { cout < <"Enter Box Number side"; cin > > BoxNumber > > side; ExecArea (); } void showBox () { cout < < BoxNumber < < side < < Area; }
(d)
(i) Multilevel inheritance.
(ii) Enter3(), Display (), Enter2(), Display ()
(iii) Tsuper (Display ());
(iv) First (), Second (), Third ()
Question 3:
(a) Write the definition of a function AddUp(int Arr[], int N) in C+ +, in which all even positions (i.e., 0,2,4,…)
of the array should be added with the content of the element in the next position and odd positions (i.e., 1,3,5,…)
elements should be incremented by 10.
Example: if the array Arr contains
23 | 30 | 45 | 10 | 15 | 25 |
Then the array should become
53 | 40 | 55 | 20 | 40 | 35 |
Note:
• The function should only alter the content in the same array.
• The function should not copy the altered content in another array.
• The function should not display the altered content of the array.
• Assuming, the Number of elements in the array are Even.
(b) Write a definition for a function SUMMIDCOL(int MATRIX [ ] [10], int N,int M) in C+ +, which finds the
sum of the middle column’s elements of the MATRIX (Assuming N represents number of rows and M
represents number of columns, which is an odd integer).
Example : If the content of array MATRIX having N as 5 and M as 3 is as follows:
1 | 2 | 1 |
2 | 1 | 4 |
3 | 4 | 5 |
4 | 5 | 3 |
5 | 3 | 2 |
The function should calculate the sum and display the following:
Sum of Middle Column: 15
(c) ARR[15][20] is a two-dimensional array, which is stored in the memory along the row with each of its
elements occupying 4 bytes. Find the address of the element ARR[5][15], if the element ARR[10] [5] is
stored at the memory location 35000. 3
(d) Write the definition of a member function PUSHGIFT () for a class STACK in C++, to add a GIFT in a
dynamically allocated stack of GIFTs considering the following code is already written as a part of the program: 4
struct GIFT { int GCODE; //Gift Code char GDESC[20] ; //Gift Description GIFT *Link; }; class STACK { Gift‘TOP; public : STACK () {TOP=NULL ;} void PUSHGIFT (); void POPGIFT (); ~ STACK (); };
(e) Convert the following Infix expression to its equivalent Postfix expression, showing the stack contents for each step of conversion: 2
X - (Y + Z)/U*V
Solution:
(a) Void AddUp (int Arr [ ], int N) { for (int i = 0, i < N; i++) { if (i%2==0) A[i] = A[i] + A[i + 1]; else A[i] = A[i] + 10; } }
(b)
Void SUMMIDCOL (int Matrix [ ] [10], int N, int M) { int mid = M/2, sum = 0; for (int i = 0; i < N; i ++) sum = sum + MATRIX [i] [mid]; cout <<“Sum of Middle, column:' << sum; }
(c)
A[i] [j] = BA + size * ((i - sr) * nr + (j - sc)) ARR [5] [15] = 35000 + 4 * ((5 - 10) * 15 + (15 - 5)) = 35000 + 4 * (-75 + 10) = 35000 - 260 = 34740
(d)
Void STACK : : PUST GIFT () { GIFT * newnode = new GIFT; cout <<“Enter gift code, description”; cin >> newnode → GCODE; gets (newnode →GDESC); newnode → Link = NULL; if (Top = = NULL) Top = newnode; else { newnode → Link = TOP; TOP = newnode; } }
(e)
X - (Y + Z)/U * V
Element | Stack | Expression |
( | ( | |
X | ( | X |
– | (- | X |
( | (-( | X |
Y | (-( | XY |
+ | (-( + | XY |
Z | (-( + | XYZ |
) | (- | XYZ + |
/ | (-/ | XYZ + |
U | (-/ | XYZ + U |
* | (-* | XYZ + U/ |
V | (-* | XYZ + U/V |
) | XYZ + U/V * – |
Answer:
XYZ + U/V*-
Question 4:
(a) Polina Raj has used a text editing software to type some text in an article. After saving the article as MYNOTES. TXT, she realised that she has wrongly typed alphabet K in place of alphabet C everywhere in the article. Write a function definition for PURETEXT() in C++ that would display the corrected version of the entire article of the file MYNOTES. TXT with all the alphabets “K” to be displayed as an alphabet “C” on screen. Note : Assuming that MYNOTES. TXT does not contain any C alphabet otherwise.
Example:
If Polina has stored the following content in the file MYNOTES. TXT:
I OWN A KUTE LITTLE KAR. I KARE FOR IT AS MY KHILD.
The function PURETEXT () should display the following content
I OWN A CUTE LITTLE CAR. I CARE FOR IT AS MY CHILD.
(b) Write a definition for function COUNTPICS() in C+ + to read each object of a binary file PHOTOS.DAT,
find and display the total number of PHOTOS of type PORTRAIT. Assume that the file PHOTOS.DAT is
created with the help of objects of class PHOTOS, which is defined below :
class PHOTOS { int PCODE; char PTYPE [20];//Photo Type as "PORTRAIT”,’’NATURE” public: void ENTER () { cin>>CODE;gets (PTYPE); } void SHOWCASE () { cout<<PCODE<<“: “<<PTYPE<<endl; } char *GETPTYPE () (return PTYPE;} };
(c) Find the output of the following C+ + code considering that the binary file CLIENTS.DAT exists on the hard
disk with a data of 200 clients : 1
class CLIENTS { int CCode;char CName [20]; public : void REGISTER (); void DISPLAY (); }; void main () { f stream File; File, open (“CLIENTS. DAT ”, ios :: binary | ios :: in) ; CLIENTS C; File . seekg (6*sizeof (C)); File. read ((char*) &C, sizeof(C)); cout<<”Client Number; “<<File.tellg() /sizeof(C) + 1; File . seekg (0 , ios : : end); cout<<” of “<<File . tellg () /sizeof (C)<<endl; File . close ();
Solution:
(a)
Void PURETEXT () { ifstream f1 ("MYNOTES.TXT"); char ch; while (! f1.eof ()) { f1> > ch; if (ch = = 'K') cout > > 'C'; else cout > > ch; } fl.close (); }
(b)
void COUNTPICS () { fstream f; f open ("PHOTES.DAT", ios :: in : ios :: binary); PHOTOS P; int count = 0; while (f.read ((char *) &P, size of (P)) { if (strcmp (EGETPTYPE (), "PORTRAIT") == 0) count ++; } cout << "PORTRAIT PHOTOS COUNT : "<<count; f.close (); }
(c) Output:
Client Number : 8 of 0
SECTION – C
(For All the Candidates)
Question 5:
(a) Observe the following table 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 in RESULT. Also, find the Degree and Cardinality of the RESULT :
MEMBER
NO | MNAME | STREAM |
M001 | JAYA | SCIENCE |
M002 | ADITYA | HUMANITIES |
M003 | HANSRAJ | SCIENCE |
M004 | SHIVAK | COMMERCE |
RESULT
NO | MNAME | STREAM |
M002 | ADITYA | HUMANITIES |
(b) Write SQL queries for (i) to (iv) and find outputs for SQL queries (v) to (viii), which are based on the tables.
DVD
DCODE | DTITLE | DTYPE |
F101 | Henry Martin | Folk |
C102 | Dhrupad | Classical |
C101 | The Planets | Classical |
F102 | Universal Soldier | Folk |
R102 | A day in life | Rock |
MEMBER
MID | NAME | DCODE | ISSUEDATE |
101 | AGAM SINGH | R102 | 2017-11-30 |
103 | ARTH JOSEPH | F102 | 2016-12-13 |
102 | NISHA HANS | C101 | 2017-07-24 |
(i) To display all details from the table MEMBER in descending order of ISSUEDATE.
(ii) To display the DCODE and DTITLE of all Folk Type DVDs from the table DVD.
(iii) To display the DTYPE and number of DVDs in each DTYPE from the table DVD.
(iv) To display all NAME and ISSUEDATE of those members from the table MEMBER who have DVDs issued
(i.e., ISSUEDATE) in the year 2017.
(v) SELECT MIN (ISSUEDATE) FROM MEMBER;
(vi) SELECT DISTINCT DTYPE FROM DVD;
(vii) SELECT D. DCODE, NAME, DTITLE : ,
FROM DVD D, MEMBER M WHERE D.DCODE=M.DCODE;
(viii) SELECT DTITLE FROM DVD
WHERE DTYPE NOT IN (“Folk”, “Classical”);
Solution:
(a) SELECTION
Degree (no. of columns) – 3
Cardinality (no. of rows) -1
(i) select * from MEMBER order by ISSUEDATE desc
(ii) select DCODE, DTITLE from DVD where DTYPE = ’Folk’
(iii) select DTYPE, count(*) from DVD group by DTYPE
(iv) select NAME, ISSUEDATE from MEMBER,
where ISSUEDATE like ‘2017%’
(v) MIN (ISSUEDATE)
2016-12-13
(vi) DISTINCT (DTYPE)
Folk
Classical
Rock
(Vii)
DCODE NAME DTITLE R102 AGAM SINGH A day in life F102 ARTH JOSEPH Universal Soldier C101 NISHA HANS The Planets
(viii)
DTITLE
A day in life
Question 6:
(a) State DeMorgan’s Laws of Boolean Algebra and verify them using truth table. 2
(b) Draw the Logic Circuit of the following Boolean Expression using only NOR Gates : 2
(A+B) . (C+D)
(c) Derive a Canonical POS expression for a Boolean function G, represented by the following truth table :
X | Y | Z | G(X,Y,Z) |
0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 1 | 1 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 |
(d) Reduce the following Boolean Expression to its simplest form using K-Map : 3
E (U, V, Z, W) = Z (2,3,6,8,9,10,11,12,13)
Solution:
DeMorgan’s Laws.
(i) A + B)’=A’.B’
(ii) (A . B)’ = A’ + B’
(i)
A | B | A+B | (A + B)’ | A’ | B’ | A’B’ |
0 | 0 | 0 | 1 | 1 | 1 | 1 |
0 | 1 | 1 | 0 | 1 | 0 | 0 |
1 | 0 | 1 | 0 | 0 | 1 | 0 |
1 | 1 | 1 | 0 | 0 | 0 | 0 |
(1) = (2) Hence proved.
A | B | A.B | (A+B)’ | A’ | B’ | A’+B’ |
0 | 0 | 0 | 1 | 1 | 1 | 1 |
0 | 1 | 0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 0 | 0 | 0 | 1 |
(3) = (4) Hence proved.
(b) (A + B) . (C + D)
(c) G(X,Y,Z) = 71(0,1,3, 6)
= (X + Y + Z).(X + Y + Z’). (X + Y’ + Z’) (X’ + Y’+ Z) is
(d) E (U, V, Z, W) = £ (2, 3, 6, 8, 9,10,11,12,13)
E = UZ + V’Z + U’ZW’
Question 7:
(a) Differentiate between communication using Optical Fiber and Ethernet Cable in context of wired medium of communication technologies. 2
(b) Janish Khanna used a pen drive to copy files from his friend’s laptop to his office computer. Soon his computer started abnormal functioning. Sometimes it would restart by itself and sometimes it would stop different applications running on it. Which of the following options out of (i) to (iv), would have caused the malfunctioning of the computer ?
Justify the reason for your chosen option : 2
(i) Computer Virus
(ii) Spam Mail
(iii) Computer Bacteria
(iv) Trojan Horse
(c) Ms. Raveena Sen is an IT expert and a freelancer. She recently used her skills to access the
Admin password for the network server of Super Dooper Technology Ltd. and provided confidential data of the organization to its CEO, informing him about the vulnerability of their network security.
Out of the following options (i) to (iv), which one most appropriately defines Ms. Sen? 2
Justify the reason for your chosen option :
(i) Hacker
(ii) Cracker
(iii) Operator
(iv) Network Admin
(d) Hi Standard Tech Training Ltd. is a Mumbai based organization which is expanding its office
set-up to Chennai. At Chennai office compound, they are planning to have 3 different blocks for Admin,
Training and Accounts related activities. Each block has a number of computers, which are required to be
connected in a network for communication, data and resource sharing.
As a network consultant, you have to suggest the best network related solutions for them for
issues/problems raised by them in (i) to (iv), as per the distances between various blocks/locations
and other given parameters.
Shortest distances between various blocks/locations:
Admin Block to Accounts Block |
300 Metres |
Accounts Block to Training Block |
150 Metres |
Admin Block to Training Block |
200 Metres |
MUMBAI Head Office to CHENNAI Office |
1300 Km |
Number of computers installed at various blocks are as follows:
Training Block |
150 |
Accounts Block |
30 |
Admin Block |
40 |
(i) Suggest the most appropriate block/location to house the SERVER in the CHENNAI office (out of the 3
blocks) to get the best and effective connectivity. Justify your answer. 1
(ii) Suggest the best wired medium and draw the cable layout (Block to Block) to efficiently connect various
blocks within the CHENNAI office compound. 1
(iii) Suggest a device/software and its placement that would provide data security for the entire network of
the CHENNAI office. 1
(iv) Suggest a device and the protocol that shall be needed to provide wireless Internet access to all
smartphone/laptop users in the CHENNAI office. 1
Solution:
(a)
Optical Fiber | Ethernet Cable |
(i) Costly | Cheaper |
(ii) less interference | Quality is not so good |
(iii) Greater bandwidths | Lesser bandwidth |
(b) (iv) Trojan Horse – Since it is from a friend’s laptop it could be a hidden file.
(c) (i) Hacker – She used her skills to help the organisation and not for her personal gains.
(d)
(i) Training block – has maximum number of computers.
(ii) Optical fibre cable is the best wired medium
(iii) Firewall
(iv) Router has a wireless access point (WAP), Wireless Application Protocol (WAP). It allows
a wi-fi complaint device to correct to a wired network.
NCERT SolutionsComputer scienceEnglishHindiHumanitiesCommerceScience