Previous Year Question Paper 2024 | Fully Solved CBSE Computer Science
Section - A
State True or False: While defining a function, the positional parameters in the function header must always be written after the default parameters.
Answer: False
The
SELECT
statement when combined with __ clause, returns records without repetition.(a)
DISTINCT
(b)DESCRIBE
(c)UNIQUE
(d)NULL
Answer: (a)
DISTINCT
What will be the output of the following statement:
print(16*5/4*2/5-8)
(a) -3.33 (b) 6.0 (c) 0.0 (d) -13.33
Answer: (c) 0.0
What possible output from the given options is expected to be displayed when the following Python code is executed?
import random Signal = ['RED', 'YELLOW', 'GREEN'] for K in range (2, 0, -1): R = random.randrange(K) print(Signal[R], end='#')
(a)
YELLOW # RED #
(b)
RED # GREEN #
(c)
GREEN # RED #
(d)
YELLOW # GREEN #
Answer: (a)
YELLOW # RED #
In SQL, the aggregate function which will display the cardinality of the table is:
(a)
sum()
(b)count(*)
(c)avg()
(d)sum(*)
Answer: (b)
count(*)
Which protocol out of the following is used to send and receive emails over a computer network?
(a)
PPP
(b)HTTP
(c)FTP
(d)SMTP
Answer: (d)
SMTP
Identify the invalid Python statement from the following :
(a)
d = dict()
(b)
e = {}
(c)
f = []
(d)
g = dict{}
Answer: (d)
g = dict{}
Consider the statements given below and then choose the correct output from the given options:
myStr="MISSISSIPPI" print(myStr[:4]+"#"+myStr[-5:])
(a)
MISSI#SIPPI
(b)MISS#SIPPI
(c)
MISS#IPPIS
(d)MISSI#IPPIS
Answer: (b)
MISS#SIPPI
Identify the statement from the following which will raise an error:
(a)
print("A" *3)
(b)print(5*3)
(c)
print("15" + 3)
(d)print("15" + "13")
Answer: (c)
print("15" + 3)
Select the correct output of the following code:
event="G20 Presidency@2023" L=event.split(' ') print (L[::-2])
(a)
'G20'
(b)['Presidency@2023']
(c)
['G20']
(d)Presidency@2023
Answer: (b)
['Presidency@2023']
Which of the following options is the correct unit of measurement for network bandwidth ?
(a)
KB
(b)bit
(c)Hz
(d)Km
Answer: (b)
bit
Observe the given Python code carefully:
a=20 def convert(a): b=20 a=a+b convert(10) print(a)
(a) 10 (b) 20 (c) 30 (d) Error
Answer: (b) 20
State whether the following statement is True or False:
While handling exceptions in Python, name of the exception has to be compulsorily added with
except
clause.Answer: False
Which of the following is not a DDL command in SQL?
(a)
DROP
(b)CREATE
(c)UPDATE
(d)ALTER
Answer: (c)
UPDATE
Fill in the blank:
_____ is a set of rules that needs to be followed by the communicating parties in order to have a successful and reliable data communication over a network.
Answer: Protocol
Consider the following Python statement :
F=open('CONTENT.TXT')
Which of the following is an invalid statement in Python?
(a)
F.seek(1, 0)
(b)F.seek(0, 1)
(c)
F.seek(0, -1)
(d)F.seek(0, 2)
Answer: (c)
F.seek(0, -1)
Q. 17 and 18 are ASSERTION (A) and REASONING (R) 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.
Assertion (A) : CSV file is a human readable text file where each line has a number of fields, separated by comma or some other delimiter.
Reason (R):
writerow()
method is used to write a single row in a CSV file.Answer: (b)
Assertion (A) : The expression
"HELLO".sort()
in Python will give an error.Reason (R) :
sort()
does not exist as a method/function for strings in Python.Answer: (a)
Section - B
(A) (i) Expand the following terms:
XML
,PPP
(ii) Give one difference between circuit switching and packet switching.
Answer: (i) XML: eXtensible Markup Language; PPP: Point-to-Point Protocol
(ii) Circuilt Switching needs a dedicated path from the source to the destination before the transmission of data can begin, while in Packet Switching data is divided into packets and transmitted over the network without having a dedicated path, i.e. they just know the address of the next point to hop to.
OR
(B) (i) Define the term web hosting.
(ii) Name any two web browsers.
Answer: (i) Web hosting is the process of placing hypertext documents on a web server.
(ii) Google Chrome and Mozilla Firefox
The code given below accepts five numbers and displays whether they are even or odd: Observe the following code carefully and rewrite it after removing all syntax and logical errors:
Underline all the corrections made.
def EvenOdd() for i in range (5): num=int(input("Enter a number") if num/2==0: print("Even") else: print("Odd") EvenOdd()
Answer:
Write a user defined function in Python named
showGrades(S)
which takes the dictionary S as an argument. The dictionary, S containsName: [Eng, Math, Science]
askey: value
pairs. The function displays the corresponding grade obtained by the students according to the following grading rules:Average of Eng,Math,Science Grade >=90 A <90 but >=60 B <60 C For example: Consider the following dictionary
S={"AMIT": [92,86,64], "NAGMA" : [65,42,43], "DAVID": [92,90,88]}
The output should be:
AMIT - B NAGMA - C FDAVID - A
Answer:
def showGrades(S): for k,v in S.items(): avg = sum(v)/len(v) if avg > 90: print(k, "-", "A") elif avg >=60: print(k, "-", "B") else: print(k, "-", "C")
OR
(B) Write a user defined function in Python named
Puzzle(W,N)
which takes the argumentW
as an English word andN
as an integer and returns the string where every Nth alphabet of the wordW
is replaced with an underscore ("_").For example: if
W
contains the word"TELEVISION"
andN
is 3, then the function should return the string"TE_EV_SI_N"
. Likewise for the word"TELEVISION"
ifN
is 4, then the function should return"TEL_VIS_ON"
.Answer:
def Puzzle(W,N): ns = "" for c, index in enumerate(W): if (index+1)%N==0: ns += "_" else: ns += c return ns
Write the output displayed on execution of the following Python code:
LS=["HIMALAYA", "NILGIRI", "ALASKA", "ALPS"] D={} for S in LS: if len(S)%4 == 0: D[S] = len(S) for K in D: print(K, D[K], sep = "#")
Answer:
HIMALAYA#8 ALPS#4
(A) Write the Python statement for each of the following tasks using built-in functions/methods only:
(i) To remove the item whose key is
"NISHA"
from a dictionary namedStudents
. For example, if the dictionaryStudents
contains{"ANITA": 90, "NISHA": 76, "ASHA": 92}
, then after removal the dictionary should contain{"ANITA" : 90, "ASHA" : 92}
(ii) To display the number of occurrences of the substring
"is"
in a string namedmessage
. For example if the stringmessage
contains"This is his book"
, then the output will be 3.Answer: (i)
Students.pop("NISHA")
(ii)message.count("is")
OR
(B) A tuple named subject
stores the names of different subjects. Write the Python commands to convert the given tuple to a list and thereafter delete the last element of the list.
Answer:
subject = list(subject)
subject.pop()
(A) Ms. Veda created a table named
Sports
in a MySQL database, containing columnsGame_id
,Age
andG_name
.After creating the table, she realized that the attribute,
Category
has to be added. Help her to write a command to add theCategory
column. Thereafter, write the command to insert the following record in the table:Game_id
: G42P_Age
: Above 18G_name
: ChessCategory
: SeniorAnswer:
# add category column ALTER TABLE Sports ADD Category VARCHAR(50); # insert given record INSERT INTO Sports(Game_id, P_Age, G_name, Category) VALUES ("G42", "Above 18", "Chess", "Senior");
OR
Answer:
(i)
USE Exam;
SHOW TABLES;
(ii)
DESC Term1;
Predict the output of the following code:
def callon(b=20, a=10): b=b+a a=b-a print(b, "#", a) return b x=100 y=200 x=callon(x,y) print(x, "@", y) y=callon(y) print(x, "@", y)
Answer:
300#100 300@200 210#200 300@210
Section - C
Write the output on execution of the following Python code:
S="Racecar Car Radar" L=S.split() for W in L: x = W.upper() if x==x[::-1]: for I in x: print(I,end="*") else: for I in W: print(I,end="#") print()
Answer:
R*A*C*E*C*A*R* C#a#r# R*A*D*A*R*
Consider the table ORDERS given below and write the output of the SQL queries that follow:
ORDNO ITEM QTY RATE ORDATE 1001 RICE 23 120 2023-09-10 1002 PULSES 13 120 2023-10-18 1003 RICE 25 110 2023-11-17 1004 WHEAT 28 65 2023-12-25 1005 PULSES 16 110 2024-01-15 1006 WHEAT 27 55 2024-04-15 1007 WHEAT 25 60 2024-04-30 (i)
SELECT ITEM, SUM(QTY) FROM ORDERS GROUP BY ITEM;
(ii)
SELECT ITEM, QTY FROM ORDERS WHERE ORDATE BETWEEN '2023-11-01' AND '2023-12-31';
(iii)
SELECT ORDNO, ORDATE FROM ORDERS WHERE ITEM = 'WHEAT' AND RATE >= 60;
Answer:
(i)
ITEM SUM(QTY) RICE 48 PULSES 29 WHEAT 80 (ii)
ITEM QTY RICE 25 WHEAT 28 (iii)
ORDNO ORDATE 1004 2023-12-25 1007 2024-04-30 Write a user defined function in Python named
showInLines()
which reads contents of a text file namedSTORY.TXT
and displays every sentence in a separate line.Assume that a sentence ends with a full stop (.), a question mark (?), or an exclamation mark (!).
For example, if the content of file
STORY.TXT
is as follows:Our parents told us that we must eat vegetables to be healthy. And it turns out, our parents were right!. So, what else did our parents tell?
The following content should be displayed:
Our parents told us that we must eat vegetables to be healthy. And it turns out, our parents were right! So, what else did our parents tell?
Answer:
def showInLines(): f = open('STORY.TXT') content = f.read() for c in content: if c in '.?!': print(c) else: print(c, end='') f.close()
def c_words():
with open("Words.txt") as f:
content = f.read()
count_ucase = 0
count_lcase = 0
for c in content:
if c.isalpha() and c.isupper():
count_ucase += 1
elif c.isalpha() and c.islower():
count_lcase += 1
print("count uppercase", count_ucase)
print("count lowercase", count_lcase)
Consider the table Projects given below:
P_id Pname Language Startdate Enddate P001 School Management System Python 2023-01-12 2023-04-03 P002 Hotel Management System C++ 2022-12-01 2023-02-02 P003 Blood Bank Python 2023-02-11 2023-03-02 P004 Payroll Management System Python 2023-03-12 2023-06-02 Based on the given table, write SQL queries for the following:
i. Add the constraint,
primary key
to columnP_id
in the existing tableProjects
.ii. To change the language to
Python
of the project whose id isP002
.iii. To delete the table
Projects
from MySQL database along with its data.Answer:
i.
ALTER TABLE Projects ADD PRIMARY KEY(P_id);
ii.
UPDATE Projects SET Language = 'Python' WHERE P_id = 'P002';
iii.
DROP TABLE Projects;
Consider a list named
Nums
which contains random integers.Write the following user defined functions in Python and perform the specified operations on a stack named
BigNums
.(i)
PushBig()
: It checks every number from the listNums
and pushes all such numbers which have 5 or more digits into the stack,BigNums
.(ii)
PopBig()
: It pops the numbers from the stack,BigNums
and displays them. The function should also display "Stack Empty" when there are no more humbers left in the stack.For example: If the list Nums contains the following data :
Nums = [213,10025,167,254923,14,1297653,31498,386,92765]
Then on execution of
PushBig()
, the stackBigNums
should store:[10025, 254923, 1297653, 31498, 92765]
And on execution of
PopBig()
, the following output should be displayed:92765 31498 1297653 254923 10025 Stack Empty
Answer:
(i)
def PushBig(): for num in Nums: if len(str(num)) >= 5: # alternate: num >= 10000 BigNums.append(num)
(ii)
def PopBig(): while len(BigNums) > 0: print(BigNums.pop()) print("Stack Empty")
Section - D
Consider the tables
Admin
andTransport
given below:Table: Admin
S_id S_name Address S_type S001 Sandhya Rohini Day Boarder S002 Vedanshi Rohtak Day Scholar S003 Vibhu Raj Nagar NULL S004 Atharva Rampur Day Boarder Table: Transport
S_id Bus_no Stop_name S002 TSS10 Sarai Kale Khan S004 TSS12 Sainik Vihar S005 TSS10 Kamla Nagar Write SQL queries for the following:
i. Display the student name and their stop name from the tables
Admin
andTransport
.ii. Display the number of students whose
S_type
is not known.iii. Display all details of the students whose name starts with 'V'.
iv. Display student id and address in alphabetical order of student name, from the table
Admin
.Answer:
i.
SELECT S_name, Stop_name FROM Admin NATURAL JOIN Transport;
ii.
SELECT COUNT(*) FROM Admin WHERE S_type IS NULL;
iii.
SELECT * FROM Admin WHERE S_name LIKE 'V%';
iv.
SELECT S_id, Address FROM Admin ORDER BY S_name;
Sangeeta is a Python programmer working in a computer hardware company. She has to maintain the records of the peripheral devices. She created a csv file named
Peripheral.csv
, to store the details. The structure ofPeripheral.csv
is :[P_id, P_name, Price]
where:
P_id
is Peripheral device ID (integer)P_name
is Peripheral device name (String)Price
is Peripheral device price (integer)Sangeeta wants to write the following user defined functions:
Add_Device()
: to accept a record from the user and add it to a csv file,Peripheral.csv
.Count_Device()
: To count and display number of peripheral devices whose price is less than 1000.Answer:
def Add_Device(): import csv p_id = int(input("device id:")) p_name = input("device name:") p_price = int(input("device price:")) with open("Peripheral.csv", "a") as f: writer = csv.writer(f) writer.writerow([p_id, p_name, p_price]) def Count_Device(): import csv f = open("Peripheral.csv") reader = csv.reader(f) count = 0 for row in reader: if int(row[2]) < 1000: count += 1 print("number of devices priced less than 1000:", count) f.close()
Section - E
Infotainment Ltd. is an event management company with its prime office located in Bengaluru. The company is planning to open its new division at three different locations in Chennai named as - Vajra, Trishula and Sudershana.
You, as a networking expert need to suggest solutions to the questions in part (i) to (v), keeping in mind the distances and other given parameters.
Distances between various locations:
- Vajra to Trishula - 350 m
- Trishula to Sudershana - 415 m
- Sudershana to Vajra - 300m
Bengaluru Office to Chennai - 2000km
Number of computers installed at various locations:
Vajra - 120
- Sudershana - 75
- Trishula - 65
Bengaluru Office - 250
i. Suggest and draw the cable layout to efficiently connect various locations in Chennai division for connecting the digital devices.
ii. Which block in Chennai division should host the server? Justify your answer.
iii. Which fast and effective wired transmission medium should be used to connect the prime office at Bengaluru with the Chennai division ?
iv. Which network device will be used to connect the digital devices within each location of Chennai division so that they may communicate with each other?
v. A considerable amount of data loss is noticed between different locations of the Chennai division, which are connected in the network. Suggest a networking device that should be installed to refresh the data and reduce the data loss during transmission to and from different locations of Chennai division.
Answer:
i. TODO
ii. Vajra, because it has the largest number of computers in Chennai division.
iii. Optical Fiber
iv. Hub / Switch
v. Repeater
(A) (i) Differentiate between
'w'
and'a'
file modes in Python.(ii) Consider a binary file,
items.dat
, containing records stored in the given format:{item_id: [item_name, amount]}
Write a function,
Copy_new()
, that copies all records whose amount is greater than 1000 fromitems.dat
tonew_items.dat
.Answer: (i) 'w' will override any existing content in the file, while 'a' will append any new content to the end of the file, after the existing content.
(ii)
def Copy_new(): import pickle old_dat = open("items.dat", "rb") new_dat = open("new_items.dat", "wb") old_items = pickle.load(old_dat) new_items = {} for item_id in old_items: if old_items[item_id][1] > 1000: new_items[item_id] = old_items[item_id] pickle.dump(new_items, new_dat) old_dat.close() new_dat.close()
OR
[Emp_Id, Name, Salary]
where
`Emp_Id` : Employee id
`Name` : Employee Name
`Salary` : Employee Salary
Write a user defined function, `dis_Detail()`, that would read the contents of the file `EMP.DAT` and display the details of the employees whose salary is below `25000`.
**Answer:** (i) When using the `with` clause while working with files, we don't have to manually call `.close()` to close a file, which we might forget to do sometimes. Syntax of `with` clause:
with open("filename") as f:
# do something with f
pass
(ii)
import pickle
f = open("EMP.DAT", "rb")
while True:
try:
record = pickle.load(f)
except EOFError:
break
if record[2] < 25000:
print(record[0], record[1], record[2])
f.close()
(A) (i) Define cartesian product with respect to RDBMS. (ii) Sunil wants to write a program in Python to update the quantity to 20 of the records whose item code is 111 in the table named
shop
in MySQL database namedKeeper
.The table shop in MySQL contains the following attributes:
Item_code
: Item code (Integér)Item_name
: Name of item (String)Qty
: Quantity of item (Integer)Price
: Price of item (Integer)
Consider the following to establish connectivity between Python and MySQL:
- Username:
admin
- Password:
Shopping
- Host:
localhost
Answer: (i) Cartesian Product of two tables (say T1 and T2) is a new tables where each row of T1 is joined with each row of T2. The resulting table (join) has columns of both the tables.
e.g.
T1
A B 1 2 3 4 T2
C D 6 7 8 9 T1 x T2
A B C D 1 2 6 7 1 2 8 9 3 4 6 7 3 4 8 9 (ii)
import mysql.connector cnx = mysql.connector.connect( host="localhost", user="admin", password="Shopping", database="Keeper" ) cursor = cnx.cursor() query = "UPDATE shop SET Qty = 20 WHERE Item_code = 111" cursor.execute(query) cnx.commit() cnx.close()
OR
(B) (i) Give any two features of SQL.
(ii) Sumit wants to write a code in Python to display all the details of the passengers from the table flight
in MySQL database, Travel
. The table contains the following attributes:
F_code
: Flight code (String)
F_name
: Name of flight (String)
Source
: Departure city of flight (String)
Destination
: Destination city of flight (String)
Consider the following to establish connectivity between Python and MySQL:
- Username :
root
- Password:
airplane
- Host:
localhost
Answer: (i) Case-insensitive, English like readable, Powerful querying clauses etc. (any 2)
(ii)
import mysql.connector
cnx = mysql.connector.connect(
host="localhost", user="root", password="airplane", database="Travel"
)
cursor = cnx.cursor()
query = "SELECT F_code, F_name, Source, Destination FROM flight"
cursor.execute(query)
for row in cursor:
f_code, f_name, source, destination = row
print("Flight Code", f_code)
print("Flight Name", f_name)
print("Source", source)
print("Destination", destination)
print("-----")
cnx.commit()
cnx.close()