CBSE Solved Papers For Class 12 Computer Science (C++) Paper 1

SECTION A

Question 1.
(a) Explain conditional operator with suitable example ? [2]
(b) Which C++ header file(s) are essentially required to be included to run/execute the following C++code:

void main()
 {
 char *wordl="Hello",*word2="Friends";
 strcat(wordl,word2);
 cout<<word1;
 }

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

#include
 #include
 #include
 #include
 class product
 {
 int product_code,qty,price;
 char name[20];
 public:
 product()
 {
 product_code=0 ;qty=0 ,price=0 ;
 name=NULL;
 }
 void entry()
 {
 cout<<"\n Enter code,qty,price"; cin>>product_code>>qty>>price;
 gets(name);
 }
 void tot_price() {return qty*price;}
 } ;
 void main()
 {
 p product;
 p.entry(); cout< }

(d) Write the output of the following C++ program code:
Note: Assume all required header files are already being included in the program.

void change(int *s)
 {
 for(int i=0;i<4;i++)
 {
 if (*s<40)
 {
 if(*s%2==0)
 *s=*s+10;
 else
 *s=*s+11;
 }
 else
 {
 if (*s%2 = = 0)
 *s=*s-10;
 else
 *S=*S-11;
 }
 Cout<<*S<<" ";
 S + + ;
 }
 }
 void main()
 {
 int score[]={25, 60, 35, 53};
 change(score);
 }

(e) Write the output of the following C++ program code :
Note : Assume all required header files are already being included in the program. [3]

class seminar
 {
 char topic[30];
 int charges;
 public:
 seminar()
 {
 strcpy(topic,"Registration");
 charges=5000;
 }
 seminar (char t [] )
 {
 strcpy(topic,t);
 charges=5000
 }
 seminar(int c)
 {
 strcpy(topic,"Registration with Discount");
 charges=5000-c;
 }
 void regis(char t[],int c)
 {
 strcpy(topic,t),
 charges=charges+c;
 }
 void regis(int c=2000)
 {
 charges=charges+c;
 }
 void subject(char t[],int c)
 {
 strcpy(topic,t);
 charges=charges+c;
 }
 void show()
 {
 cout<<topic<<"@"<<charges<<endl;
 }
 } ;
 void main()
 {
 seminar s1, s2(1000), s3("Genetic Mutation"), s4;
 s1.show();
 s2.show();
 si.subject("ICT",2000);
 s1.show();
 s2 .regis ("Cyber Crime" , 2500) ;
 s2.show(); ’
 s3.regis();
 s3.show();
 s4=s2;
 s4.show();
 getch();
 }

(f) Observe the following program carefully and attempt the given questions :

#include
 #include
 #include void main()
 {
 clrscr();
 randomize();
 char courses [] [10]={"M.Tech","MCA","MBA","B.Tech"};
 int ch;
 for(int i=1; i<=3; i++)
 {
 ch=random(i)+ 1;
 cout< }
 getch();
 }

I. Out of all the four courses stored in the variable courses, which course will never be displayed in the output and which course will always be displayed at first in the output ?
II. Mention the minimum and the maximum value assigned to the variable ch ?

Answer:
(a) Conditional operator is also known as ternary operator because it requires three operands and can be used to replace simple if-else code. It is used to check the condition and execute first expression if condition is true else execute other.
Syntax:
Conditional expression? Expression 1 : Expression 2;
Explanation:
If the conditional expression is true then expression 1 executes otherwise expression 2 executes.
Example:
int y=10,x;
x=y>10?l:0;
cout<<x;
Output: 0

(b) iostream.h
string.h

(c) #include
 #include
 #include
 #include
 class product
 {
 int product_code,qty,price;
 char name[20];
 public:
 product(){
 product_code=0;qty=0;price=0;
 strcpy(name,NULL);
 void entry()
 {
 cout<<"\n Enter code,qty,price"; cin> >product_code > >qty>>price;
 gets(name);
 }
 int tot_price() {return qty*price;}
 };
 void main()
 {
 product p;
 p.entry();
 cout< }

(d) 36 50 46 42
(e) Registration@5000
Registration with Discount@4000
ICT@7000
Cyber Crime@6500
Genetic Mutation@7000
Cyber Crime@6500
(f) I. M.Tech will never be displayed in the output.
MCA will always be displayed at first in the output.
II. Minimum value of ch=1
Maximum value of ch=3

Question 2.
(a) What do you understand by Function overloading or Functional polymorphism? Explain with suitable example.
(b) Answer the questions(i) and (ii) after going through the following class :

class planet
 {
 char name[20];char distance[20];
 public:
 planet() //Function 1
 {
 strcpy(name, "Venus");
 strcpy(distance,"38 million km");
 }
 void display(char na[],char d[]) //Function 2
 {
 cout<<na<<"has "<<d<<" distance from Earth"<<endl;
 }
 planet (char na[], char d[]) //Function 3
 {
 strcpy(name,na);
 strcpy(distance,d);
 }
 -planet() //Function 4
 {
 cout<<"Planetarium time over!!!"<<endl;
 }
 };

I. What is Function 1 referred as? When will it be executed ?
II. Write suitable C++ statement to invoke Function 2.
(c) Define a class DanceAcademy in C++ with following description :
Private Members

  • Enrollno of type int
  • Name of type string
  • Style of type string
  • Fee of type float
  • A member function chkfee() to assign the value of fee variable according to the style entered by the user according to the criteria as given below :
Style Fee
Classical 10000
Western 8000
Freestyle 11000

Public Members

  • A function enrollment () to allow users to enter values for Enrollno, Name, Style and call function chkfee()to assign value of fee variable according to the Style entered by the user.
  • A function display () to allow users to view the details of all the data members.

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

class indoor_sports
 {
 int i_id;
 char i_name[20] ;
 char i_coach [2 0]
 protected:
 int i_rank,i_fee;
 void get_ifee();
 public:
 indoor_sports();
 void iEntry();
 void ishow();
 } ;
 class outdoor_sports
 {
 int o_id;
 char o_name[20];
 char o_coach[20]; protected:
 int orank,ofee;
 void get_ofee();
 public:
 outdoor_sports();
 void oEntry();
 void oshow();
 } ;
 class sports:public indoor_sports,protected outdoor_sports
 {
 char rules [20];
 public:
 sports ();
 void registration();
 void showdata();
 } ;

(i) Name the type of inheritance illustrated in the above C++ code.
(ii) Write the names of all the members, which are accessible from the objects belonging to class outdoor_sports.
(iii) Write the names of all the member functions, which are accessible from the member function of class sports.
(iv) What will be the size of the object belonging to class indoor_sports ?

Answer:
(a) It is a method of using the same function or 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 show()
 {
 cout<<"\n Hello World!";
 }
 void show(char na[])
 {
 cout<<"\n Hello World! Its "<<na;
 }

(b) I. Constructor
It will be executed at the time of object creation.
II. Planet P; p.display (“Pluto”, 7.5 Billion km”);
It will be executed at the time of object creation.

(c) class DanceAcademy
 {
 int Enrollno;
 char Name[20];
 char Style[20];
 float Fee ;
 void chkfee()
 {
 if(strcmpi(Style, "Classical")==0)
 Fee=10000;
 else if(strcmpi(Style, "Western")==0)
 Fee=8000;
 else if(strcmpi(Style, "Freestyle")==0)
 Fee=11000;
 }
 public:
 void enrollment()
 {
 cout<<"Please enter Enrollno,Name,Style"; cin>>Enrollno;
 gets(Name);
 gets(Style);
 chkfee();
 }
 void display()
 {
 cout<<"\n Entered Enrollno, Name, Style and Fee is:
 "<<Enrollno<<"\t"<<Name<<"\t"<<Style<<"\t"<<Fee;
 }
 } ;

(d) (i) Multiple Inheritance
(ii) Data Members: None
Member Functions: oEntry(), oShow()
(iii) registration() , showdata(), oEntry(), oShow(), get_ofee(), iEntry() , iShow(), get_ifee()
(iv) 46 Bytes

Question 3.
(a) Write the definition of a function grace_score (int score [], int size) in C + + , which should check all the elements of the array and give an increase of 5 to those scores which are less than 40.
Example : if an array of seven integers is as follows :
45, 35, 85, 80, 33, 27, 90
After executing the function, the array content should be changed as follows :
45, 40, 85, 80, 38, 32, 90
(b) An array P[30][20] is stored along the column in the memory with each element requiring 2 bytes of storage. If the base address of the array P is 26500, find out the location of P[20][10].
(c) Write the definition of a member function push() for a class Library in C++ to insert a book information in a dynamically allocated stack of books considering the following code is already written as a part of the program :

struct book
 {
 int bookid;
 char bookname[20];
 book *next;
 };
 class Library
 {
 book *top;
 public:
 Library()
 {
 top=NULL;
 }
 void push();
 void pop();
 void disp();
 -Library () ;
 };

(d) Write a user-defined function swap_row(int ARR[ ][3], int R, int C) in C++ to swap the first row
values with the last row values :
For example if the content of the array is :

10 20 30
40 50 60
70 80 90

Then after function call, the content of the array should be :

70 80 90
40 50 60
10 20 30

(e) Evaluate the following POSTFIX expression. Show the status of Stack after execution of each operation separately:
45, 45, +, 32, 20, 10, /, -, *

Answer:

(a) void grace_score (int score [],int size)
 {
 for(int i=0; i<size; i++)
 {
 if(score[i]<40)
 score[i]=score[i]+5;
 cout<<score[i]<<" " ;
 }
 }

(b) Total number of rows= 30
Total size= 2 bytes
Base Address = 26500
LOC (P[I][J]) = BaseAddress+((I-LBR) + (J-LBC) * R)*W
Assuming Lower Bound of Row(LBR)=0
Lower Bound of Column(LBC)=0
Total number of Rows(R)=30
Size of each element(W)=2
LOC(P[20][10])= 26500 +((20-0)+(10-0)*30)*2
LOC(P[20][10])= 26500 +640
LOC(P[20][10])= 27140

(c) void Library::push()
 {
 book *nptr;
 nptr=new book;
 cout<<"Enter values for bookid and bookname"; cin>>nptr->bookid;
 gets(nptr->bookname);
 nptr->next=NULL;
 if(top==NULL)
 top=nptr;
 else
 {
 nptr->next=top;
 top=nptr;
 }
 }
(d) void swap_row(int ARR[][3],int R,int C)
 {
 for(int i=0,j=0;j<C;j++)
 {
 int temp=ARR[i][j];
 ARR[i] [j] =ARR[R-1] [j] ;
 ARR[R-1][j]=temp;
 }
 }

(e)

Element Scanned Stack Status
45 45
45 45, 45
+ 90
32 90, 32
20 90, 32, 20
10 90, 32, 20, 10
/ 90, 32, 2
90, 30
* 2700

Hence the final result is 2700

Question 4.
(a) Find the output of the following C+ + code considering that the binary file sp.dat already exists on the hard disk with 2 records in it.

class sports
 {
 int id;
 char sname[20];
 char coach[20];
 public:
 void entry();
 void show();
 void writing();
 void reading();
 }s;
 void sportsreading()
 {
 ifstream i;
 i.open("sp.dat");
 while(1)
 {
 i.read((char*)&s,sizeof(s) ) ;
 if (i. eof())
 break;
 else
 cout<<"\n"<<i.tellg(); 
} 
i.close(); 
} 
void main() 
{ 
s.reading(); 
}

(b) Write a user defined function word_count() in C+ + to count how many words are present in a text file named “opinion.txt”. For example, if the file opinion.txt contains following text:
Co-education system is necessary for a balanced society. With co-education system, Girls and Boys may develop a feeling of mutual respect towards each other.
The function should display the following :
Total number of words present in the text file are : 24
(c) Write a function display () in C++ to display all the students who have got a distinction (scored percentage more than or equal to 75) from a binary file “stud.dat”, assuming the binary file is containing the objects of the following class :

class student 
{ 
int rno;
 char sname [20]; 
int percent; 
public: 
int retpercent() 
{ 
return percent; 
} 
void getdetails() 
{ 
cin>>rno;
 gets(sname);
 cin>>percent;
 }
 void showdetails()
 {
 cout<<rno;
 puts(sname);
 cout<<percent;
 }

Answer:
(a) 42
84

(b) void word_count()
 {
 ifstream i;char ch[20];int c=0;
 i.open("opinion.txt ");
 while (! i .eof ())
 {
 i>>ch;
 C=C+1;
 }
 cout<<" Total number of words present in the text file are: "<<c; }
(c) void display() 
{ 
student s; 
ifstream i("stud.dat"); 
while(i.read((char*)&s,sizeof(s))) 
{ 
if(s.retpercent()>=75)
 s.showdetails ();
 }
 i.close();
 }

SECTION B

Question 5.
(a) Observe the table ‘Club’ given below :

Member_id Member_Name Address Age Fee
M001 Sumit New Delhi 20 2000
M002 Nisha Gurgaon 19 3500
M003 Niharika New Delhi 21 2100
M004 Sachin Faridabad 18 3500

(i) What is the cardinality and degree of the above given table ?
(ii) If a new column contact_no has been added and three more members havg joined the club then how these changes will affect the degree and cardinality of the above given table.
(b) Write SQL commands for the queries (i) to (iv) and output for (v) to (viii) based on the tables ‘Watches’ and ‘Sale’ given below.
Watches

Watchid Watch_Name Price Type Qty_Store
woo1 HighTime 10000 Unisex 100
W002 LifeTime 15000 Ladies 150
W003 Wave 20000 Gents 200
W004 HighFashion 7000 Unisex 250
W005 GoldenTime 25000 Gents 100

Sale

Watchid Qty_Sold Quarter
W001 10 1
W003 5 1
W002 20 2
W003 10 2
W001 15 3
W002 20 3
W005 10 3
W003 5 4

(i) To display all the details of those watches whose name ends with ‘Time’
(ii) To display watch’s name and price of those watches which have price range in between 5000 -15000.
(iii) To display total quantity in store of Unisex type watches.
(iv) To display watch name and their quantity sold in first quarter.
(v) select max(price), min(qty_store) from watches;
(vi) select quarter, sum(qty_sold) from sale group by quarter;
(vii) select watchname,price,type from watches w, sale s where w.watchid!=s.watchid; (viii)select watch_name, qty_store, sum(qty_sold), qty_storesum(qty_sold) “Stock” from watches w, sales where w.watchid=s.watchid group by s.watchid;

Answer:
(a) (i) Cadinality: 4
Degree: 5
(ii) Cardinality: 7
Degree: 6
(b) (i) select * from watches where watchname like ‘%Time’
(ii) select watch name, price from watches where price between 5000 and 15000;
(iii) select sum(qtystore) from watches where type like ‘Unisex’;
(iv) select watch_name,qty_sold from watches w,sale s where w.watchid=s.watchid and quarter=1;
(v)

max(price) min(qty_store)
25000 100

(vi)

Quarter sum(qtysold)
1 15
2 30
3 45
4 15

(vii)

watch_name price type
High Fashion 7000 Unisex

(viii)

watch_name qty_store qty_sold Stock
High Time 100 25 75
Life Time 150 40 110
Wave 200 30 170
Golden Time 100 10 90

Question 6.
(a) Correct the following boolean statements :
1. X+1= X
2. (A’)’ = A’
3. A+A’ = 0
4. (A+B)’ = A.B
(b) Draw the equivalent logic circuit for the following Boolean expression : (A.B) + C
(c)Write the POS form of a Boolean Function F, which is represented in a truth table as follows:

P Q R F
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1

(d) Reduce the following Boolean Expression using K Map :
F(A,B,C,D) = S (0, 1, 3, 5, 6, 7, 9, 11, 13, 14, 15)

Answer:
(a) 1. X+l =1 or X+0=X
2. ((A’)’) = A
3. A + A’= 1 or A . A’=0
4. (A+B)’ = A’. B’
(b)
cbse-solved-papers-for-class-12-computer-science-c-paper-1-2
(c) (P+Q+R).(P’+Q+R).(P’+Q’+R)
(d)
cbse-solved-papers-for-class-12-computer-science-c-paper-1-3
A’B’C’ + D + BC

Question 7.
(a) Identify the type of topology on the basis of the following : [2]
(i) Since every node is directly connected to the server, a large amount of cable is needed which increases the installation cost of the network.
(ii) It has a single common data path connecting all the nodes.
(b) Expand the following :
(i) VOIP
(ii) SMTP
(c) Who is a hacker ?
(d) The following is a 32 bit binary number usually represented as 4 decimal values, each representing 8 bits, in the range 0 to 255 (known as octets) separated by decimal points.
140.179.220.200
What is it ? What is its importance ?
(e) Daniel has to share the data among various computers of his two offices branches situated in the same city. Name the network (out of LAN, WAN, PAN and MAN) which is being formed in this process.
(f) Rehaana Medicos Center has set up its new center in Dubai. It has four buildings as shown in the diagram given below:
cbse-solved-papers-for-class-12-computer-science-c-paper-1-1
Distance between various buildings are as followa:

Accounts to Research Lab 55 m
Accounts to Store 150 m
Store to Packaging Unit 160 m
Packaging Unit to Research Lab 60 m
Accounts to Packaging Unit 125 m
Store to Research Lab 180 m

Number of Computers

Accounts 25
Research Lab 100
Store 15
Packaging Unit 60

As a network expert, provide the best possible answer for the following queries :
(i) Suggest a cable layout of connections between the buildings.
(ii) Suggest the most suitable place (i.e. buildings) to house the server of this organization.
(iii) Suggest the placement of the following device with justification :
(a) Repeater
(b) Hub/Switch
(iv) Suggest a system (hardware/software) to prevent unauthorized access to or from the network.

Answer:
(a) (i) Star Topology
(ii) Bus Topology
(b) (i) Voice Over Internet Protocol
(ii) Simple Mail Transfer Protocol
(c) A computer enthusiast, who uses his computer programming skills to intentionally access a computer without authorization is known as hacker. A hacker accesses the computer without the intention of destroying data or maliciously harming the computer.
(d) It is an IP Address.lt is used to identify the computers on a network.
(e) MAN
(f) (i) Layout 1
cbse-solved-papers-for-class-12-computer-science-c-paper-1-4
Layout 2
cbse-solved-papers-for-class-12-computer-science-c-paper-1-5
(ii) The most suitable place/ building to house the server of this organization would be building Research Lab, as this building contains the maximum number of computers.
(iii) (a) For layoutl, since the cabling distance between Accounts to Store is quite large, so a repeater would ideally be needed along their path to avoid loss of signals during the course of data flow in this route. For layout2, since the cabling distance between Store to Research Lab is quite large, so a repeater would ideally be placed.
(b) 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 building.
(iv) Firewall