Skip to content
← All years

Computer Science · 2025

CBSE Class 12 Computer Science 2025 — Previous-Year Question Paper

CBSE Class XII Board 2025 · Set 91/4

Real board examination

About this paper

The real Class-12 board examination held in 2025. Every question below is solved the concept-first way. Sample papers are labelled honestly — never shown as a past exam.

Total marks
70
Questions
37
Duration
180 min
Sections
5

The marks / questions / duration above are the official exam pattern. We currently have 37 of this paper’s questions (100% of the full paper), with 37 fully solved. Questions we couldn’t yet extract or verify are held — never shown as complete.

Sections & marks

SectionTypeQuestionsMarks eachTotal
ASection AObjective (MCQ / True-False / 1-mark)21121
BSection BVery short answer7214
CSection CShort answer339
DSection DLong answer4416
ESection ELong answer2510
Total3770

The question paper

The questions we hold for this paper, laid out by section. Solutions are on the Answers tab.

Board Examination

Computer Science

CBSE Class XII Board 2025 · Set 91/4

Series/Set: 91/4Roll No. ________
Time Allowed: 3 hoursMaximum Marks: 70

General Instructions

  1. This question paper contains 37 questions divided into 5 sections — A, B, C, D, E.
  2. Section A comprises 21 questions of 1 mark each (Objective (MCQ / True-False / 1-mark)).
  3. Section B comprises 7 questions of 2 marks each (Very short answer).
  4. Section C comprises 3 questions of 3 marks each (Short answer).
  5. Section D comprises 4 questions of 4 marks each (Long answer).
  6. Section E comprises 2 questions of 5 marks each (Long answer).

Above is the official exam pattern. The questions printed below are those we currently hold for this paper.

Section A

Objective (MCQ / True-False / 1-mark) · 1 mark each · 21 of 21 shown

Q1.
State True or False: "A Python List must always contain all its elements of same data type."
[1]
Q2.
What will be the output of the following statement?
print(14%3**2*4)
(A) 16 (B) 64 (C) 20 (D) 256
[1]
Q3.
Identify the correct output of the following code snippet: game="Olympic2024" print(game.index("C")) (A) 0 (B) 6 (C) -1 (D) ValueError
[1]
Q4.
Which of the following is the correct identifier? (A) global (B) Break (C) def (D) with
[1]
Q5.
Identify the invalid Python statement out of the following options: (A) print("A",10,end="*") (B) print("A",sep="*",10) (C) print("A",10,sep="*") (D) print("A"*10)
[1]
Q6.
Consider the statements given below and then choose the correct output from the given options:
L=['TIC', 'TAC']
print(L[::-1])
(A) ['CIT', 'CAT'] (B) ['TIC', 'TAC'] (C) ['CAT', 'CIT'] (D) ['TAC', 'TIC']
[1]
Page 1 of 6
Q7.
Which of the following operator evaluates to True if the variable on either side of the operator points towards the same memory location and False otherwise? (A) is (B) is not (C) and (D) or
[1]
Q8.
Consider the statements given below and then choose the correct output from the given options: ```python D='S01':95, 'S02':96 for I in D: print(I,end='#') ``` (A) S01#S02# (B) 95#96# (C) S01,95#S02,96# (D) S01#95#S02#96#
[1]
Q9.
While creating a table, which constraint does not allow insertion of duplicate values in the table ? (A) UNIQUE (B) DISTINCT (C) NOT NULL (D) HAVING
[1]
Q10.
Consider the statements given below and then choose the correct output from the given options: def Change(N): N=N+10 print(N,end='') N=15 Change(N) print(N) (A) 2515 (B) 1525 (C) 2525 (D) 2525
[1]
Q11.
Consider the statements given below and then choose the correct output from the given options: N='5' try: print('WORD' + N, end='#') except: print('ERROR',end='#') finally: print('OVER') (A) ERROR# (B) WORD5#OVER (C) WORD5# (D) ERROR#OVER
[1]
Q12.
Which of the following built-in function/method returns a dictionary ? (A) dict() (B) keys() (C) values() (D) items()
[1]
Q13.
Which of the following is a DML command in SQL ? (A) UPDATE (B) CREATE (C) ALTER (D) DROP
[1]
Q14.
Which aggregate function in SQL displays the number of values in the specified column ignoring the NULL values ? (A) len() (B) count() (C) number() (D) num()
[1]
Q15.
In MYSQL, which type of value should not be enclosed within quotation marks ? (A) DATE (B) VARCHAR (C) FLOAT (D) CHAR
[1]
Q16.
State True or False : If table A has 6 rows and 3 columns, and table B has 5 rows and 2 columns, the Cartesian product of A and B will have 30 rows and 5 columns.
[1]
Page 2 of 6
Q17.
Which of the following networking devices is used to regenerate and transmit the weakened signal ahead? (A) Hub (B) Ethernet Card (C) Repeater (D) Modem
[1]
Q18.
Which of the following options is the correct protocol used for phone calls over the Internet? (A) PPP (B) FTP (C) HTTP (D) VoIP
[1]
Q19.
Expand ARPANET.
[1]
Q20.
Q.Nos. 20 and 21 are Assertion (A) and Reason (R) based questions. Mark the correct choice as (A) Both Assertion (A) and Reason (R) are true and Reason (R) is the correct explanation for Assertion (A). (B) Both Assertion (A) and Reason (R) are true and Reason (R) is not the correct explanation for Assertion (A). (C) Assertion (A) is true but, Reason (R) is false. (D) Assertion (A) is false but, Reason (R) is true. Assertion (A): For a binary file opened using 'rb' mode, the pickle.dump() method will display an error. Reason (R): The pickle.dump() method is used to read from a binary file.
[1]
Q21.
Assertion (A) : We can retrieve records from more than one table in MYSQL. Reason (R) : Foreign key is used to establish a relationship between two tables. (A) Both Assertion (A) and Reason (R) are true and Reason (R) is the correct explanation for Assertion (A). (B) Both Assertion (A) and Reason (R) are true and Reason (R) is not the correct explanation for Assertion (A). (C) Assertion (A) is true but, Reason (R) is false. (D) Assertion (A) is false but, Reason (R) is true.
[1]
Section B

Very short answer · 2 marks each · 7 of 7 shown

Q1.
What does the return statement do in a function ? Explain with the help of an example.
[2]
Q2.
Write one example of each of the following in Python : (i) Syntax Error (ii) Implicit Type conversion
[2]
Q3.
Consider the following dictionaries, D and D1 : D="Suman": 40, "Raj":55, "Raman":60 D1="Aditi":30, "Amit":90,"Raj":20 (Answer using built-in Python functions only) (i) (a) Write a statement to display/return the value corresponding to the key "Raj" in the dictionary D. OR (b) Write a statement to display the length of the dictionary D1. (ii) (a) Write a statement to append all the key-value pairs of the dictionary D to the dictionary D1. OR (b) Write a statement to delete the item with the given key "Amit" from the dictionary D1.
[2]
Page 3 of 6
Q4.
What possible output from the given options is expected to be displayed when the following code is executed? ```python import random Cards=["Heart","Spade","Club","Diamond"] for i in range(2): print(Cards[random.randint(1,i+2)],end="#") ``` (A) Spade#Diamond# (B) Spade#Heart# (C) Diamond#Club# (D) Heart#Spade#
[2]
Q5.
The code given below accepts N as an integer argument and returns the sum of all integers from 1 to N. Observe the following code carefully and rewrite it after removing all syntax and logical errors. Underline all the corrections made. ```python def Sum(N) for I in range(N): S=S+I return S print(Sum(10) ```
[2]
Q6.
Nisha is assigned the task of maintaining the staff data of an organization. She has to store the details of the staff in the SQL table named EMPLOYEES with attributes as EMPNO, NAME, DEPARTMENT, BASICSAL to store Employee's Identification Number, Name, Department and Basic Salary respectively. There can be two or more Employees with the same name in the organization. (i) (a) Help Nisha to identify the attribute which should be designated as the PRIMARY KEY. Justify your answer. OR (b) Help Nisha to identify the constraint which should be applied to the attribute NAME such that the Employees' Names cannot be left empty or NULL while entering the records but can have duplicate values. (ii) (a) Write the SQL command to change the size of the attribute BASICSAL in the table EMPLOYEES to allow the maximum value of 99999.99 to be stored in it. OR (b) Write the SQL command to delete the table EMPLOYEES
[2]
Q7.
(a) Expand and explain the term URL. OR (b) Expand the term PPP. What is the use of PPP?
[2]
Section C

Short answer · 3 marks each · 3 of 3 shown

Q1.
(a) Write a Python function that displays all the lines containing the word 'vote' from a text file "Elections.txt". For example, if the file contains : In an election many people vote to choose their representative. The candidate getting the maximum share of votes stands elected. Normally, one person has to vote once. The process of voting may vary with time and region. Then the output should be : In an election many people vote to choose their representative. Normally, one person has to vote once. OR (b) Write a Python function that displays all the words starting and ending with a vowel from a text file "Report.txt". The consecutive words should be separated by a space in the output. For example, if the file contains : Once there was a wise man in a village. He was an awesome story-teller. He was able to keep people anchored while listening to him. Then the output should be : Once a a awesome able
[3]
Page 4 of 6
Q2.
(a) A stack, named ClrStack, contains records of some colors. Each record is represented as a tuple containing four elements - ColorName, RED, GREEN, BLUE. ColorName is a string, and RED, GREEN, BLUE are integers. For example, a record in the stack may be ('Yellow', 237, 250, 68) Write the following user-defined functions in Python to perform the specified operations on ClrStack: (i) pushClr(ClrStack, newClr): This function takes the stack ClrStack and a new record newClr as arguments and pushes this new record onto the stack. (ii) popClr(ClrStack): This function pops the topmost record from the stack and returns it. If the stack is already empty, the function should display the message "Underflow". (iii) isEmpty(ClrStack): This function checks whether the stack is empty. If the stack is empty, the function should return True, otherwise the function should return False. OR (b) Write the following user-defined functions in Python : (i) pushtrail(N,myStack): Here N and myStack are lists, and myStack represents a stack. The function should push the last 5 elements from the list N onto the stack myStack. For example, if the list N is [1,2,3,4,5,6,7], then the function pushtrail() should push the elements 3,4,5,6,7 onto the stack. Therefore the value of stack will be [3,4,5,6,7]. Assume that N contains at least 5 elements. (ii) popone(myStack): The function should pop an element from the stack myStack, and return this element. If the stack is empty, then the function should display the message 'Stack Underflow', and return None. (iii) displayall(myStack): The function should display all the elements of the stack myStack, without deleting them. If the stack is empty, the function should display the message 'Empty Stack'.
[3]
Q3.
(a) Predict the output of the following code : ```python def ExamOn(mystr) : newstr = "" count = 0 for i in mystr: if count%2 != 0: newstr = newstr + str(count-1) else: newstr = newstr + i.lower() count += 1 newstr = newstr + mystr[:2] print("The new string is:", newstr) ExamOn("GenX") ``` OR (b) Write the output on execution of the following Python code: ```python def Change(X): for K,V in X.items(): L1.append(K) L2.append(V) D=1:"ONE",2:"TWO",3:"THREE" L1=[] L2=[] Change(D) print(L1) print(L2) print(D) ```
[3]
Section D

Long answer · 4 marks each · 4 of 4 shown

Q1.
Suman has created a table named WORKER with a set of records to maintain the data of the construction sites, which consists of WID, WNAME, WAGE, HOURS, TYPE, and SITEID. After creating the table, she entered data in it, which is as follows : WID WNAME WAGE HOURS TYPE SITEID W01 Ahmed J 1500 200 Unskilled 103 W11 Naveen S 520 100 Skilled 101 W02 Jacob B 780 95 Unskilled 101 W15 Nihal K 560 110 Semiskilled NULL W10 Anju S 1200 130 Skilled 103 (a) Based on the data given above, answer the following questions : (i) Write the SQL statement to display the names and wages of those workers whose wages are between 800 and 1500. (ii) Write the SQL statement to display the record of workers whose SITEID is not known. (iii) Write the SQL statement to display WNAME, WAGE and HOURS of all those workers whose TYPE is 'Skilled'. (iv) Write the SQL statement to change the WAGE to 1200 of the workers where the TYPE is "Semiskilled" OR (b) Considering the above given table WORKER, write the output on execution of the following SQL commands: (i) SELECT WNAME, WAGE*HOURS FROM WORKER WHERE SITEID = 103; (ii) SELECT COUNT(DISTINCT TYPE) FROM WORKER ; (iii) SELECT MAX(WAGE), MIN(WAGE), TYPE FROM WORKER GROUP BY TYPE; (iv) SELECT WNAME, SITEID FROM WORKER WHERE TYPE="Unskilled" ORDER BY HOURS;
[4]
Q2.
A csv file "Precord.csv" contains the records of patients in a hospital. Each record of the file contains the following data : - Name of a patient - Disease - Number of days patient is admitted - Amount For example, a sample record of the file may be : ["Gunjan","Jaundice",4,15000] Write the following Python functions to perform the specified operations on this file : (i) Write a function readdata() which reads all the data from the file and displays the details of all the 'Cancer' patients. (ii) Write a function countrec() which counts and returns the number of records in the file.
[4]
Page 5 of 6
Q3.
Assume that you are working in the IT Department of a Creative Art Gallery (CAG), which sells different forms of art creations like Paintings, Sculptures etc. The data of Art Creations and Artists are kept in tables Articles and Artists respectively. Following are few records from these two tables : Table : Articles Code ACode Article DOC Price PL001 A0001 Painting 2018-10-19 20000 SC028 A0004 Sculpture 2021-01-15 16000 QL005 A0003 Quilling 2024-04-24 3000 Table : Artists ACode Name Phone Email DOB A0001 Roy 595923 r@CrAG.com 1986-10-12 A0002 Ghosh 1122334 ghosh@CrAG.com 1972-02-05 A0003 Gargi 121212 Gargi@CrAG.com 1996-03-22 A0004 Mustafa 33333333 Mf@CrAg.com 2000-01-01 Note : - The tables contain many more records than shown here. - DOC is Date of Creation of an Article. As an employee of CAG, you are required to write the SQL queries for the following : (i) To display all the records from the Articles table in descending order of price. (ii) To display the details of Articles which were created in the year 2020. (iii) To display the structure of Artists table. (iv) (a) To display the name of all Artists whose Article is Painting through Equi Join. OR (b) To display the name of all Artists whose Article is 'Painting' through Natural Join.
[4]
Q4.
A table, named THEATRE, in CINEMA database, has the following structure : Fields Type ThID char(5) Name varchar(15) City varchar(15) Location varchar(15) Seats int Write a function DeleteTheatre(), to input the value of ThID from the user and permanently delete the corresponding record from the table. Assume the following for Python-Database connectivity : Host : localhost, User : root, Password : Ex2025
[4]
Section E

Long answer · 5 marks each · 2 of 2 shown

Q1.
A file, PASSENGERS.DAT, stores the records of passengers using the following structure : [PNR, PName, BRDSTN, DESTN, FARE] where : PNR - Passenger Number (string type) PName - Passenger Name (string type) BRDSTN - Boarding Station Name (string type) DESTN - Destination Station Name (string type) FARE - Fare amount for the journey (float type) Write user defined functions in Python for the following tasks : (i) Create() - to input data for passengers and write it in the binary file PASSENGERS.DAT. (ii) SearchDestn(D) - to read contents from the file PASSENGERS.DAT and display the details of those Passengers whose DESTN matches with the value of D. (iii) UpdateFare() - to increase the fare of all passengers by 5% and rewrite the updated records into the file PASSENGERS.DAT.
[5]
Q2.
'Swabhaav' is a big NGO working in the field of Psychological Treatment and Counselling, having its Head Office in Nagpur. It is planning to set up a center in Vijayawada. The Vijayawada Center will have four blocks - ADMIN, PSYCHIATRY, PSYCHOLOGY, and ICU. You, as a Network Expert, need to suggest the best network-related solutions for them to resolve the issues/problems mentioned in questions (i) to (v), keeping the following parameters in mind : Block to Block distances (in metres) : From To Distance ADMIN PSYCHIATRY 65 m ADMIN PSYCHOLOGY 65 m ADMIN ICU 65 m PSYCHIATRY PSYCHOLOGY 100 m PSYCHIATRY ICU 50 m PSYCHOLOGY ICU 50 m Distance of Nagpur Head Office from Vijayawada Center = 700 km Number of Computers in each block is as follows : Block No. of Computers ADMIN 16 PSYCHIATRY 40 PSYCHOLOGY 19 ICU 20 (i) Suggest the most appropriate location of the server inside the Vijayawada Center. Justify your choice. (ii) Which hardware device will you suggest to connect all the computers within each block of Vijayawada Center ? (iii) Draw a cable layout to efficiently connect various blocks within the Vijayawada Center. (iv) Where should the router be placed to provide internet to all the computers in the Vijayawada Center? (v) (a) The Manager at Nagpur wants to remotely access the computer in Admin block in Vijayawada. Which protocol will be used for this ? OR (b) Which type of Network (PAN, LAN, MAN or WAN) will be set up among the computers connected with Vijayawada Center ?
[5]
Page 6 of 6