Class 12 Computer Science Sample Paper with Explained Solution

Session: 2023-24

Computer Science (083)

Sample Question Paper (Theory)

Time allowed: 3 Hours Maximum Marks: 70

 General Instructions:

  • Please check this question paper contains 35 questions.
  • The paper is divided into 4 Sections- A, B, C, D and E.
  • Section A, consists of 18 questions (1 to 18). Each question carries 1 Mark.
  • Section B, consists of 7 questions (19 to 25). Each question carries 2 Marks.
  • Section C, consists of 5 questions (26 to 30). Each question carries 3 Marks.
  • Section D, consists of 2 questions (31 to 32). Each question carries 4 Marks.
  • Section E, consists of 3 questions (33 to 35). Each question carries 5 Marks.
  • All programming questions are to be answered using Python Language only.

 

SECTION A

1.  State True or False:

“In a Python program, if a break statement is given in a nested loop, it terminates the execution of all loops in one go.”

Answer: False

Explanation:

A break statement in a nested loop in Python only terminates the innermost loop in which it is placed. It does not terminate the execution of all loops in one go. The outer loops will continue running as usual.

                                                                                                                                                                                                                      

2. In a table in MYSQL database, an attribute A of datatype varchar(20) has the value “Keshav”. The attribute B of datatype char(20) has value “Meenakshi”. How many characters are occupied by attribute A and attribute B?

a) 20,6

b) 6,20

c) 9,6

d) 6,9

Correct Answer: b) 6,20

Explanation:

In MySQL, when you specify the datatype `varchar(20)` for attribute A, it means that it can store up to 20 characters. However, if you store the value “Keshav” in attribute A, it will occupy only 6 characters because “Keshav” has 6 characters.

Similarly, when you specify the datatype `char(20)` for attribute B, it means that it will always occupy 20 characters, regardless of the actual length of the value. So, even though “Meenakshi” has 9 characters, it will still occupy 20 characters in attribute B due to the `char` datatype.

 

3. What will be the output of the following statement:

print(3-2**2**3+99/11)

a) 244

b) 244.0

c) -244.0

d) Error

 

Correct Answer: c) -244.0

 

Explanation:

The output of the given statement can be calculated as follows:

First, calculate the exponentiation: 2**3 = 8.

Next, calculate 2**8 = 256.

Then, calculate 99/11 = 9.

Now, substitute these values back into the expression: 3 – 256 + 9

Now, perform the subtraction:  -253 + 9

Finally, perform the addition: -244

 

4. Select the correct output of the code:

s="Python is fun"
l=s.split()
s_new="-".join([l[0].upper(),l[1],l[2].capitalize()])
print(s_new)

 

Options:

a) PYTHON-IS-Fun

b) PYTHON-is-Fun

c) Python-is-fun

d) PYTHON-Is -Fun

Correct Answer: b) PYTHON-is-Fun

 

Explanation:

s is assigned the string “Python is fun.”

l is created by splitting the string s into a list of words. The split() method splits the string at spaces, so l becomes [‘Python’, ‘is’, ‘fun’].

s_new is created by joining the modified elements of the list l with hyphens. The modifications are as follows:

l[0].upper(): The first word “Python” is converted to uppercase, resulting in “PYTHON.”
l[1]: The second word “is” remains unchanged.
l[2].capitalize(): The third word “fun” is capitalized, resulting in “Fun.”
The modified elements “PYTHON,” “is,” and “Fun” are joined with hyphens, resulting in the final string “PYTHON-is-Fun.”

 

5. In MYSQL database, if a table, Alpha has degree 5 and cardinality 3, and another table, Beta has degree 3 and cardinality 5, what will be the degree and cardinality of the Cartesian product of Alpha and Beta?

a) 5,3

b) 8,15

c) 3,5

d) 15,8

 

Correct Answer: b) 8, 15

Explanation:

The degree of the Cartesian product of two tables is the sum of the degrees of the individual tables. In this case, Alpha has a degree of 5, and Beta has a degree of 3. So, the degree of the Cartesian product of Alpha and Beta will be 5 + 3 = 8.

The cardinality of the Cartesian product of two tables is the product of their individual cardinalities. Alpha has a cardinality of 3, and Beta has a cardinality of 5. So, the cardinality of the Cartesian product of Alpha and Beta will be 3 * 5 = 15.

So, the degree of the Cartesian product is 8, and the cardinality is 15.

 

6. Riya wants to transfer pictures from her mobile phone to her laptop. She uses Bluetooth Technology to connect two devices. Which type of network will be formed in this case?

a) PAN

b) LAN

c) MAN

d) WAN

Correct Answer: a) PAN

Explanation:

In this case, when Riya uses Bluetooth technology to connect her mobile phone and laptop, a PAN (Personal Area Network) will be formed.

A PAN is a small, localized network that typically covers a short range, such as a few meters or feet. Bluetooth is commonly used for creating PANs because it’s designed for short-range wireless communication between devices like mobile phones, laptops, and peripherals.

 

7. Which of the following will delete key-value pair for key = “Red” from a dictionary D1?

a) delete D1(“Red”)

b) del D1[“Red”]

c) del.D1[“Red”]

d) D1.del[“Red”]

 

Correct Answer: b) del D1[“Red”]

Explanation:

del is the Python keyword used for deletion.
D1 is the name of the dictionary.
[“Red”] is the key enclosed in square brackets, specifying the key-value pair to be deleted.

 

 

8. Consider the statements given below and then choose the correct output from the given options:

pride="#G20 Presidency"

print(pride[-2:2:-2])

 

 

Options:

a) ndsr

b) ceieP0

c) ceieP

d) yndsr

 

Correct Answer: b) ceieP0

 

9. Which of the following statement(s) would give an error during execution of the following code?

 

tup = (20,30,40,50,80,79)

print(tup) #Statement 1

print(tup[3]+50) #Statement 2

print(max(tup)) #Statement 3

tup[4]=80 #Statement 4

 

Options:

a) Statement 1

b) Statement 2

c) Statement 3

d) Statement 4

 

Correct Answer: d) Statement 4

Explanation:

 

 

10. What possible outputs(s) will be obtained when the following code is executed?

import random
myNumber=random.randint(0,3)
COLOR=["YELLOW","WHITE", "BLACK", "RED"]
for I in range (1, myNumber):
    print (COLOR[I], end="*")
    print ()

 

Options:

a.

RED*

WHITE*

BLACK*

 

b.

WHITE*

BLACK*

c.

WHITE* WHITE*

BLACK* BLACK*

 

d.

YELLOW*

WHITE*WHITE*

BLACK* BLACK* BLACK*

 

Correct Answer:

b.

WHITE*

BLACK*

 

Explanation:

 

11. Fill in the blank:

The modem at the sender’s computer end acts as a ____________.

a) Model

b) Modulator

c) Demodulator

d) Convertor

 

Correct Answer:

b) Modulator

 

Explanation:

Because a modem is a device that stands for “Modulator-Demodulator.” It serves two primary functions:

Modulation: The sender’s modem (at the sender’s computer end) is responsible for modulating digital data into analog signals for transmission over analog communication channels, such as telephone lines or cable systems. This process involves changing the characteristics of the signal to encode the digital information.

Demodulation: At the receiving end, another modem (Demodulator) is responsible for converting the received analog signals back into digital data, effectively reversing the modulation process.

So, the modem at the sender’s computer end acts as a modulator, making option (b) “Modulator” the correct answer.

 

 

12. Consider the code given below: 

b=100
def test(a):
    ______#missing statement
    b=b+a
    print(a,b)
test (10)
print(b)

 

Which of the following statements should be given in the blank for #Missing Statement, if the output produced is 110?

 

Options:

a) global a

b) global b=100

c) global b

d) global a=100

 

Correct Answer: c) global b

Explanation:

In this code, we are trying to modify the global variable b within the function test. To do this, we need to explicitly declare b as a global variable inside the function using the global keyword.

With this modification, the global keyword allows us to access and modify the global variable b within the test function.

 

13. State whether the following statement is True or False:

An exception may be raised even if the program is syntactically correct.

 

Correct Answer: True.

Explanation: 

An exception may be raised even if a program is syntactically correct.

In programming, exceptions are raised at runtime when there are errors or unexpected conditions that the program encounters, such as attempting to divide by zero, accessing an index that is out of bounds, or trying to open a file that doesn’t exist. These are often referred to as runtime errors, and they can occur even in programs that have correct syntax.

Syntax errors, on the other hand, are errors that occur when the code violates the rules of the programming language’s syntax, such as missing parentheses, incorrect indentation, or using undefined variables. These errors are detected by the compiler or interpreter during the parsing phase and prevent the program from running until they are fixed.

 

14. Which of the following statements is FALSE about keys in a relational database?

a) Any candidate key is eligible to become a primary key.

b) A primary key uniquely identifies the tuples in a relation.

c) A candidate key that is not a primary key is a foreign key.

d) A foreign key is an attribute whose value is derived from the primary key of another relation.

 

Correct Answer: 

The FALSE statement about keys in a relational database is:

c) A candidate key that is not a primary key is a foreign key.

Explanation:

This statement is not true. A candidate key that is not a primary key remains a candidate key and is not automatically considered a foreign key. In a relational database, a foreign key is an attribute that establishes a link between two relations (tables) by referencing the primary key of another relation. It is used to maintain referential integrity between the tables and enforce relationships, but it is not the same as a candidate key.

 

15. Fill in the blank:

In case of _____________ switching, before a communication starts, a dedicated path is identified between the sender and the receiver.

 

Answer:Circuit switching

 

Explanation:

Circuit switching establishes a dedicated path for continuous communication, ensuring guaranteed bandwidth and low latency, making it suitable for real-time applications like voice calls.

 

16. Which of the following functions changes the position of file pointer and returns its new position?

a) flush()

b) tell()

c) seek()

d) offset()

 

Answer:

c) seek()

Explanation:

The seek() function is used to change the position of the file pointer within a file and returns the new position. It allows you to navigate to a specific location in the file for reading or writing operations.

 

 

Q 17 and 18 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

 

17 Assertion(A): List is an immutable data type

Reasoning(R): When an attempt is made to update the value of an immutable variable, the old variable is destroyed and a new variable is created by the same name in memory.

 

Correct Answer:

d) A is false but R is True

 

Explanation:

Assertion (A): “List is an immutable data type” is False. Lists in Python are mutable, which means you can modify their elements after creation.

Reasoning (R): “When an attempt is made to update the value of an immutable variable, the old variable is destroyed and a new variable is created by the same name in memory” is true for immutable types like tuples, but it is not directly related to lists. Lists are mutable, so this reasoning doesn’t apply to them.

 

18 Assertion(A): Python Standard Library consists of various modules.

Reasoning(R): A function in a module is used to simplify the code and avoids repetition.

 

Correct Answer:

b)Both A and R are true and R is not the correct explanation for A

 

Explanation:

– Assertion (A): “Python Standard Library consists of various modules” is true. Python’s Standard Library indeed comprises various modules that provide a wide range of pre-written functionality for different tasks.

 

– Reasoning (R): “A function in a module is used to simplify the code and avoids repetition” is also true. Functions within Python modules are designed to simplify code by encapsulating specific functionality, promoting code reusability, and avoiding redundancy. However, this reasoning does not directly explain why Python’s Standard Library consists of various modules. While modules often contain functions to avoid code repetition, the existence of multiple modules in the standard library is a broader organizational choice by the Python developers to group related functionality and provide a comprehensive set of tools for programmers.

 

In other words, while both A and R are true, the reasoning (R) does not directly explain the assertion (A) about the composition of the Python Standard Library, which is why option b) is correct.

SECTION B

19 (i) Expand the following terms:

POP3 , URL

(ii) Give one difference between XML and HTML.

 OR

(i) Define the term bandwidth with respect to networks.

(ii) How is http different from https?

 

20. The code given below accepts a number as an argument and returns the reverse number. Observe the following code carefully and rewrite it after removing all syntax and logical errors. Underline all the corrections made.

define revNumber(num):
    rev=0
    rem=0
    While num>0:
        rem==num%10
        rev=rev*10+rem
        num=num//10
        return rev
print (revNumber(1234))

 

 

21. Write a function countNow(PLACES) in Python, that takes the dictionary, PLACES as an argument and displays the names (in uppercase)of the places whose names are longer than 5 characters.

For example, Consider the following dictionary

PLACES={1:”Delhi”,2:”London”,3:”Paris”,4:”New York”,5:”Doha”}

The output should be:

LONDON

NEW YORK

 OR

Write a function, lenWords(STRING), that takes a string as an argument and returns a tuple containing length of each word of a string.

For example, if the string is “Come let us have some fun”, the tuple will have (4, 3, 2, 4, 4, 3)

 

22. Predict the output of the following code:

S= "LOST"
L =[10,21,33,4]
D={}
for I in range (len (S)):
    if I%2==0:
        D[L.pop()]=S[I]
    else:
        D[L.pop()]=I+3 
for K,V in D.items ():
    print (K, V, sep="*")

 

 

23.  Write the Python statement for each of the following tasks using BUILT-IN functions/methods only:

(i) To insert an element 200 at the third position, in the list L1.

(ii) To check whether a string named, message ends with a full stop / period or not.

 

OR

A list named studentAge stores age of students of a class. Write the Python command to import the required module and (using built-in function) to display the most common age value from the given list.

 

24. Ms. Shalini has just created a table named “Employee” containing columns Ename, Department and Salary.

After creating the table, she realized that she has forgotten to add a primary key column in the table. Help her in writing an SQL command to add a primary key column EmpId of integer type to the table Employee.

Thereafter, write the command to insert the following record in the table:

EmpId- 999

Ename- Shweta

Department: Production

Salary: 26900

 

OR

Zack is working in a database named SPORT, in which he has created a table named “Sports” containing columns SportId, SportName, no_of_players, and category.

 

After creating the table, he realized that the attribute, category has to be deleted from the table and a new attribute TypeSport of data type string has to be added. This attribute TypeSport cannot be left blank. Help Zack write the commands to complete both the tasks.

 

25. Predict the output of the following code: 

def Changer (P,Q=10):
    P-P/Q
    Q=P&Q
    return P

A=200
B=20
A=Changer (A, B)
print (A, B, sep='$')
B=Changer (B)
print (A, B, sep '$', end='###')

 

 

SECTION C

26. Predict the output of the Python code given below:

 

Text1="IND-23"
Text2=""
I=0
while I<len (Text1):
    if Text1[I]>="0" and Text1 [I]<="9":
        Val=int (Text1[I])
        Val=Val + 1
        Text2=Text2 + str(Val)
    elif Text1[I]>="A" and Text1[I]<="Z":
        Text2=Text2 + (Text1 [I+1])
    else:
        Text2=Text2 + "*"
    I+=1
print (Text2)

 

27. Consider the table CLUB given below and write the output of the SQL queries that follow.

CID CNAME AGE GENDER SPORTS PAY DOAPP
5246 AMRITA 35 FEMALE CHESS 900 2006-03-27
4687 SHYAM 37 MALE CRICKET 1300 2004-04-15
1245 MEENA 23 FEMALE VOLLEYBALL 1000 2007-06-18
1622 AMRIT 28 MALE KARATE 1000 2007-09-05
1256 AMINA 36 FEMALE CHESS 1100 2003-08-15
1720 MANJU 33 FEMALE KARATE 1250 2004-04-10
2321 VIRAT 35 MALE CRICKET 1050 2005-04-30

 

(i) SELECT COUNT(DISTINCT SPORTS) FROM CLUB;

(ii) SELECT CNAME, SPORTS FROM CLUB WHERE DOAPP<“2006-04-30” AND CNAME LIKE “%NA”;

(iii) SELECT CNAME, AGE, PAY FROM CLUB WHERE GENDER = “MALE” AND PAY BETWEEN 1000 AND 1200;

 

28. Write a function in Python to read a text file, Alpha.txt and displays those lines which begin with the word ‘You’.

OR

Write a function, vowelCount() in Python that counts and displays the number of vowels in the text file named Poem.txt.

 

29. Consider the table Personal given below:

Table: Personal

P_ID Name Desig Salary Allowance
P01 Rohit Manager 89000 4800
P02 Kashish Clerk NULL 1600
P03 Mahesh Superviser 48000 NULL
P04 Salil Clerk 31000 1900
P05 Ravina Superviser NULL 2100

Based on the given table, write SQL queries for the following:

(i) Increase the salary by 5% of personals whose allowance is known.

(ii) Display Name and Total Salary (sum of Salary and Allowance) of all personals. The column heading ‘Total Salary’ should also be displayed.

(iii) Delete the record of personals who have salary greater than 25000

 

30. A list, NList contains following record as list elements:

[City, Country, distance from Delhi]

Each of these records are nested together to form a nested list. Write the following user defined functions in Python to perform the specified operations on the stack named travel.

(i) Push_element(NList): It takes the nested list as an argument and pushes a list object containing name of the city and country, which are not in India and distance is less than 3500 km from Delhi.

(ii) Pop_element(): It pops the objects from the stack and displays them. Also, the function should display “Stack Empty” when there are no elements in the stack.

For example: If the nested list contains the following data:

NList=[[“New York”, “U.S.A.”, 11734],

[“Naypyidaw”, “Myanmar”, 3219],

[“Dubai”, “UAE”, 2194],

[“London”, “England”, 6693],

[“Gangtok”, “India”, 1580],

[“Columbo”, “Sri Lanka”, 3405]]

The stack should contain:

[‘Naypyidaw’, ‘Myanmar’],

[‘Dubai’, ‘UAE’],

[‘Columbo’, ‘Sri Lanka’]

The output should be:

[‘Columbo’, ‘Sri Lanka’]

[‘Dubai’, ‘UAE’]

[‘Naypyidaw’, ‘Myanmar’]

Stack Empty

 

SECTION D

31. Consider the tables PRODUCT and BRAND given below:

Table: PRODUCT

PCode PName UPrice Rating BID
P01 Shampoo 120 6 M03
P02 Toothpaste 54 8 M02
P03 Soap 25 7 M03
P04 Toothpaste 65 4 M04
P05 Soap 38 5 M05
P06 Shampoo 245 6 M05

 

 

Table: BRAND

BID BName
M02 Dant Kanti
M03 Medimix
M04 Pepsodent
M05 Dove

 

Write SQL queries for the following:

(i) Display product name and brand name from the tables PRODUCT and BRAND.

(ii) Display the structure of the table PRODUCT.

(iii) Display the average rating of Medimix and Dove brands

(iv) Display the name, price, and rating of products in descending order of rating.

 

32. Vedansh is a Python programmer working in a school. For the Annual Sports Event, he has created a csv file named Result.csv, to store the results of students in different sports events. The structure of Result.csv is :

[St_Id, St_Name, Game_Name, Result]

Where

St_Id is Student ID (integer)

ST_name is Student Name (string)

Game_Name is name of game in which student is participating(string) Result is result of the game whose value can be either ‘Won’, ‘Lost’or ‘Tie’

For efficiently maintaining data of the event, Vedansh wants to write the following user defined functions:

Accept() – to accept a record from the user and add it to the file Result.csv. The column headings should also be added on top of the csv file.

wonCount() – to count the number of students who have won any event. As a Python expert, help him complete the task.

 

SECTION E

33. Meticulous EduServe is an educational organization. It is planning to setup its India campus at Chennai with its head office at Delhi. The Chennai campus has 4 main buildings – ADMIN, ENGINEERING, BUSINESS and MEDIA.

CS 2024

 

Block to Block distances (in Mtrs.)

From To Distance
ADMIN ENGINEERING 55 m
ADMIN BUSINESS 90 m
ADMIN MEDIA 50 m
ENGINEERING BUSINESS 55 m
ENGINEERING MEDIA 50 m
BUSINESS MEDIA 45 m
DELHI HEAD OFFICE CHENNAI CAMPUS 2175 km

 

Number of computers in each of the blocks/Center is as follows:

ADMIN 110
ENGINEERING 75
BUSINESS 40
MEDIA 12
DELHI HEAD OFFICE 20

 

a) Suggest and draw the cable layout to efficiently connect various blocks of buildings within the CHENNAI campus for connecting the digital devices.

b) Which network device will be used to connect computers in each block to form a local area network?

c) Which block, in Chennai Campus should be made the server? Justify your answer.

d) Which fast and very effective wireless transmission medium should preferably be used to connect the head office at DELHI with the campus in CHENNAI?

e) Is there a requirement of a repeater in the given cable layout? Why/ Why not?

 

34 (i) Differentiate between r+ and w+ file modes in Python.

(ii) Consider a file, SPORT.DAT, containing records of the following structure:

[SportName, TeamName, No_Players]

Write a function, copyData(), that reads contents from the file SPORT.DAT and copies the records with Sport name as “Basket Ball” to the file named BASKET.DAT. The function should return the total number of records copied to the file BASKET.DAT.

 

OR

(i) How are text files different from binary files?

(ii) A Binary file, CINEMA.DAT has the following structure:

{MNO:[MNAME, MTYPE]}

Where

MNO – Movie Number

MNAME – Movie Name

MTYPE is Movie Type

Write a user defined function, findType(mtype), that accepts mtype as parameter and displays all the records from the binary file CINEMA.DAT, that have the value of Movie Type as mtype.

 

35 (i) Define the term Domain with respect to RDBMS. Give one example to support your answer.

 

(ii) Kabir wants to write a program in Python to insert the following record in the table named Student in MYSQL database, SCHOOL:

  • rno(Roll number )- integer
  • name(Name) – string
  • DOB (Date of birth) – Date
  • Fee – float

Note the following to establish connectivity between Python and

MySQL:

  • Username – root
  • Password – tiger
  • Host – localhost

The values of fields rno, name, DOB and fee has to be accepted from the user. Help Kabir to write the program in Python.

 

 OR

(i) Give one difference between alternate key and candidate key.

(ii) Sartaj has created a table named Student in MYSQL database,

SCHOOL:

  • rno(Roll number )- integer
  • name(Name) – string
  • DOB (Date of birth) – Date
  • Fee – float

Note the following to establish connectivity between Python and

MySQL:

  • Username – root
  • Password – tiger
  • Host – localhost

Sartaj, now wants to display the records of students whose fee is more than 5000. Help Sartaj to write the program in Python.

Copywrite © 2020-2024, CBSE Python,
All Rights Reserved