CBSE Class 12 Informatics Practices Question Paper 2025 Solved Code 90

Class 12 Informatics Practices Solved Question Papers: CBSE Class 12 Informatics Practices Question Paper 2025 Solved Code 90

Access comprehensive previous year question papers for Class 12 Informatics Practices using the CBSE Class 12 Informatics Practices Question Paper 2025 Solved Code 90. Designed to align with the 2026-27 CBSE academic guidelines, these solved papers help students assess their exam readiness and understand official marking schemes.

Download Class 12 Informatics Practices Question Paper PDF

Access the complete question paper PDF for Class 12 Informatics Practices below. Regular practice with these targeted exam papers builds familiarity with standard question patterns and helps secure higher marks in final evaluations.

SECTION A

 

1. State whether the following statement is True or False : In Python, we cannot create an empty DataFrame. [1 Mark]

Answer: False.

Teacher's Note:
a) Python allows creating an empty DataFrame using pd.DataFrame() with no arguments.
b) Remember that DataFrames can also be created empty and then filled with data later.

 

2. What will be the output of the following SQL command ? [1 Mark]
SELECT MONTHNAME('2024-08-02');

(A) 08
(B) 02
(C) February
(D) August

Answer: (D) August

Teacher's Note:
a) MONTHNAME() returns the full name of the month for a given date.
b) Do not confuse it with MONTH(), which returns the numeric month value.

 

3. Temporary data files stored by websites in our computer can be used to track our online activities and also to personalize browsing experience. These files are known as : [1 Mark]
(A) Plug-ins
(B) Add-ons
(C) Cookies
(D) Bookmarks

Answer: (C) Cookies

Teacher's Note:
a) Cookies store small pieces of data on the user's browser to track activity.
b) Plug-ins and add-ons are browser extensions, not tracking files.

 

4. Which of the following is not an aggregate function in SQL ? [1 Mark]
(A) COUNT(*)
(B) MIN()
(C) LEFT()
(D) AVG()

Answer: (C) LEFT()

Teacher's Note:
a) LEFT() is a text function that extracts characters from the left of a string.
b) COUNT(), MIN() and AVG() all work on groups of values, so they are aggregate functions.

 

5. Raheem created a unique computer software and wants to protect his creation from being copied or used without his permission. He is considering to apply for legal protection. Which type of intellectual property protection should Raheem apply for, to safeguard his software ? [1 Mark]
(A) Copyright
(B) Plagiarism
(C) Trademark
(D) Lease

Answer: (A) Copyright

Teacher's Note:
a) Copyright protects original creative works such as software from unauthorized copying.
b) Trademark protects brand names and logos, not software code.

 

6. What is the default index type for a Pandas Series if not explicitly specified ? [1 Mark]
(A) String
(B) List
(C) Numeric
(D) Boolean

Answer: (C) Numeric

Teacher's Note:
a) By default, Pandas assigns index values starting from 0, 1, 2 and so on.
b) Custom index labels can be given using the index parameter.

 

7. In Python which function of matplotlib library is used to save a plot ? [1 Mark]
(A) save()
(B) saveplot()
(C) export()
(D) savefig()

Answer: (D) savefig()

Teacher's Note:
a) plt.savefig() saves the current figure to a file in formats like png or jpg.
b) plt.show() only displays the plot, it does not save it.

 

8. State whether the following statement is True or False : The MOD() function in SQL returns the quotient of division operation between two numbers. [1 Mark]

Answer: False.

Teacher's Note:
a) MOD() returns the remainder of division, not the quotient.
b) Integer division operators are used to get the quotient.

 

9. Which of the following data structure is used for storing one-dimensional labelled data in Python Pandas ? [1 Mark]
(A) Integer
(B) Dictionary
(C) Series
(D) DataFrame

Answer: (C) Series

Teacher's Note:
a) A Series is a one-dimensional labelled array in Pandas.
b) DataFrame is used for two-dimensional labelled data with rows and columns.

 

10. Priya received an email that appeared to be from her bank, asking her to update her account information by clicking on a link. She clicked the link to enter her details, but immediately after, some amount was debited from her account. What type of cybercrime did Priya fall victim to ? [1 Mark]
(A) Cyber stalking
(B) Phishing
(C) Fishing
(D) Cyber bullying

Answer: (B) Phishing

Teacher's Note:
a) Phishing involves fake emails or links that trick users into sharing personal or financial information.
b) Never click unknown links; verify the sender before entering bank details.

 

11. Which SQL function calculates \( a^{b} \) ? [1 Mark]
(A) MOD()
(B) POWER()
(C) RAISE()
(D) ROUND()

Answer: (B) POWER()

Teacher's Note:
a) POWER(a, b) returns a raised to the power b.
b) RAISE() is not a valid SQL function.

 

12. Which protocol is used while communicating through video calls on the Internet ? [1 Mark]
(A) Video Over Internet Protocol
(B) Voice Over Internet Protocol
(C) Internet Protocol
(D) Video Audio Over Internet Protocol

Answer: (B) Voice Over Internet Protocol

Teacher's Note:
a) VoIP (Voice Over Internet Protocol) is used for transmitting voice and video calls over the internet.
b) There is no standard protocol named "Video Over Internet Protocol".

 

13. Which of the following Python statements will be used to select a specific element having index as points, from a Pandas Series named ser ? [1 Mark]
(A) ser.element(points)
(B) ser.select(points)
(C) ser[points]
(D) ser.show(points)

Answer: (C) ser[points]

Teacher's Note:
a) Square bracket notation with the index label directly accesses a Series element.
b) There are no methods named element(), select() or show() in Pandas Series.

 

14. Excessive screen time and poor posture can lead to : [1 Mark]
(A) Faster Internet Speeds
(B) Eye strain and other health issues
(C) Better vision and bone density
(D) Improved physical health

Answer: (B) Eye strain and other health issues

Teacher's Note:
a) Long screen exposure and bad posture cause eye strain, headaches and back problems.
b) Taking regular breaks and sitting correctly helps prevent these health issues.

 

15. Which of the following libraries defines an ndarray in Python ? [1 Mark]
(A) pandas
(B) numpy
(C) matplotlib
(D) scipy

Answer: (B) numpy

Teacher's Note:
a) NumPy provides the ndarray object for fast array-based computation.
b) Pandas Series and DataFrame are built on top of NumPy arrays.

 

16. With respect to SQL, match the function given in column-II with categories given in column-I : [1 Mark]
I
(i) Math function
(ii) Aggregate function
(iii) Date function
(iv) Text function
II
(a) COUNT()
(b) ROUND()
(c) RIGHT()
(d) YEAR()
Options :

(A) (i)-(c), (ii)-(d), (iii)-(a), (iv)-(b)
(B) (i)-(b), (ii)-(a), (iii)-(d), (iv)-(c)
(C) (i)-(d), (ii)-(b), (iii)-(a), (iv)-(c)
(D) (i)-(b), (ii)-(c), (iii)-(d), (iv)-(a)

Answer: (B) (i)-(b), (ii)-(a), (iii)-(d), (iv)-(c)

Teacher's Note:
a) ROUND() is a math function, COUNT() is an aggregate function, YEAR() is a date function and RIGHT() is a text function.
b) Grouping functions by the type of value they operate on helps in remembering them.

 

17. Which of the following Python statements is used to change a column label in a DataFrame, df ? [1 Mark]
(A) df = df.rename({old_name : new_name}, axis='columns')
(B) df = df.rename(old_name, new_name), axis='columns'
(C) df = df.change_name(old_name, new_name, axis='bar')
(D) df = df.update({old_name : new_name}, axis='bar')

Answer: (A) df = df.rename({old_name : new_name}, axis='columns')

Teacher's Note:
a) rename() takes a dictionary mapping old names to new names.
b) axis='columns' tells Pandas to rename column labels, not row labels.

 

18. In Python Pandas, DataFrame. ________ [] is used for label indexing with DataFrames. [1 Mark]
(A) label
(B) index
(C) labindex
(D) loc

Answer: (D) loc

Teacher's Note:
a) loc[] is used for label-based indexing of rows and columns.
b) iloc[] is used for position-based (integer) indexing.

 

19. Every web page on the Internet has a unique address. This address is known as : [1 Mark]
(A) Domain Name
(B) Protocol
(C) Uniform Resource Locater
(D) Network Topology

Answer: (C) Uniform Resource Locater

Teacher's Note:
a) URL uniquely identifies the location of a resource on the internet.
b) Domain Name is only a part of the complete URL.

 

20. Assertion (A) : The drop() method in Pandas can be used to delete rows and columns from a DataFrame.
Reason (R) : The axis parameter in the drop() method specifies whether to delete rows (axis=0) or columns (axis=1). [1 Mark]

(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 and Reason (R) is False.
(D) Assertion (A) is False, but Reason (R) is True.

Answer: (A) Both Assertion (A) and Reason (R) are True and Reason (R) is the correct explanation for Assertion (A) (the marking scheme also accepts option (B) Both Assertion (A) and Reason (R) are True and Reason (R) is not the correct explanation for Assertion (A)).

Teacher's Note:
a) drop() removes specified rows or columns based on the axis parameter.
b) axis=0 refers to rows and axis=1 refers to columns; this is a commonly tested detail.

 

21. Assertion (A) : The ROUND() function in SQL can be used to round off a number to a specified number of decimal places.
Reason (R) : The ROUND() function is a string function that accepts character values as input and returns numerical values as output. [1 Mark]

(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 and Reason (R) is False.
(D) Assertion (A) is False, but Reason (R) is True.

Answer: (C) Assertion (A) is True and Reason (R) is False.

Teacher's Note:
a) ROUND() is a numeric/math function, not a string function.
b) It accepts a number and returns that number rounded to the given number of decimal places.

 

SECTION B

 

22. (a) Mention any two main points of difference between Series and DataFrame of Python Pandas. [2 Marks]

Answer:
1. Series is one-dimensional and stores a single column of data, while DataFrame is two-dimensional and stores multiple columns.
2. Elements in a Series must be homogeneous, while a DataFrame can hold columns of different data types.

Teacher's Note:
a) Remember Series is like a single column, and DataFrame is like a full table.
b) Both are Pandas data structures built on top of NumPy arrays.

OR

(b) Explain how we can access elements of a series using slicing. Give an example to support your answer. [2 Marks]

Answer: Elements of a Series can be accessed using positional slicing like data[0:3], label-based slicing like data['b':'d'], or conditional slicing like data[data \( \gt \) 30], where data is a Pandas Series with values [10, 20, 30, 40, 50] and index ['a','b','c','d','e'].

Teacher's Note:
a) Positional slicing uses integer index positions; label slicing uses index names.
b) In label-based slicing, both the start and end labels are included in the result.

 

23. A small tech startup, is considering using open source software to develop their new project management tool. They are evaluating the benefits and potential challenges of adopting open source solutions. [2 Marks]

(i) Identify one key benefit of using open source software for the development of project management tool.

Answer: Open source software is cost effective and benefits from support of a large community that contributes to its development, documentation and shared knowledge.

Teacher's Note:
a) Any one valid benefit like low cost, community support or easy integration is accepted.
b) Open source also allows developers to modify the source code freely.

(ii) Give any two examples of open source software.

Answer: MySQL and Linux (Ubuntu) are examples of open source software.

Teacher's Note:
a) Other valid examples include LibreOffice, GIMP and Firefox.
b) Do not confuse open source software with free but closed-source software.

 

24. Consider the string, "Informatics Practices". Write suitable SQL queries for the following : [2 Marks]

(i) To convert the entire string to uppercase.

Answer: SELECT UPPER("Informatics Practices");

Teacher's Note:
a) UCASE() can also be used instead of UPPER().
b) Both functions convert every character of the string to uppercase.

(ii) To display the total number of characters in the given string.

Answer: SELECT LENGTH("Informatics Practices");

Teacher's Note:
a) LEN() can also be used in place of LENGTH(), depending on the SQL system used.
b) This function counts every character including spaces.

 

25. (a) Give any two points of difference between Static web page and Dynamic web page. [2 Marks]

Answer:
1. A static web page has fixed, predefined content, while a dynamic web page has content that changes based on user interaction or data.
2. Static web pages require minimum server processing and lower hosting cost, while dynamic web pages need server-side processing and higher hosting cost.

Teacher's Note:
a) Static pages look the same for every visitor; dynamic pages can be personalized.
b) Dynamic pages usually connect to a database at the back end.

OR

(b) Describe the role of a router in a network. [2 Marks]

Answer: A router connects multiple networks such as LANs, WANs and the Internet, and it directs data packets between networks by finding the best route to the destination based on the IP address.

Teacher's Note:
a) Routers work at the network layer using IP addresses, unlike switches which use MAC addresses.
b) Many routers also provide firewall and access control features.

 

26. What is a Database Management System (DBMS) ? Mention any two examples of DBMS. [2 Marks]

Answer: A Database Management System (DBMS) is software that lets us store, organize, manage and retrieve data efficiently. Examples: MySQL and Oracle.

Teacher's Note:
a) DBMS also handles security, backup and multi-user access to data.
b) Other valid examples include PostgreSQL, Microsoft Access and SQL Server.

 

27. Give any two impacts on environment that are caused when e-waste is carelessly thrown or dumped in landfills or dumping grounds. [2 Marks]

Answer:
1. Soil contamination: toxic chemicals like lead, mercury and cadmium leach into the soil from dumped e-waste.
2. Water pollution: e-waste can contaminate ground water and water bodies, posing risks to the environment.

Teacher's Note:
a) Burning e-waste can also cause air pollution by releasing toxic fumes.
b) Proper e-waste recycling helps recover valuable materials and reduces pollution.

 

28. (a) Rohit is trying to create a Pandas Series from scalar values. His code has some mistakes. Rewrite the correct code and underline the corrections made. [2 Marks]
import pandas
data = [50, 15, 40]
series = pd.series(data, Index=['x', 'y', 'z'])
Print(series)

Answer:
import pandas as pd
data = [50, 15, 40]
series = pd.Series(data, index=['x', 'y', 'z'])
print(series)

Teacher's Note:
a) Corrections made: "import pandas as pd", "pd.Series" (capital S), the parameter "index" (lower case i), and "print" (lower case p).
b) Python is case-sensitive, so identifiers like Series and print must match the exact spelling.

OR

(b) Complete the given Python code to generate the following output :
COLOUR NAME QTY
0 Red Apple 10
1 Blue Berry 15
2 Green Guava 20
import _________ as pd
data=[{'COLOUR':'Red', 'NAME':'Apple', 'QTY':10},
{'COLOUR':'Blue','NAME':'Berry', 'QTY':15},
{___________, 'NAME' :'Guava','QTY':20}]
df=pd.DataFrame(__________)
print(____________) [2 Marks]

Answer:
import pandas as pd
data=[{'COLOUR':'Red', 'NAME':'Apple', 'QTY':10},
{'COLOUR':'Blue','NAME':'Berry', 'QTY':15},
{'COLOUR':'Green', 'NAME' :'Guava','QTY':20}]
df=pd.DataFrame(data)
print(df)

Teacher's Note:
a) The blanks are filled with pandas, 'COLOUR':'Green', data, and df respectively.
b) A list of dictionaries can be directly converted into a DataFrame using pd.DataFrame().

 

SECTION C

 

29. Ravi is a student studying in grade 12. He frequently uses the internet for various activities such as social networking, online shopping, and to research for school projects. Recently, he noticed that he receives targeted advertisements based on his browsing history and is concerned about his digital footprint. Additionally, Ravi has encountered instances of cyberbullying and is unsure how to handle them. Help Ravi by answering the following questions : [3 Marks]

(i) What are digital footprints, and how are they created ?

Answer: Digital footprints are the trail of data and information that a person leaves behind during online activities, such as browsing history, search engine queries, social media interactions and online purchases.

Teacher's Note:
a) Every website visited, search made or post shared adds to the digital footprint.
b) Digital footprints can be active (shared by the user) or passive (collected without direct action).

(ii) Write any two net etiquettes that Ravi should follow to ensure respectful and responsible online behavior.

Answer:
1. Avoid using slang, jargon or offensive language while communicating online.
2. Be sensitive to others' perspectives and feelings, and avoid personal attacks or trolling.

Teacher's Note:
a) Net etiquettes also include protecting personal information and using strong passwords.
b) Good netiquette builds trust and a safe online community.

(iii) How can Ravi protect himself from cyberbullying ? Mention any one protective measure.

Answer: Ravi should avoid sharing personal information publicly and use safe privacy settings on his social media accounts to protect himself from cyberbullying.

Teacher's Note:
a) Other measures include blocking or reporting bullies and being cautious with unknown friend requests.
b) Serious cases of cyberbullying should be reported to parents, teachers or the cyber cell.

 

30. (a) Write a Python program to create the following DataFrame using a Dictionary of Series : [3 Marks]
Index: 0 | 1 | 2 | 3
City: Mumbai | Dehradun | Bengaluru | Hyderabad
State: Maharashtra | Uttarakhand | Karnataka | Telangana

Answer:
import pandas as pd
d = {'City': pd.Series(['Mumbai','Dehradun','Bengaluru','Hyderabad']),
'State': pd.Series(['Maharashtra','Uttarakhand','Karnataka','Telangana'])}
df = pd.DataFrame(d)
print(df)

Teacher's Note:
a) A dictionary of Series objects can be directly passed to pd.DataFrame() to create a DataFrame.
b) Each key of the dictionary becomes a column name in the resulting DataFrame.

OR

(b) Write a Python program to create a Pandas Series as shown below from an ndarray containing the numbers 10, 20, 30, 40, 50 with corresponding indices 'A', 'B', 'C', 'D', 'E'.
A: 10 | B: 20 | C: 30 | D: 40 | E: 50 [3 Marks]

Answer:
import pandas as pd
import numpy as np
data = np.array([10,20,30,40,50])
s = pd.Series(data, index=['A','B','C','D','E'])
print(s)

Teacher's Note:
a) numpy.array() is used to create the ndarray before passing it to pd.Series().
b) The index parameter assigns custom labels instead of the default numeric index.

 

31. (i) Write the SQL statement to create a table, Customer with the following specifications : [2 Marks]
Column Name: CID | FName | LName | Age
Data Type: Int | Varchar(20) | Varchar(20) | Int
Key: Primary Key | (none) | (none) | (none)

Answer:
CREATE TABLE Customer (
CID INT PRIMARY KEY,
FName VARCHAR(20),
LName VARCHAR(20),
Age INT
);

Teacher's Note:
a) PRIMARY KEY can be declared inline with the column or separately using a CONSTRAINT clause.
b) Column names and data types must exactly match the given specification.

(ii) Write the SQL query to display all records in descending order of LName from the Table Customer. [1 Mark]

Answer: SELECT * FROM Customer ORDER BY LName DESC;

Teacher's Note:
a) ORDER BY ... DESC arranges records from highest to lowest value.
b) Without DESC, SQL sorts records in ascending order by default.

 

32. (a) Given the following tables : [3 Marks]
Table: STUDENTS
S_ID | NAME | AGE | CITY
1 | Rahul | 20 | Delhi
2 | Priya | 22 | Mumbai
3 | David | 21 | Delhi
4 | Neha | 23 | Bengaluru
5 | Khurshid | 22 | Delhi
Table: GRADES
S_ID | SUBJECT | GRADE
1 | Math | A
2 | English | B
3 | Math | C
4 | English | A
5 | Math | B
Write SQL queries for the following :

(i) To display the number of students from each city.

Answer: SELECT CITY, COUNT(*) FROM STUDENTS GROUP BY CITY;

Teacher's Note:
a) GROUP BY groups rows having the same city value before counting.
b) COUNT(*) counts all rows in each group, including duplicates.

(ii) To find the average age of all students.

Answer: SELECT AVG(AGE) FROM STUDENTS;

Teacher's Note:
a) AVG() is an aggregate function that returns the mean of a numeric column.
b) No GROUP BY is needed here since the average is required for the whole table.

(iii) To list the names of students and their grades.

Answer: SELECT NAME, GRADE FROM STUDENTS S, GRADES G WHERE S.S_ID = G.S_ID;

Teacher's Note:
a) A join is needed here since Name is in STUDENTS and Grade is in GRADES.
b) The common column S_ID is used to match rows in both tables.

OR

(b) Consider the following tables : [3 Marks]
Table 1: PRODUCTS
This table stores the basic details of the products available in a shop.
PID | PName | Category
201 | Laptop | Electronics
202 | Chair | Furniture
203 | Desk | Furniture
204 | Smartphone | NULL
205 | Tablet | Electronics
Table 2: SALES
This table records the number of units sold for each product.
SaleID | PID | UnitsSold
301 | 201 | 50
302 | 202 | 100
303 | 203 | 60
304 | 204 | 80
305 | 205 | 70
Write SQL queries for the following :

(i) To delete those records from table SALES whose UnitsSold is less than 80.

Answer: DELETE FROM SALES WHERE UnitsSold \( \lt \) 80;

Teacher's Note:
a) DELETE removes rows permanently based on the WHERE condition.
b) Always double check the WHERE clause before running a DELETE query to avoid deleting wrong rows.

(ii) To display the names of all products whose category is not known.

Answer: SELECT PName FROM PRODUCTS WHERE Category IS NULL;

Teacher's Note:
a) NULL represents missing or unknown data and must be checked using IS NULL, not "=".
b) "Category is not known" is a hint to use the NULL condition.

(iii) To display the product names along with their corresponding units sold.

Answer: SELECT PName, UnitsSold FROM PRODUCTS P, SALES S WHERE P.PID = S.PID;

Teacher's Note:
a) The two tables are linked using the common column PID.
b) Table aliases like P and S make long queries easier to read.

 

SECTION D

 

33. Gurkirat has to fill in the blanks in the given Python program that generates a line plot as shown below. The given line plot represents the temperature (in degree Celsius) over five days as given in the table : [4 Marks]
Days: Day 1 | Day 2 | Day 3 | Day 4 | Day 5
Temperature: 30 | 32 | 31 | 29 | 28
import ______ as plt # Statement-1
days = ['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5']
temp = [30, 32, 31, 29, 28]
plt.__(days, temp) # Statement-2
plt.xlabel('______') # Statement-3
plt.ylabel('Temperature')
plt.title('_____') # Statement-4
plt.show()
Write the missing statements according to the given specifications :
(i) Write the suitable code to import the required module in the blank space in the line marked as Statement-1.
(ii) Fill in the blank in Statement-2 with a suitable Python function name to create a line plot.
(iii) Refer to the graph shown and fill in the blank in Statement-3 to display the appropriate label for x-axis.
(iv) Refer to the graph shown and fill in the blank in Statement-4 to display the suitable chart title.

[Figure: A line plot titled "Temperature Over 5 Days" with the x-axis labelled "Days" showing Day 1 to Day 5, and the y-axis labelled "Temperature" ranging from 28.0 to 32.0. The line rises from 30 at Day 1 to a peak of 32 at Day 2, then falls to 31 at Day 3, 29 at Day 4 and 28 at Day 5.]

Answer:
1. Statement-1: import matplotlib.pyplot as plt
2. Statement-2: plt.plot(days, temp)
3. Statement-3: plt.xlabel('Days')
4. Statement-4: plt.title('Temperature Over 5 Days')

Teacher's Note:
a) matplotlib.pyplot is conventionally imported with the alias plt.
b) plt.plot() draws a line plot by default when given x and y data lists.
c) Labels and titles must match the axis names and heading shown in the given figure.

 

34. (a) An educational institution is maintaining a database for storing the details of courses being offered. The database includes a table COURSE with the following attributes : [4 Marks]
C_ID : Stores the unique ID for each course.
C_NAME : Stores the course's name.
INSTRUCTOR : Stores the name of the course instructor.
DURATION : Stores the duration of the course in hours.
Table : COURSE
C_ID | C_NAME | INSTRUCTOR | DURATION
C101 | Data Structures | Dr. Alok | 40
C102 | Machine Learning | Prof. Sunita | 60
C103 | Web Development | Ms. Sakshi | 45
C104 | Database Management | Mr. Suresh | 50
C105 | Python Programming | Dr. Pawan | 35
Write SQL queries for the following :

(i) To add a new record with following specifications :
C_ID : C106
C_NAME : Introduction to AI
INSTRUCTOR : Ms. Preeti
DURATION : 55

Answer: INSERT INTO COURSE VALUES('C106','Introduction to AI','Ms. Preeti',55);

Teacher's Note:
a) Values must be given in the same order as the columns in the table.
b) Text values must be enclosed in single quotes.

(ii) To display the longest duration among all courses.

Answer: SELECT MAX(DURATION) FROM COURSE;

Teacher's Note:
a) MAX() is an aggregate function that returns the highest value in a column.
b) No WHERE or GROUP BY clause is needed for a single overall maximum.

(iii) To count total number of courses run by the institution.

Answer: SELECT COUNT(C_ID) FROM COURSE;

Teacher's Note:
a) COUNT(C_ID) or COUNT(*) both give the total number of rows/courses.
b) COUNT(DISTINCT C_NAME) is used when duplicate course names need to be avoided.

(iv) To display the instructors' name in lower case.

Answer: SELECT LOWER(INSTRUCTOR) FROM COURSE;

Teacher's Note:
a) LOWER() or LCASE() both convert text to lower case in SQL.
b) This function does not change the actual stored data, only the displayed output.

OR

(b) Ashutosh, who is a manager, has created a database to manage employee records. The database includes a table named EMPLOYEE whose attribute names are mentioned below : [4 Marks]
EID : Stores the unique ID for each employee.
EMP_NAME : Stores the name of the employee.
DEPT : Stores the department of the employee.
SALARY : Stores the salary of the employee.
JOIN_DATE : Stores the employee's joining date.
Table : EMPLOYEE
EID | EMP_NAME | DEPT | SALARY | JOIN_DATE
E01 | ARJUN SINGH | SALES | 75000 | 2019-11-01
E02 | PRIYA JAIN | ENGINEERING | 85000 | 2020-05-20
E03 | RAVI SHARMA | MARKETING | 60000 | 2018-08-14
E04 | AYESHA | NULL | 50000 | 2021-01-10
E05 | RAHUL VERMA | FINANCE | 40000 | 2017-06-25
Write the output of the following SQL Queries :

(i) Select SUBSTRING(EMP_NAME, 1, 5) from EMPLOYEE where DEPT = 'ENGINEERING';

Answer: PRIYA

Teacher's Note:
a) SUBSTRING(EMP_NAME,1,5) extracts the first five characters of the matching name.
b) Only the row with DEPT = 'ENGINEERING' (Priya Jain) satisfies the condition.

(ii) Select EMP_NAME from EMPLOYEE where month(JOIN_DATE) = 8;

Answer: RAVI SHARMA

Teacher's Note:
a) MONTH() extracts the month number from a date value.
b) Only Ravi Sharma's joining date (2018-08-14) falls in month 8 (August).

(iii) Select EMP_NAME from EMPLOYEE where SALARY \( \gt \) 60000;

Answer: ARJUN SINGH, PRIYA JAIN

Teacher's Note:
a) Only employees with salary strictly greater than 60000 are listed.
b) Ravi Sharma's salary of exactly 60000 does not satisfy the strict inequality.

(iv) Select count(DEPT) from EMPLOYEE;

Answer: 4

Teacher's Note:
a) COUNT() ignores NULL values, so the row with DEPT as NULL is not counted.
b) Out of 5 total rows, only 4 have a non-NULL DEPT value.

 

SECTION E

 

35. XYZ Technologies, Hyderabad is a company that deals with data science and AI projects. They have different divisions ADMIN, SALES, PRODUCTION and SERVICE.
The layout of the Hyderabad branch is :

[Figure: A layout diagram showing four blocks labelled ADMIN, SALES, PRODUCTION and SERVICE arranged in a 2x2 grid within the Hyderabad branch boundary.]

The management wants to connect all the divisions as well as the computers of each division (ADMIN, SALES, PRODUCTION and SERVICE).
Distance between the divisions are as follows :
ADMIN to SALES: 69m
ADMIN to PRODUCTION: 84m
ADMIN to SERVICE: 60m
SALES to PRODUCTION: 110m
SALES to SERVICE: 135m
PRODUCTION to SERVICE: 90m
Number of computers in each division :
ADMIN: 40
SALES: 75
PRODUCTION: 120
SERVICE: 20
Based on the above specifications, answer the following questions : [5 Marks]
(i) Suggest the topology and draw the most suitable cable layout for connecting all the divisions in the Hyderabad office.
(ii) XYZ Technologies is having its head office in USA. Out of LAN, MAN and WAN, which kind of network will be created to connect Hyderabad office with USA Office ? Justify your answer.
(iii) Suggest the division for the placement of server. Explain the reason for your selection.
(iv) Suggest the placement of Switch/Hub with justification.
(v) Where will a repeater be placed in the suggested network layout ? Justify your answer.

Answer:
1. Star topology is suggested, with a central connection point linking ADMIN, SALES, PRODUCTION and SERVICE, for example with cables running from PRODUCTION as the central node to the other three divisions.
2. WAN (Wide Area Network) should be used to connect the Hyderabad office with the USA office, since the two locations are in different countries separated by a very large distance.
3. The server should be placed in the PRODUCTION division since it has the maximum number of computers (120).
4. A Switch/Hub should be placed in each of the four divisions (ADMIN, SALES, PRODUCTION and SERVICE) because multiple computers within each division need to be interconnected.
5. A repeater should be placed between SALES and PRODUCTION, as this is the longest cable distance (110 m) in the suggested layout, and a repeater amplifies and retransmits a weak signal over long distances.

Teacher's Note:
a) Star topology is preferred as it is easy to manage and a single cable fault does not affect other divisions.
b) A repeater is required whenever a cable segment exceeds the maximum effective transmission distance.
c) Server placement is based on the division with the highest computer count, not the shortest distance.

 

36. Consider the DataFrame Doctor shown below :
Index: 0 | 1 | 2 | 3 | 4
DID: 101 | 102 | 103 | 104 | 105
Name: Dr. Joe | Dr. Salma | Dr. Jeet | Dr. Neha | Dr. Vikram
Department: ENT | UROLOGY | ORTHO | ENT | ORTHO
Fee: 1500 | 1600 | 1550 | 1200 | 1700
Write suitable Python statements for the following : [5 Marks]
(i) To print the last three rows of the DataFrame Doctor.
(ii) To display the names of all doctors.
(iii) To add a new column 'Discount' with value of 200 for all doctors.
(iv) To display rows with index 2 and 3.
(v) To delete the column 'Department'.

Answer:
1. print(Doctor.tail(3))
2. print(Doctor['Name'])
3. Doctor['Discount'] = 200
4. print(Doctor.loc[[2,3]])
5. Doctor.drop(['Department'], axis=1, inplace=True)

Teacher's Note:
a) tail(n) returns the last n rows, while head(n) returns the first n rows.
b) Assigning a scalar value to a new column name automatically fills it for every row.
c) drop() needs axis=1 (or axis='columns') to remove a column instead of a row.

 

37. (a) Write SQL query for the following : [5 Marks]
(i) To display sum total of all the values of the Score column, from STUDENTS table.
(ii) To display the first five characters of the Name column from STUDENTS table.
(iii) To display the values of Name column from the STUDENTS table, after removing the trailing spaces.
(iv) To retrieve the lowest score from the Score column of GRADES table.
(v) To increase the fee of all students by 100, in the STUDENTS table. (The name of the column is FEE)

Answer:
1. SELECT SUM(Score) FROM STUDENTS;
2. SELECT LEFT(Name,5) FROM STUDENTS;
3. SELECT RTRIM(Name) FROM STUDENTS;
4. SELECT MIN(Score) FROM GRADES;
5. UPDATE STUDENTS SET FEE = FEE + 100;

Teacher's Note:
a) SUM() and MIN() are aggregate functions; LEFT() and RTRIM() are text functions.
b) UPDATE with SET modifies existing values in a column for matching rows.
c) Without a WHERE clause, UPDATE applies to every row in the table.

OR

(b) Write SQL queries for the following : [5 Marks]
(i) To calculate the square of 15.
(ii) To round the number 456.789 to the nearest integer.
(iii) To display the position of first occurrence of 'com' in the string 'mycommercial.com'.
(iv) To display the name of the day for the date '2024-11-07'.
(v) To display the current date and time.

Answer:
1. SELECT POWER(15,2);
2. SELECT ROUND(456.789);
3. SELECT INSTR('mycommercial.com','com');
4. SELECT DAYNAME('2024-11-07');
5. SELECT NOW();

Teacher's Note:
a) POWER(a,b) computes \( a^{b} \), so POWER(15,2) gives 15 squared.
b) INSTR() returns the character position where a substring first occurs.
c) NOW() or SYSDATE() both return the current date and time in MySQL.

Please click the link below to download pdf file of CBSE Class 12 Informatics Practices Question Paper 2025 Solved Code 90

Past Exam Papers & Solutions for Class 12 Informatics Practices

Class 12 Informatics Practices Past Exam Papers & Resources

Review authentic examination papers for Class 12 Informatics Practices. Working through the CBSE Class 12 Informatics Practices Question Paper 2025 Solved Code 90 allows learners to decode recurring question trends and familiarize themselves with official CBSE evaluation standards.

Importance of Solving CBSE Class 12 Informatics Practices Question Paper 2025 Solved Code 90

Reviewing official papers clarifies the exact marking scheme and structural layout established by the CBSE, enabling students to structure answers for maximum score potential.

Complete Your Exam Preparation

Wrap up your exam preparation by reviewing detailed answer keys and tackling additional practice sets. All resources on our platform are free to access.

FAQs

Where can I download the official PDF for CBSE Class 12 Informatics Practices Question Paper 2025 Solved Code 90?

The CBSE Class 12 Informatics Practices Question Paper 2025 Solved Code 90 is available for download on StudiesToday.com. It includes complete set with all sections so that Class 12 students can practice with the exact same paper that came in the CBSE exams.

Are the solutions for CBSE Class 12 Informatics Practices Question Paper 2025 Solved Code 90 based on the official CBSE marking scheme?

Yes, the solutions for CBSE Class 12 Informatics Practices Question Paper 2025 Solved Code 90 are prepared by subject matter experts as per official marking scheme. Class 12 students will understand the structure of answers and 'step-marks' methodology Informatics Practices.

How does solving CBSE Class 12 Informatics Practices Question Paper 2025 Solved Code 90 help in preparing for the 2026 exams?

Solving previous year papers like CBSE Class 12 Informatics Practices Question Paper 2025 Solved Code 90 is important to understand repeat themes and question difficulty levels of Informatics Practices. It helps Class 12 students to test their time management skills too.

Can I access CBSE Class 12 Informatics Practices Question Paper 2025 Solved Code 90 in different languages?

Yes, where applicable, CBSE Class 12 Informatics Practices Question Paper 2025 Solved Code 90 is available in both English and Hindi mediums. All students from Class 12 can access Informatics Practices study material in their preferred language.

Is there a charge to download the CBSE Class 12 Informatics Practices solved papers?

No, all previous year question papers on StudiesToday, including CBSE Class 12 Informatics Practices Question Paper 2025 Solved Code 90, are provided free of charge in mobile-friendly PDF.