Class XI Informatics Practices (065): Practice Sample Paper 2025-26
General instructions
- This question paper contains 37 questions in five sections, A to E. All questions are compulsory.
- Section A has 21 questions of 1 mark each (multiple choice, including 2 Assertion-Reason questions).
- Section B has 7 very short answer questions of 2 marks each.
- Section C has 4 short answer questions of 3 marks each.
- Section D has 2 case-based questions of 4 marks each.
- Section E has 3 long answer questions of 5 marks each.
- There is no overall choice. Internal choices are given in some questions; attempt only one of the alternatives in such questions.
- All programming questions are to be answered in Python only. All SQL commands are to be written for MySQL.
Blueprint (unit-wise marks)
| Unit | Marks |
|---|---|
| Unit 1: Introduction to Computer System | 10 |
| Unit 2: Introduction to Python | 25 |
| Unit 3: Database Concepts and SQL | 30 |
| Unit 4: Introduction to Emerging Trends | 5 |
| Total | 70 |
Section A
Questions 1 to 21 carry 1 mark each. Questions 20 and 21 are Assertion-Reason questions.
- 1 markComputer System
How many bytes are there in 2 KB?
- 2000
- 1024
- 2048
- 4096
Marking scheme(c) 2048
1 KB = 1024 bytes, so 2 KB = 2048 bytes.
- 1 markComputer System
Which of the following memories loses its contents when the power is switched off?
- ROM
- Hard disk
- RAM
- Pen drive
Marking scheme(c) RAM
- 1 markComputer System
Which of the following is system software?
- A school's fee-management package
- A device driver for a printer
- A spreadsheet program
- A photo-editing app
Marking scheme(b) A device driver for a printer
- 1 markComputer System
A file deleted from a hard disk can often be recovered because:
- deletion erases the data immediately
- only the file's entry is removed; the data stays until it is overwritten
- every file is automatically copied to the cloud
- the operating system encrypts deleted files
Marking scheme(b) only the file's entry is removed; the data stays until it is overwritten
- 1 markPython
Which of the following is a valid identifier in Python?
- 2ndTerm
- total-marks
- _score
- for
Marking scheme(c) _score
An identifier cannot start with a digit, cannot contain a hyphen and cannot be a keyword.
- 1 markPython
What will
print(17 // 5, 17 % 5)display?- 3.4 2
- 3 2
- 3 3
- 4 2
Marking scheme(b) 3 2
- 1 markPython
Which of the following data types is immutable?
- list
- dictionary
- string
- All of these
Marking scheme(c) string
- 1 markPython
L = [10, 20, 30, 40]. Which statement places 25 between 20 and 30?- L.append(25)
- L.insert(2, 25)
- L.insert(3, 25)
- L.add(25)
Marking scheme(b) L.insert(2, 25)
- 1 markPython
D = {"pen": 10, "ink": 25}. Which statement removes the key "pen" from D?- D.remove("pen")
- del D["pen"]
- D.pop()
- D.clear("pen")
Marking scheme(b) del D["pen"]
- 1 markPython
Assuming
import numpy as np, which statement creates a NumPy array from the list [4, 8, 12]?- np.list([4, 8, 12])
- np.create([4, 8, 12])
- array.np([4, 8, 12])
- np.array([4, 8, 12])
Marking scheme(d) np.array([4, 8, 12])
- 1 markSQL
The number of tuples (rows) in a relation is called its:
- degree
- cardinality
- domain
- attribute
Marking scheme(b) cardinality
- 1 markSQL
A candidate key that is not chosen as the primary key is called:
- an alternate key
- a foreign key
- a composite key
- a domain
Marking scheme(a) an alternate key
- 1 markSQL
Which SQL command adds a new column to an existing table?
- UPDATE
- INSERT
- ALTER TABLE
- MODIFY TABLE
Marking scheme(c) ALTER TABLE
- 1 markSQL
The DELETE command belongs to which category of SQL commands?
- DDL
- DML
- DQL
- None of these
Marking scheme(b) DML
- 1 markSQL
Which condition displays the rows in which Fees has not been entered?
- Fees = NULL
- Fees == NULL
- Fees IS NULL
- Fees = 0
Marking scheme(c) Fees IS NULL
- 1 markSQL
Which data type is most suitable for storing a 10-digit mobile number such as 9876543210?
- INT
- CHAR(10)
- DATE
- VARCHAR(2)
Marking scheme(b) CHAR(10)
The number is never used in calculations, it always has 10 characters, and 9876543210 is larger than the largest INT value (2147483647).
- 1 markSQL
The set of values that an attribute is allowed to take, such as ages 14 to 19 for the column Age, is called the attribute's:
- tuple
- degree
- domain
- key
Marking scheme(c) domain
- 1 markEmerging Trends
An online email service used directly in a web browser is an example of which cloud service model?
- IaaS
- PaaS
- SaaS
- Grid computing
Marking scheme(c) SaaS
- 1 markEmerging Trends
A smart irrigation system switches on a pump when the soil is dry. The device that measures soil moisture is a:
- sensor
- router
- blockchain
- virtual reality headset
Marking scheme(a) sensor
- 1 markPython
Assertion (A): The statement
print("5" + 5)produces an error.Reason (R): Python does not automatically convert a string into a number when the + operator is used with a string and an integer.
- Both A and R are true, and R is the correct explanation of A.
- Both A and R are true, but R is not the correct explanation of A.
- A is true, but R is false.
- A is false, but R is true.
Marking scheme(a) Both A and R are true, and R is the correct explanation of A.
The statement raises a TypeError because a str cannot be concatenated with an int.
- 1 markSQL
Assertion (A): A table can have more than one candidate key.
Reason (R): A primary key column can contain NULL values.
- Both A and R are true, and R is the correct explanation of A.
- Both A and R are true, but R is not the correct explanation of A.
- A is true, but R is false.
- A is false, but R is true.
Marking scheme(c) A is true, but R is false.
Any column (or set of columns) that can uniquely identify rows is a candidate key, so there can be several. A primary key can never contain NULL.
Section B
Questions 22 to 28 are very short answer questions carrying 2 marks each. Questions 22 and 26 have an internal choice.
- 2 marksComputer System
Differentiate between system software and application software. Give one example of each.
Marking scheme- System software controls and manages the computer hardware and provides a platform for other programs, e.g. an operating system such as Linux or Windows, or a device driver.
- Application software is used by people to do a particular task, e.g. a word processor, a spreadsheet or a school fee-management program.
1 mark for the difference, ½ mark for each correct example.
ORDifferentiate between generic (general-purpose) application software and specific-purpose (customised) application software, with one example of each.
Marking scheme- Generic software is made for a large number of users with common needs, e.g. a word processor or a presentation program.
- Specific-purpose software is designed for the particular needs of one organisation or task, e.g. a hospital's patient-record system or a school's fee-collection program.
1 mark for the difference, ½ mark for each example.
- 2 marksComputer System
Name the two main parts of the Central Processing Unit (CPU). Write one function of each.
Marking scheme- Arithmetic Logic Unit (ALU): performs arithmetic (addition, subtraction, etc.) and logical (comparison) operations.
- Control Unit (CU): controls and coordinates all the units of the computer; it fetches instructions and tells the other parts what to do.
½ mark for each name and ½ mark for each function. (Registers may also be mentioned as part of the CPU.)
- 2 marksComputer System
Rohan deleted all his files and emptied the Recycle Bin before selling his old laptop. Explain why this may not protect his personal data, and suggest one safe way to remove the data.
Marking scheme- When a file is deleted, the operating system only removes its entry and marks the space as free. The data stays on the disk until it is overwritten, so recovery software can bring it back. (1 mark)
- Safe way: use a data-wiping (shredding) tool that overwrites the whole disk several times, or format and overwrite the disk; or remove the disk and keep or physically destroy it. (1 mark for any one)
- 2 marksPython
The following code is meant to print "Pass" when the marks are 33 or more and "Fail" otherwise. Rewrite it after removing all the errors and underline each correction.
Python marks = input("Enter marks: ") if marks >= 33 print("Pass") else print("Fail")Marking schemeCorrected code (corrections:
int()aroundinput(), colon after theifcondition, colon afterelse, indentation of the lastprint). ½ mark for each of the four corrections.Python marks = int(input("Enter marks: ")) if marks >= 33: print("Pass") else: print("Fail")OutputEnter marks: 27 Fail
- 2 marksPython
Write the output of the following code.
Python L = [5, 10, 15, 20] L.append(25) L.remove(10) L.insert(1, 7) print(L) print(L.index(15), len(L))Marking scheme1 mark for each correct line of output.
Python L = [5, 10, 15, 20] L.append(25) L.remove(10) L.insert(1, 7) print(L) print(L.index(15), len(L))Output[5, 7, 15, 20, 25] 2 5
ORWrite the output of the following code.
Python stock = {"pen": 40, "pencil": 25} stock["eraser"] = 30 stock["pen"] = stock["pen"] - 15 for k, v in stock.items(): print(k, v) print(len(stock))Marking scheme½ mark for each correct line of output.
Python stock = {"pen": 40, "pencil": 25} stock["eraser"] = 30 stock["pen"] = stock["pen"] - 15 for k, v in stock.items(): print(k, v) print(len(stock))Outputpen 25 pencil 25 eraser 30 3
- 2 marksPython
Evaluate the following Python expressions and write the result of each, showing the order of evaluation:
15 - 4 * 3 // 2not 5 > 3 or 4 < 2 and True
Marking scheme4 * 3= 12, then12 // 2= 6, then15 - 6= 95 > 3is True sonotgives False;4 < 2 and Trueis False;False or False= False
1 mark for each correct result with working (½ mark for the result alone). Check with:
Python print(15 - 4 * 3 // 2) print(not 5 > 3 or 4 < 2 and True)Output9 False
- 2 marksSQL
Classify the following SQL commands as DDL or DML:
CREATE TABLE,UPDATE,ALTER TABLE,INSERT INTOMarking scheme- DDL:
CREATE TABLE,ALTER TABLE(they define or change the structure) - DML:
UPDATE,INSERT INTO(they change the data)
½ mark for each correct classification.
- DDL:
Section C
Questions 29 to 32 are short answer questions carrying 3 marks each. Questions 29 and 32 have an internal choice.
- 3 marksPython
Write a Python program that accepts the number of electricity units consumed in a month and calculates the bill as follows:
- first 100 units: Rs 5 per unit
- next 100 units (101 to 200): Rs 7 per unit
- above 200 units: Rs 10 per unit
Marking scheme½ mark for input with int(), 2 marks for the correct if-elif-else slabs, ½ mark for output. Sample run with 260 units: 500 + 700 + 600 = 1800.
Python units = int(input("Enter units consumed: ")) if units <= 100: bill = units * 5 elif units <= 200: bill = 100 * 5 + (units - 100) * 7 else: bill = 100 * 5 + 100 * 7 + (units - 200) * 10 print("Bill amount: Rs", bill)OutputEnter units consumed: 260 Bill amount: Rs 1800
ORWrite a Python program that accepts a list of integers from the user, creates a new list containing only the even numbers, and displays the new list, the number of even numbers and their sum.
Marking scheme1 mark for creating the list from input, 1 mark for the loop with the even test, 1 mark for the output (list, count, sum).
Python nums = [] for w in input("Enter numbers: ").split(): nums.append(int(w)) even = [] for x in nums: if x % 2 == 0: even.append(x) print("Even numbers:", even) print("Count:", len(even), "Sum:", sum(even))OutputEnter numbers: 12 7 30 45 18 9 4 Even numbers: [12, 30, 18, 4] Count: 4 Sum: 64
- 3 marksSQL
Consider the table EMPLOYEE(EmpID, Aadhaar, Email, Name, Dept), where each employee has a unique EmpID, a unique Aadhaar number and a unique email address. Identify (i) the candidate keys, (ii) a suitable primary key with a reason, and (iii) the alternate keys.
Marking scheme- Candidate keys: EmpID, Aadhaar and Email (each can uniquely identify a row). (1 mark)
- Primary key: EmpID, because it is short, assigned by the organisation and never changes or stays empty. (½ mark key + ½ mark reason)
- Alternate keys: Aadhaar and Email, the candidate keys not chosen as the primary key. (1 mark)
Name and Dept are not keys because two employees can share them.
- 3 marksSQL
Consider the table BOOK given below. Write SQL queries for the following:
- Display the title and price of books priced between 300 and 600.
- Increase the price of all the books written by Meena Rao by 50.
- Display the BookID and Title of the books whose quantity has not been recorded.
BookID Title Author Price Qty B01 The Silent River Meena Rao 450 12 B02 Coding for Kids Arun Bhat 299 30 B03 Stars Above Ladakh Tsering Dolma 620 NULL B04 Monsoon Tales Meena Rao 375 8 B05 Data Made Simple Kavita Iyer 540 15 Marking scheme1 mark for each correct query. (Outputs are shown for checking; the UPDATE runs before the third query.)
MySQL SELECT Title, Price FROM BOOK WHERE Price BETWEEN 300 AND 600; UPDATE BOOK SET Price = Price + 50 WHERE Author = 'Meena Rao'; SELECT BookID, Title FROM BOOK WHERE Qty IS NULL;Output+------------------+-------+ | Title | Price | +------------------+-------+ | The Silent River | 450 | | Monsoon Tales | 375 | | Data Made Simple | 540 | +------------------+-------+ 3 rows in set Query OK, 2 rows affected Rows matched: 2 Changed: 2 Warnings: 0 +--------+--------------------+ | BookID | Title | +--------+--------------------+ | B03 | Stars Above Ladakh | +--------+--------------------+ 1 row in set
- 3 marksEmerging Trends
What is Big Data? Explain any two of its characteristics with an example.
Marking schemeBig Data is a collection of data so large and complex, and produced so fast, that traditional database tools cannot store and process it easily. (1 mark)
Any two characteristics (1 mark each):
- Volume: the huge amount of data, e.g. crores of UPI transactions every day.
- Velocity: the speed at which data is produced and must be processed, e.g. live data from traffic cameras.
- Variety: different forms of data such as text, images, video and sensor readings.
- Veracity: the data may be inaccurate or uncertain, so its quality must be checked.
- Value: the useful information that can be drawn from the data.
ORDifferentiate between Augmented Reality (AR) and Virtual Reality (VR) with one example of each. Also write one use of robotics.
Marking scheme- AR adds computer-generated images or information on top of the real world seen through a camera or glasses, e.g. a mobile app that shows how a sofa will look in your room. (1 mark)
- VR places the user in a completely computer-generated environment, usually through a headset, e.g. a virtual tour of a historical monument. (1 mark)
- One use of robotics: robots used in car factories for welding, robots in hospitals for precise surgery, or drones for spraying crops. (1 mark)
Section D
Questions 33 and 34 are case-based questions carrying 4 marks each.
- 4 marksPython
A school canteen stores the prices of its items in a dictionary:
menu = {"Samosa": 15, "Idli": 25, "Sandwich": 30, "Juice": 20}Write Python statements for the following:
- Add a new item "Poha" with price 18.
- Change the price of Juice to 22.
- Print the names of the items that cost more than 20.
- Print the total of all prices and the highest price.
Marking scheme1 mark for each part. The parts are shown together and run in order:
Python menu = {"Samosa": 15, "Idli": 25, "Sandwich": 30, "Juice": 20} menu["Poha"] = 18 # 1 menu["Juice"] = 22 # 2 for item in menu: # 3 if menu[item] > 20: print(item) print(sum(menu.values()), max(menu.values())) # 4OutputIdli Sandwich Juice 110 30
- 4 marksSQL
A clinic keeps the records of its patients in the table PATIENT shown below. PID is the primary key.
Answer the following:
- Write the SQL command to create the table PATIENT with suitable data types.
- Display the names of the patients in Cardiology or ENT who are older than 50.
- Display the name and fee of the patients admitted in January 2025.
- What are the degree and cardinality of the table? What will they be after two more patients are added?
PID PName Gender Age Dept Fee AdmitDate 1 Ramesh Gupta M 62 Cardiology 800 2025-01-14 2 Sunita Das F 45 ENT 500 2025-01-20 3 Joseph Mathew M 71 ENT 500 2025-02-03 4 Pooja Saini F 29 Orthopaedics 650 2025-01-28 5 Abdul Karim M 55 Cardiology 800 2025-02-11 6 Lalita Negi F 58 Orthopaedics 650 2025-01-09 Marking scheme1 mark for each part.
- Degree = 7 (columns), cardinality = 6 (rows). After adding two rows the degree stays 7 and the cardinality becomes 8.
Parts 1 to 3 (the CREATE is shown on a fresh database; the queries run on the data above):
MySQL CREATE TABLE PATIENT ( PID INT PRIMARY KEY, PName VARCHAR(25), Gender CHAR(1), Age INT, Dept VARCHAR(15), Fee INT, AdmitDate DATE ); SELECT PName FROM PATIENT WHERE (Dept = 'Cardiology' OR Dept = 'ENT') AND Age > 50; SELECT PName, Fee FROM PATIENT WHERE AdmitDate BETWEEN '2025-01-01' AND '2025-01-31';OutputQuery OK, 0 rows affected +---------------+ | PName | +---------------+ | Ramesh Gupta | | Joseph Mathew | | Abdul Karim | +---------------+ 3 rows in set +--------------+------+ | PName | Fee | +--------------+------+ | Ramesh Gupta | 800 | | Sunita Das | 500 | | Pooja Saini | 650 | | Lalita Negi | 650 | +--------------+------+ 4 rows in set
Section E
Questions 35 to 37 are long answer questions carrying 5 marks each. Question 35 has an internal choice.
- 5 marksPython
Write a Python program that:
- accepts n integers from the user and stores them in a list,
- displays the sum and the average of the numbers,
- counts and displays how many numbers are positive, negative and zero, and
- displays the list in descending order.
Marking schemeMarking: creating the list with a loop and input (1½), sum and average (1), counting with if-elif-else (1½), sorting in descending order and display (1).
Python nums = [] n = int(input("How many numbers? ")) for i in range(n): nums.append(int(input("Enter number: "))) total = sum(nums) print("Sum =", total, " Average =", total / n) pos = neg = zero = 0 for x in nums: if x > 0: pos += 1 elif x < 0: neg += 1 else: zero += 1 print("Positive:", pos, "Negative:", neg, "Zero:", zero) nums.sort(reverse=True) print("Descending order:", nums)OutputHow many numbers? 6 Enter number: 14 Enter number: -3 Enter number: 0 Enter number: 27 Enter number: -8 Enter number: 9 Sum = 39 Average = 6.5 Positive: 3 Negative: 2 Zero: 1 Descending order: [27, 14, 9, 0, -3, -8]
ORWrite a Python program that accepts a sentence from the user and displays:
- the number of words,
- the longest word,
- all the words having more than 4 letters, and
- the number of uppercase letters in the sentence.
Marking schemeMarking: input and split() (1), number of words (½), longest word with a loop (1½), words with more than 4 letters (1), uppercase count (1).
Python s = input("Enter a sentence: ") words = s.split() print("Number of words:", len(words)) longest = words[0] for w in words: if len(w) > len(longest): longest = w print("Longest word:", longest) print("Words with more than 4 letters:") for w in words: if len(w) > 4: print(w) up = 0 for ch in s: if ch.isupper(): up += 1 print("Uppercase letters:", up)OutputEnter a sentence: Our School Team won the Zonal Quiz Trophy in Pune Number of words: 10 Longest word: School Words with more than 4 letters: School Zonal Trophy Uppercase letters: 7
- 5 marksSQL
(a) What is a Database Management System (DBMS)? Write two advantages of using a DBMS over storing data in separate files.
(b) Write SQL commands to:
- create a table EMPLOYEE with the columns EmpID (integer, primary key), Name (up to 20 characters, cannot be empty), Dept (up to 15 characters), Salary (decimal number with 2 places) and DOJ (date of joining);
- add a column Email that can store up to 40 characters;
- increase the size of the Name column to 30 characters.
Marking scheme(a) A DBMS is software used to create, store, manage and retrieve data in databases, e.g. MySQL. (1 mark)
Any two advantages (½ mark each): less data redundancy (no repeated copies), data consistency, easy sharing among many users, data security through user permissions, easy searching with queries.
(b) 1 mark for each correct command. The output of DESC confirms the final structure:
MySQL CREATE TABLE EMPLOYEE ( EmpID INT PRIMARY KEY, Name VARCHAR(20) NOT NULL, Dept VARCHAR(15), Salary DECIMAL(9,2), DOJ DATE ); ALTER TABLE EMPLOYEE ADD Email VARCHAR(40); ALTER TABLE EMPLOYEE MODIFY Name VARCHAR(30) NOT NULL; DESC EMPLOYEE;OutputQuery OK, 0 rows affected Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 +--------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+--------------+------+-----+---------+-------+ | EmpID | int | NO | PRI | NULL | | | Name | varchar(30) | NO | | NULL | | | Dept | varchar(15) | YES | | NULL | | | Salary | decimal(9,2) | YES | | NULL | | | DOJ | date | YES | | NULL | | | Email | varchar(40) | YES | | NULL | | +--------+--------------+------+-----+---------+-------+ 6 rows in set
- 5 marksSQL
Consider the table TRAVEL given below. Write SQL commands for the following:
- Display the passenger name, source and destination of journeys with fare from 500 to 800 (both included).
- Display the passenger name and fare of the AC journeys that start from Delhi.
- Display the TID and passenger name of the non-AC journeys whose fare has been recorded.
- Set the fare of journey 104 to 600.
- Delete the journeys made before 1 May 2025.
TID Passenger Source Destination Fare TDate Class 101 Nisha Verma Delhi Jaipur 760 2025-04-12 AC 102 Karthik R Chennai Madurai 540 2025-04-15 Sleeper 103 Mohit Jain Delhi Agra 410 2025-05-02 AC 104 Sara Thomas Kochi Chennai NULL 2025-05-09 Sleeper 105 Harish Patel Ahmedabad Mumbai 980 2025-05-21 AC 106 Anjali Bose Kolkata Patna 650 2025-06-01 Sleeper Marking scheme1 mark for each correct command. The commands were run in the order given; outputs are shown for checking.
MySQL SELECT Passenger, Source, Destination FROM TRAVEL WHERE Fare BETWEEN 500 AND 800; SELECT Passenger, Fare FROM TRAVEL WHERE Source = 'Delhi' AND Class = 'AC'; SELECT TID, Passenger FROM TRAVEL WHERE Fare IS NOT NULL AND Class <> 'AC'; UPDATE TRAVEL SET Fare = 600 WHERE TID = 104; DELETE FROM TRAVEL WHERE TDate < '2025-05-01';Output+-------------+---------+-------------+ | Passenger | Source | Destination | +-------------+---------+-------------+ | Nisha Verma | Delhi | Jaipur | | Karthik R | Chennai | Madurai | | Anjali Bose | Kolkata | Patna | +-------------+---------+-------------+ 3 rows in set +-------------+------+ | Passenger | Fare | +-------------+------+ | Nisha Verma | 760 | | Mohit Jain | 410 | +-------------+------+ 2 rows in set +-----+-------------+ | TID | Passenger | +-----+-------------+ | 102 | Karthik R | | 106 | Anjali Bose | +-----+-------------+ 2 rows in set Query OK, 1 row affected Rows matched: 1 Changed: 1 Warnings: 0 Query OK, 2 rows affected