Kochi Metro Sahodaya
A COLLECTIVE VOICE OF CBSE SCHOOLS IN CENTRAL KERALA
MODEL EXAMINATION 2025-26
GRADE XII
DATE OF EXAMINATION: 12th Dec 2025
TIME ALLOWED: 3 HOURS (180 Minutes) MAXIMUM MARKS: 70
COMPUTER SCIENCE 083
MARKING SCHEME
General Instructions:
• This question paper contains 37 questions.
• All questions are compulsory. However, internal choices have been provided in some
questions. Attempt only one of the choices in such questions.
• The paper is divided into 5 Sections- A, B, C, D and E.
• Section A consists of 21 questions (1 to 21). Each question carries 1 Mark.
• Section B consists of 7 questions (22 to 28). Each question carries 2 Marks.
• Section C consists of 3 questions (29 to 31). Each question carries 3 Marks.
• Section D consists of 4 questions (32 to 35). Each question carries 4 Marks
• Section E consists of 2 questions (36 to 37). Each question carries 5 Marks.
• All programming questions are to be answered using Python Language only.
• In case of MCQ, text of the correct answer should also be written.
Q No. Section–A (21 × 1 = 21 Marks) Marks
1 True 1
2 D) [1, 3] 1
3 B) False 1
4 UNIQUE and NOT NULL 1
5 [Link] 1
Page 1 of 11
6 C) 4 times 1
7 -80 1
8 1
SELECT NAME FROM TEACHER WHERE NAME like "_ _O%"
9 B) ValueError 1
Finally block
10 C) 3 1
11 B) MBA#[Link]#BSc# 1
12 C) 75#25#-25 1
13 D) AVG 1
14 B)('My ', 'program', ' is program for you') 1
15 D) The number of attributes in the table. 1
16 C) CREATE 1
17 B)FTP 1
18 A) Fiber optic cable 1
19 C) URL 1
Q20 and 21 are ASSERTION AND REASONING based questions. Mark the
correct
choice as
A) Both A and R are true and R is the correct explanation for A
B) Both A and R are true and R is not the correct explanation for A
C) A is True but R is False
D) A is false but R is True
20 A) Both A and R are true and R is the correct explanation for A 1
21 1
B) Both A and R are true and R is not the correct explanation for A
Q No. Section-B (7 ×2 = 14 Marks) Marks
22 An infinite loop in python, also known as an endless loop, is a sequence of 2
instructions in a computer program that repeats indefinitely because it lacks
a proper terminating condition or the condition required for termination is
never met.
Example1:
while True:
print("This is an infinite loop")
Page 2 of 11
Example2:
i=5
while i>0:
print(i)
(1 mark for definition)
(1 mark for example)
OR
The pop( ) function removes the key-value pair of the key passed whereas
the popitem( ) function removes the last key-value pair from the dictionary.
Example:
dic={'a':10,'b':2,'c':30}
print([Link]('b')) #removes the element having key 'b',returns 2
print([Link]()) #removes the last element,retruns ('c', 30)
(1 mark for difference)
(½ mark for each example)
23 def absValue(n): 2
if (abs(n)==n):
print("you entered a positive number")
else:
n*=-1
print("Number made positive",x)
absValue(int(input("Enter the number:")))
OR
import math
def absValue(n):
if ([Link](n)==n):
print("you entered a positive number")
else:
n*=-1
print("Number made positive",x)
absValue(int(input("Enter the number:")))
(½ mark for correcting 4 mistakes)
Page 3 of 11
24 A. 2
I. str = [Link]( ): (1 mark for correct answer)
II. [Link]( 9) (1 mark for correct answer)
OR
B.
['c', 'nservati', 'n'] (1 mark for correct answer)
-1 (1 mark for correct answer)
25 def createList(L1): 2
U = []
for item in L1:
if item not in U:
[Link](item)
# Sort the list in descending order
[Link](reverse=True)
# Update the original list
L1[:] = U # modifies L1 in place
print(L1)
L1= [23,67,3,8,23,42,8]
createList(L1)
OR
def CountVowel(STRING):
d={}
STRING=[Link]()
for i in STRING:
if i not in d and i in 'aeiou':
d[i]=[Link](i)
return d
STRING="A girl sings beautifully."
print(CountVowel(STRING))
(½ mark for function definition)
(1½ mark for the correct /similar logic)
26 2
{'ENGLISH': 80, 'SCIENCE': 65, 'HINDI': 60} (1 mark for correct answer)
80 (½mark for correct answer)
NOT FOUND (½mark for correct answer)
Page 4 of 11
27 A. 2
I. Use SCHOOL; (1 mark for correct answer)
II. Drop table EVENT; (1 mark for correct answer)
OR
B.
CHAR stands for VARCHAR stands for “variable
“character.” character.”
Stores characters or
Stores characters or strings of a
strings of a fixed length
variable length (size).
(size).
Is equal to n bytes, i.e., Is equal to the actual length of the
set length entered string in bytes
(½ mark each for 2 points for both).
28 A. Domain Name System (DNS) is a hierarchical and distributed 2
naming system that translates domain names into IP addresses.
When you type a domain name like [Link] into your
browser, DNS ensures that the request reaches the correct server
by resolving the domain to its corresponding IP address.
(1 mark for definition)
(1 mark for it’s working)
B.
I. Bandwidth refers to the maximum capacity of a network or
internet connection to transfer data within a specific time
frame.
Measured in bits per second (bps).
(½ mark each for definition & ½ mark for unit)
II. SMTP - Simple Mail Transfer Protocol
POP3 - Post Office Protocol version 3
(½ mark each for correct expansion)
Q No. Section-C ( 3 × 3 = 9 Marks) Marks
29 A. 3
def SHOW_PALINDROME( ):
f=open("[Link]","r")
s=[Link]().split()
for i in s:
if [Link]()==i[::-1].lower() and len(i)>=3:
print(i)
[Link]()
Page 5 of 11
SHOW_PALINDROME( )
(½ mark for function definition)
(½ mark for opening the file)
(½ mark for reading from file &splitting)
(½ mark for loop)
(1 mark for correct conditions)
OR
B.
def CreateTest( ):
f1=open("[Link]","r")
f2=open("[Link]","w")
s=[Link]()
t=""
i=0
while i<len(s):
if s[i:i+3].lower()=="his":
t=t+"***"
i=i+3
else:
t=t+s[i]
i=i+1
print(t)
[Link](t)
[Link]()
[Link]()
CreateTest( )
(½ mark for function definition)
(½ mark for opening the file & reading from file)
(1 mark for correct condition)
(½ mark for forming the string to write)
(½ mark writing to file)
30 SETUP={"HR":10,"QUALITY":25,"SUPPORT":50,"PRODUCTION":20,"SUP 3
PLY":25}
DEPT=[]
def push():
for i in SETUP:
if SETUP[i]>=25:
[Link](i)
Page 6 of 11
def pop():
while len(DEPT)>0:
print([Link]())
else:
print("stack Empty")
push()
pop()
(1½ mark for each correct part)
31 A. CCompute23@*! (3 marks for correct output) 3
OR
B.
[45, 4, 40, 6] (1 marks for correct output)
{45: 'GAME', 4: 'A', 40: 'ME', 6: 'E'} (2 marks for correct output)
Section-D ( 4 × 4 = 16 Marks) Marks
Q No.
32 A. 4
I. SELECT * FROM CLUB WHERE AGE>30;
II. SELECT SPORTS,COUNT(*) FROM CLUB GROUP BY SPORTS;
III. UPDATE CLUB SET FEES=FEES-(FEES*10/100) WHERE
GENDER=”FEMALES”;
IV. SELECT MIN(FEES),MAX(FEES)FROM CLUB WHERE
SPORTS=”CHESS”;
(4 ×1 mark for each correct query)
OR
B.
I. MNAME AGE
AMRITA 35
AMRIT 28
MANJU 33
VIRAT 35
II. COUNT(DISTINCT SPORTS)
3
III. SUM(PAY)
4700
Page 7 of 11
IV. MNAME AGE
SHYAM 37
KRISHN 36
VIRAT 35
AMRIT 28
(4 ×1 mark for each correct output)
33 import csv 4
def CREATEFILE():
f = open( "[Link]" , "a" , newline="")
wr=[Link](f)
for i in range(5):
Course_Id=input("Enter course Id:")
Course_Name=input("Enter course Name:")
Qualification=input("Enter Qualification:")
Fee=int(input("Enter Fee:"))
Duration =input("Enter Duration:")
c_lst=[Course_Id, Course_Name, Qualification, Fee, Duration]
[Link](c_lst)
[Link]()
(½ mark for correctly taking user input)(
(½ mark for opening the file in append mode)
(½ mark for correcting creating the writer object)
(½ mark for correcting using writrow() )
def MIN_FEE():
f = open( "[Link]" , "r")
r1=[Link](f)
lst=list(r1)
minrec=lst[0]
for rec in lst:
if int(rec[3])<int(minrec[3]):
minrec=rec
print("Course with Lowest fee:",minrec)
[Link]()
CREATEFILE()
MIN_FEE()
(½mark for opening in the file in right mode)
(½mark for correctly creating the reader object)
(½ mark for correctly checking the condition)
Page 8 of 11
(½ mark for correctly displaying the record with lowest fees)
34 I. Select * from order order by orderAmt desc; 4
II. Select city, sum(OrderAmt) from customers natural join orders
group by city;
III. Select orderId, OrderDate, customerName, MobileNo from
customers natural join orders where customerName like “%y%”;
IV. A. select CustomerID, CustomerName, MobileNo from customers
where city=”New Delhi”;
OR
B. select * from customers,orders;
(4 ×1 mark for each correct query)
35 import [Link] 4
mycon=[Link](host="localhost", user="root",
passwd="modelexam@123",database="Sports")
mycur=[Link]()
gid=int(input("Enter Game id:"))
gname=input("Enter Game Name:")
p=int(input("Enter no: of participants:"))
query="insert into Game values({},'{}',{})".format(gid,gname,p)
[Link](query)
[Link]()
query="select * from game where No_of_Participants>10"
[Link](query)
data=[Link]()
for rec in data:
print(rec)
[Link]()
(½ mark for correctly importing the connector object)
(½ mark for correctly creating the connection object)
(½ mark for correctly creating the cursor object)
(1 mark for correct creation of insert query & executing the query)
(½ with commit function)
(½ for select query)
(½ mark for fetching the data and printing)
Page 9 of 11
Q No. Section-E ( 2 × 5 = 10 Marks) Marks
36 import pickle 2+3
def Add_Mobile( ):
f=open('[Link]', 'ab')
model = input("Enter Mobile Model: ")
company_name = input("Enter Company Name: ")
price = input("Enter Price: ")
m=[model,company_name,price]
[Link](m,f)
[Link]()
(½ mark for correctly defining the function header)
(½ mark for correctly opening the file in append mode)
(½ mark for correctly taking user input)
(½ mark for using dump() method of the pickle module)
def updatePrice(company):
f=open('[Link]', 'rb')
up_lst=[]
try:
while True:
m = [Link](f)
if m[1]==company:
m[2]=m[2]+m[2]*20/100
up_lst.append(m)
else:
up_lst.append(m)
except EOFError:
pass
[Link]()
f=open('[Link]', 'wb')
for m in up_lst:
[Link](m, f)
print("Price updated.")
[Link]()
(½ mark for correctly defining the function header)
(½ mark for correctly opening the file)
(1 mark for using load() with while loop and try-except block)
Page 10 of 11
(1 mark for checking the condition and updating the value)
37 I) Branch D, it has the maximum number of computers. 5
II)
Layout 1
BRANCH A BRANCH B
BRANCH C BRANCH D
Layout 2
BRANCH A BRANCH B
BRANCH C BRANCH D
III) Hub/Switch
IV) WAN, since distance is more than 100 km
V) A. Ethernet cable
OR
B. FTP
(5 x 1 mark for each correct part)
Page 11 of 11