1. Home
  2. /
  3. CBSE
  4. /
  5. Class 12
  6. /
  7. Computer Science
  8. /
  9. CBSE Question Paper 2018...

CBSE Question Paper 2018 class 12 Computer Science

myCBSEguide App

myCBSEguide App

Download the app to get CBSE Sample Papers 2024-25, NCERT Solutions (Revised), Most Important Questions, Previous Year Question Bank, Mock Tests, and Detailed Notes.

Install Now

Previous Year Question Paper – Download in PDF

CBSE Question Paper 2018 class 12 Computer Science conducted by Central Board of Secondary Education, New Delhi in the month of March 2018. CBSE previous year question papers with solution are available in myCBSEguide mobile app and cbse guide website. The Best CBSE App for students and teachers is myCBSEguide which provides complete study material and practice papers to CBSE schools in India and abroad.

CBSE Question Paper 2018 class 12 Computer Science

Download as PDF

Class 12 Computer Science list of chapters

  1. Review of Python
  2. Concept of Object Oriented Programming
  3. Classes in Python
  4. Inheritance
  5. Linear List Manipulation
  6. Stacks & Queues in list
  7. Data File Handling
  8. Exception Handling & Green Functions
  9. Databases Concepts and SQL
  10. Structure  Query Language
  11. Boolean Algebra
  12. Boolean Functions & Reduce Forms
  13. Application of Boolean Logic
  14. Networking Concepts  (Part 1)
  15. Networking Concepts  (Part 2)
  16. Networking Protocols
  17. Mobile Telecommunication Technologies, Network Security and Internet Services

CBSE Question Paper 2018 class 12 Computer Science

General Instructions :

  1. SECTION A refers to programming language C++.
  2. SECTION B refers to programming language Python.
  3. SECTION C is compulsory for all.
  4. Answer either SECTION A or SECTION B.
  5. It is compulsory to mention on the page 1 in the answer book whether you are attempting SECTION A or SECTION B.
  6. All questions are compulsory within each section.

SECTION A
[Only for candidates, who opted for C++]

    1. Write the type of C++ tokens (keywords and user-defined identifiers) from the following : (2)
      1. else
      2. Long
      3. 4Queue
      4. _count

      Ans.

      1. keyword
      2. Identifier
      3. None
      4. Identifier
        NOTE: Ignore (iii)
    2. The following C++ code during compilation reports errors as follows :
      Error: ‘ofstream’ not declared
      Error: ‘strupr’ not declared
      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.

      1. fstream
      2. string
    3. 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
      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
      }
    4. 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
    5. 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
      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:
    6. 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$14$12$10$
        (iii)(iv)
        12@11@13@10@12@11@10@10@

        Ans. (i) and (iv)
        AMin = 10
        A Max = 13

    1. Which function(s) out of the following can be considered as overloaded function(s) in the same program ? Also, write the reason for not considering the other(s) as overloaded function(s). (2)
      void Execute(char A,int B); // Function 1
      void Execute(int A,char B); // Function 2
      void Execute(int P=10); // Function 3
      void Execute(); // Function 4
      int Execute(int A); // Function 5
      void Execute(int &K); // Function 6
      Ans.
      Option [i] Functions 1,2,3 are overloaded
      Reason: Function 4,5,6 would give ambiguity for Function 3
      OR Any equivalent valid reasonOROption [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 reasonOROption [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
    2. 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
      }

      1. Which Object Oriented Programming feature is illustrated by the definitions of classes FIRST and SECOND ? (1)
        Ans.
        InheritanceOREncapsulationORData AbstractionORData Hiding
      2. Write Statement 1 and Statement 2 to execute Member Function 1 and Member Function 2 respectively using the object S. (1)
        Ans.
        S.FIRST::Display() //Statement 1
        S.Display() //Statement 2ORS.SECOND::Display() //Statement 2
    3. 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

      TypeFormula to Calculate Volume
      13.14*Radius*Height
      23.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
      {
      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()
      {
      if (Type == 1)
      Volume=3.14*Radius*Height;
      else if (Type == 2)
      Volume=3.14*Radius*Height/3;
      }
      void CONTAINER::CalVolume()
      {
      switch (Type)
      {
      case 1:
      Volume =3.14*Radius*Height;
      break;
      case 2:
      Volume=3.14*Radius*Height/3;
      }
      }
    4. Answer the questions (i) to (iv) based on the following : (4)
      class Teacher
      {
      int TCode;
      protected:
      char Name[20];
      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;
      }

      1. Which type of Inheritance out of the following is illustrated in the above example?
        Single Level Inheritance, Multilevel Inheritance, Multiple Inheritance
        Ans.
        Multiple Inheritance
      2. Write the names of all the members, which are directly accessible by the member function View() of class Schedule.
        Ans.
        Start(), DD, MM, YYYY
        Display(), Initiate(), Title
        Enter(), Show(), Name
        View() // Optional
      3. 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()
      4. 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()
    1. 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

      2020222153

      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

      Any other correct alternative code in C++

    2. 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 :

      25242322
      20191817
      15141312
      10987

      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

      void UpperHalf(int Mat[4][4])
      {
      for (int I=0;I<4;I++)
      {
      for (int J=0;J<4;J++)
      if ((I+J)<=3)
      cout<<MAT[I][J]<< ” ” ;
      cout<<endl;
      }
      }

      OR

      Any other correct alternative code in C++

    3. Let us assume Data[20][15] is a two-dimensional array, which is stored in the memory along the row with each of its elements occupying 2 bytes. Find the address of the element Data[10][5], if the element Data[15][10] is stored at the memory location 15000. (3)
      Ans.
      LOC(Data[10][5]) = LOC(Data[15][10])+2(15*(10-15)+(5-10))
      = 15000 + 2((-75) + (-5))
      = 15000 + 2(-80)
      = 15000 – 160
      = 14840ORLOC(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
      = 14840ORLOC(Data[I][J]) = Base(Data)+W*(NC*(I-LBR)+(J-LBC))
      Taking LBR=1, LBC=1
      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
    4. 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;
      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;
      }ORAny other equivalent code in C++
    5. Convert the following Infix expression to its equivalent Postfix expression, showing the stack contents for each step of conversion : (2)
      U * V + (W – Z) / X
      Ans.
      ((U * V) + ((W – Z) / X))

      INFIXSTACKPOSFIX
      UU
      **U
      V*UV
      )UV*
      ++UV*
      WUV*W
      + –UV*W
      Z+ –UV*WZ
      )+UV*WZ-
      /+/UV*WZ-
      X+/UV*WZ-X
      )+UV*WZ-X/
      )UV*WZ-X/+

      OR

      U * V + (W – Z) / X

      INFIXSTACKPOSFIX
      UU
      **U
      V*UV
      ++UV*
      (+(UV*
      W+(UV*W
      + (-UV*W
      Z+ (-UV*WZ
      )+UV*WZ-
      /+/UV*WZ-
      X+/UV*WZ-X
      UV*WZ-X/+
    1. 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#
      Ans.
      void HashDisplay()
      {
      char ch;
      ifstream F(“MATTER.TXT” );

      while(F.get(ch))
      cout<<ch<<‘#’;
      F.close(); //IGNORE
      }ORAny other correct function definition
    2. Write a definition for a function TotalTeachers( ) in C++ to read each object of a binary file SCHOOLS.DAT, find the total number of teachers, whose data is stored in the file and display the same. Assume that the file SCHOOLS.DAT is created with the help of objects of class SCHOOLS, which is defined below: (2)
      class SCHOOLS
      {
      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;}
      };
      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
      }ORvoid 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
      }ORAny other correct function definition
    3. 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)
      SCodeSNameNOT
      1001Brains School100
      1003Child Life School115
      1002Care Share School300
      1006Educate for Life School50
      1005Guru Shishya Sadan195
      1004Holy Education School140
      1010Play School95
      1008Innovate Excel School300
      1011Premier Education School200
      1012Uplifted Minds School100

      void main()
      {
      fstream SFIN;
      SFIN.open(“SCHOOLS.DAT”,ios::binary | ios::in);
      SCHOOLS S;
      SFIN.seekg(5*sizeof(S));
      SFIN.read((char*)&S, sizeof(S));
      S.Display();
      cout<<“Record :”<<SFIN.tellg()/sizeof(S) + 1<<endl;
      SFIN.close();
      }
      Ans.
      1004#Holy Education School#140
      Record :7

SECTION B
[Only for candidates, who opted for Python]

    1. 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
      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
    2. Name the Python Library modules which need to be imported to invoke the following functions : (1)
      1. sin()
      2. search()

      Ans.

      1. math
      2. re
    3. 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
      else: # Error 5
      print C # Error 6
      print AdderORCorrections mentioned as follows:
      raw_input in place of rawinput
      : to be placed in for
      == in place of =
      print in place of Print
      else in place of Else
      C* is invalid, replaced by a suitable integer or C
    4. 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$
      4 30 P$R$
      9 60 P$R$S$
    5. 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):
      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 )
    6. 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],”#”,

      (i) 20#50#30#(ii) 20#40#45#
      (iii) 50#20#40#(iv) 30#50#20

      Ans. (ii) 20#40#45# and (iii) 50#20#40#
      Max value for BEGIN 3
      Max value for LAST 4

    1. What is the advantage of super( ) function in inheritance ? Illustrate the same with the help of an example in Python. (2)
      Ans.
      In Python, super() function is used to call the methods of base class which have been extended in derived class.
      class person(object):
      def __init__(self,name,age):
      self.name=name
      self.age=age
      def display(self):
      print self,name, self.Age
      class student(person):
      def __init__(self,name,age,rollno,marks):
      super(student,self)._init_(self, name, age)
      self.rollno=rollno
      self.marks=marks
      def getRoll(self):
      print self.rollno, self.marks
    2. 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

      1. 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.
        The variable in Line 4 is an instance attribute. Each instance creates a separate copy of these variables.
      2. Write the output of the above Python code.
        Ans.
        BMW Car
        VOLVO Bus
    3. 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 :

      TypeFormula to Calculate Volume
      13.14 * Radius * Height
      33.14 * Radius * Height/3

      – GetValue() # To allow user to enter values of
      # Radius, Height and Type.
      # Also, this method should call
      # CalVolume() to calculate Volume
      – ShowContainer() # To display Radius, Height, Type
      # Volume of the Container
      Ans.
      class CONTAINER: # class CONTAINER():/class CONTAINER(Object):
      def __init__(self): # def __init__(self,R,H,T,V):
      self.Radius=0 # self.Radius=R
      self.Height=0 # self.Height=H
      self.Type =0 # self.Type=T
      self.Volume=0 # self.Volume=V
      def CalVolume(self):
      if self.Type == 1:
      self.Volume = 3.14 * self.Radius * self.Height
      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

    4. 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,class Bottom(Top1,Top2):
      def __init__(self,tz): #Line 5
      self.Z=tz #Line 6
      Top2.__init__(self,2*tz): #Line 7
      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()

      1. Write the type of the inheritance illustrated in the above.
        Ans.
        Multiple Inhertiance
      2. Find and write the output of the above code.
        Ans.
        3 6 9OR“Error” / “No Output”
      3. What are the methods shown in Line 1, Line 3 and Line 5 known as ?
        Ans.
        Constructors
      4. 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
    1. 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.

      I Pass234526132345467786
      II Pass234132345467526786
      III Pass132234345467526786
    2. 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
    3. 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)ORclass queue:
      Client=[] def AddClient(self):
      a=raw_input(“Client name: “)
      queue.Client.append(a)
      def DeleteClient(self):
      if (queue.Client==[]):
      print “Queue empty”
      else:
      print queue.Client[0],”Deleted”
      del queue.Client[0]
    4. Write a definition of a method COUNTNOW(PLACES) to find and display those place names, in which there are more than 5 characters. (2)
      For example :
      If the list PLACES contains
      [“DELHI”,”LONDON”,”PARIS”,”NEW YORK”,”DUBAI”] The following should get displayed :
      LONDON
      NEW YORK
      Ans.
      def COUNTNOW(PLACES):
      for P in PLACES:
      if len(P)>5:
      print P
    5. Evaluate the following Postfix notation of expression : (2)
      22,11,/,5,10,*,+,12,-
      Ans.

      ElementsStack Contents
      2222
      1122, 11
      /2
      52, 5
      102, 5, 10
      *2, 50
      +52
      1252, 12
      40

      OR

      Any other way of stepwise evaluation

    1. 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”)
    2. 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


      ‘‘India is the fastest growing economy.
      India is looking for more investments around the globe.
      The whole world is looking at India as a great market.
      Most of the Indians can foresee the heights that India is capable of reaching.’’


      The output should be 4.
      Ans.
      def display1():
      c=0
      file=open(‘INDIA.TXT’,’r’)
      c=0
      for LINE in file:
      Words = LINE.split()
      for W in Words:
      if W==”India”:
      c=c+1
      print c
      file.close()

      OR

      def display():
      c=0
      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()

    3. Considering the following definition of class MULTIPLEX, write a method in Python to search and display all the contents in a pickled file CINEMA.DAT, where MTYPE is matching with the value ‘Comedy’. (3)
      class MULTIPLEX :
      def __init__(self,mno,mname,mtype):
      self.MNO = mno
      self.MNAME = mname
      self.MTYPE = mtype
      def Show(self):
      print self.MNO:”*”,self.MNAME,”$”,self.MTYPE
      Ans.
      def Search():
      file=open(‘CINEMA.DAT’,’rb’)
      try:
      while True:
      M=pickle.load(file)
      if M.MTYPE==”Comedy”:
      M.Show()
      except EOFError:
      pass
      file.close()

SECTION C
[For all the candidates]

    1. 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

      VNOVNAMETYPE
      F101The Last BattleFiction
      C101Angles and Devilscomedy
      A102DaredevilsAdventure

      TABLE : MEMBER

      VNOMNAME
      M101Namish Gupta
      M102Sana Sheikh
      M103Lara James

      TABLE : FINAL RESULT

      VNOVNAMETYPEMNOMNAME
      F101The Last Battle FictionFictionM101Namish Gupta
      F101The Last Battle FictionFictionM102Sana Sheikh
      F101The Last Battle FictionFictionM103Lara James
      C101Angels and DevilsComedyM101Namish Gupta
      C101Angels and DevilsComedyM102Sana Sheikh
      C101Angels and DevilsComedyM103Lara James
      A102DaredevilsAdventureM101Namish Gupta
      A102DaredevilsAdventureM102Sana Sheikh
      A102DaredevilsAdventureM103Lara James

      Ans. CARTESIAN PRODUCT
      OR Option (iv)
      DEGREE = 5
      CARDINALITY = 9

    2. 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

      ANOANAMEADDRESS
      101Nirja SinghBangalore
      102Rohan GuptaChennai
      103Ali RezaHyderabad
      104Rishabh jainChennai
      105Simran KaurChandigarh

      TABLE : TRANSACT

      TRNOANOAMOUNTTYPEDOT
      T0011012500Withdraw2017-12-21
      T0021033000Deposit2017-06-01
      T0031022000Withdraw2017-05-12
      T0041031000Deposit2017-10-22
      T00510112000Deposit2017-11-06
      1. To display details of all transactions of TYPE Deposit from Table TRANSACT.
        Ans.
        SELECT * FROM TRANSACT WHERE TYPE = ‘ Deposit ‘ ;
      2. To display the ANO and AMOUNT of all Deposits and Withdrawals done in the month of October 2017 from table TRANSACT.
        Ans.
        SELECT ANO,AMOUNT FROM TRANSACT
        WHERE DOT >= ‘2017-10-01 ‘ AND DOT <= ‘ 2017-10-31 ‘ ;ORSELECT ANO,AMOUNT FROM TRANSACT
        WHERE DOT BETWEEN ‘2017-10-01’ AND ‘2017-10-31 ‘ ;
      3. 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;
      4. 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;ORSELECT A.ANO,ANAME,DOT FROM ACCOUNT A,TRANSACT T WHERE
        A.ANO=T.ANO AND AMOUNT <=3000;
      5. SELECT ANO, ANAME FROM ACCOUNT
        WHERE ADDRESS NOT IN (‘CHENNAI’, ‘BANGALORE’);
        Ans.

        ANOANAME
        103Ali Reza
        105Simran Kaur

        OR

        ANOANAME
        101Nirja Singh
        102Rohan Gupta
        103Ali Reza
        104Rishabh Jain
        105Simran Kaur
      6. SELECT DISTINCT ANO FROM TRANSACT;
        Ans.
        DISTINCT ANO
        101
        102
        103
      7. SELECT ANO, COUNT(*), MIN(AMOUNT) FROM TRANSACT
        GROUP BY ANO HAVING COUNT(*)> 1;
        Ans.

        ANOCOUNT (*)MIN (ANOUNT)
        10122500
        10321000
      8. SELECT COUNT(*), SUM(AMOUNT) FROM TRANSACT
        WHERE DOT <= ‘2017-06-01’;
        Ans.

        COUNT (*)SUM (AMOUNT)
        25000

These are first 5 questions only. To view and download complete question paper with solution

Download myCBSEguide App

the best CBSE App from google playstore now or login to our Student Dashboard.

Last Year Question Paper Class 12 Computer Science 2018

Download class 12 Computer Science question paper with solution from best CBSE App the myCBSEguide. CBSE class 12 Computer Science question paper 2018 in PDF format with solution will help you to understand the latest question paper pattern and marking scheme of the CBSE board examination. You will get to know the difficulty level of the question paper.

Previous Year Question Paper for class 12 in PDF

CBSE question papers 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005 and so on for all the subjects are available under this download link. Practicing real question paper certainly helps students to get confidence and improve performance in weak areas.

To download CBSE Question Paper class 12 Accountancy, Chemistry, Physics, History, Political Science, Economics, Geography, Computer Science, Home Science, Accountancy, Business Studies and Home Science; do check myCBSEguide app or website. myCBSEguide provides sample papers with solution, test papers for chapter-wise practice, NCERT solutions, NCERT Exemplar solutions, quick revision notes for ready reference, CBSE guess papers and CBSE important question papers. Sample Paper all are made available through the best app for CBSE students and myCBSEguide website.

myCBSEguide App

Test Generator

Create question paper PDF and online tests with your own name & logo in minutes.

Create Now
myCBSEguide App

myCBSEguide

Question Bank, Mock Tests, Exam Papers, NCERT Solutions, Sample Papers, Notes

Install Now

1 thought on “CBSE Question Paper 2018 class 12 Computer Science”

Leave a Comment