Series &RQPS
Question Paper Code 90 Set 4
INFORMATICS PRACTICES
(Session 2024-25)
Time allowed : 3 hours
Maximum Marks : 70
General Instructions :
- This question paper contains 37 questions and five sections, Section A to E.
- All questions are compulsory. However, internal choices have been provided in some questions. Attempt only one of the choices in such questions.
- Section A have 21 questions carrying 1 mark each.
- Section B has 7 Very Short Answer type questions carrying 2 marks each.
- Section C has 4 Short Answer type questions carrying 3 marks each.
- Section D has 2 case study type questions carrying 4 marks each.
- Section E has 3 questions carrying 5 marks each.
- All programming question are to be answered using python language only.
- In case of MCQs, text of the correct answer should also be written.
SECTION – A
1. State whether the following statement is True or False :
In Python, we cannot create an empty DataFrame.
Ans: False
2. What will be the output of the following SQL command?SELECT MONTHNAME ('2024-08-02'):
a) 08
b) 02
c) February
d) August
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:
a) Plug-ins
b) Add-ons
c) Cookies
d) Bookmarks
4. Which of the following is not an aggregate function in SQL?
a) COUNT(*)
b) MIN()
c) LEFT()
d) AVG()
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 ?
a) Copyright
b) Plagiarism
c) Trademark
d) Lease
6. What is the default index type for a Pandas Series if not explicitly specified ?
a) String
b) List
c) Numeric
d) Boolean
7. In Python which function of matplotlib
library is used to save a plot?
a) save()
b) saveplot()
c) export()
d) savefig()
8. State whether the following statement is True or False :
The MOD()
function in SQL returns the quotient of division operation between two numbers.
Ans: False
9. Which of the following data structure is used for storing one-dimensional labelled data in Python Pandas ?
a) Integer
b) Dictionary
c) Series
d) DataFrame
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?
a) Cyber stalking
b) Phishing
c) Fishing
d) Cyber bullying
11. Which SQL function calculates ab?
a) MOD()
b) POWER()
c) RAISE()
d) ROUND()
12. Which protocol is used while communicating through video calls on the Internet?
a) Video Over Internet Protocol
b) Voice Over Internet Protocol
c) Internet Protocol
d) Video Audio 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?
a) ser.element(points)
b) ser.select (points)
c) ser[points]
d) ser.show[points]
14. Excessive screen time and poor posture can lead to :
a) Faster Internet Speeds
b) Eye strain and other health issues
c) Better vision and bone density
d) Improved physical health
15. Which of the following libraries defines an ndarray in Python ?
a) pandas
b) numpy
c) matplotlib
d) scipy
16. With respect to SQL, match the function given in column-2 with categories given in column-1 :
Column-1 | Column-2 | ||
(i) | Math function | (a) | COUNT() |
(ii) | Aggregate function | (b) | ROUND() |
(iii) | Date function | (c) | RIGHT() |
(iv) | Text function | (d) | YEAR() |
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)
17. Which of the following Python statements is used to change a column label in a DataFrame, df?
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'
18. In Python Pandas, DataFrame. _________ [ ] is used for label indexing with DataFrames.
a) label
b) index
c) labindex
d) loc
19. Every web page on the Internet has a unique address. This address is known as :
a) Domain Name
b) Protocol
c) Uniform Resource Locator
d) Network Topology
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).
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.
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.
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.
SECTION – B
22. (a) Mention any two main points of difference between Series and DataFrame of Python Pandas.
Series | DataFrame |
---|---|
Series is one-dimensional | DataFrame is two-dimensional |
Series is used for storing a single column of data. | DataFrame is used for storing multiple columns of data. |
OR
(b) Explain how we can access elements ofa series using slicing. Give an example to support your answer.
Ans: Elements of a series can be accessed in any of the following ways using slicing:
Example: Considering data to be a pandas series containing values [10, 20, 30, 40, 50]
having index as ['a','b','c','d','e']
Positional Indexing/ Integer-based slicing: Slice a Series using indices
# Slice the Series from the first to the third elementdata[0:3] OR data.iloc[0:3]
Label-based slicing: Slice a Series using its index labels.data['b':'d'] OR data.loc['b':'d']
Conditional slicing: Slice a Series based on condition.
# Slice the Series where values are greater than 30
# for a pandas series named as datadata[data > 30]
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.
(i) ldentify one key benefit of using open source software for the development of project management tool.
Ans: Using open-source software to develop a new project management tool offers the following benefits:
- Open-source softwares mostly have support of large communities that contribute to the software, documentation, and shared knowledge, which is useful during development.
- Open-source software eliminates dependence on a single vendor.Open-source software can be easily integrated with other open-source tools and systems, reducing compatibility issues.
- Open-source software often incorporates the latest technologies, innovations, and best practices, ensuring developers have access to the most advanced tools and techniques.
- As Open-Source software provides access to a variety of existing open-source libraries and frameworks, developers can speed up the development process by building upon existing solutions.
- Open-source software is mostly cost effective.
(ii) Give any two examples of open source software.
Ans: Some Examples of open-source softwares are:
MySQL , PostgreSQL, Linux , Ubuntu, LibreOffice , OpenOffice , GIMP, Firefox, Chromium
24. Consider the string, “Infornatics Practices “. Write suitable SQL queries for the following :
(i) To convert the entire string to uppercase.
Ans: SELECT UCASE(“Informatics Practices”);
* Use UPPER instead of UCASE will also correct
(ii) To display the total number of characters in the given string.
Ans: SELECT LEN(“Informatics Practices”);
* Use LENGTH instead of LEN will also correct
25. Give any two points of difference between Static web page and Dynamic web page.
Static web page | Dynamic web page |
---|---|
A web page with content that is predefined and static. | A web page with content that changes dynamically. |
Has limited interactivity. | It is highly interactive. |
Requires minimum Server processing. | Requires server-side processing. |
Lower development and hosting cost. | Higher development and hosting cost. |
OR
(b) Describe the role of a router in a network.
Ans: Packet forwarding using Best route: Routers forward packets of data between networks, using the destination IP address to determine the best route to the destination.
26. What is a Database Management System (DBMS) Mention any two examples of DBMS.
Ans: A Database Management System(DBMS) is software that lets us store, organize, manage, and retrieve data efficiently.
Examples: MySQL, PostgreSQL, Microsoft Access, Oracle, Microsoft SQL Server, DB2 and Sybase
27. Give any two impacts on environment that are caused when e-waste is carelessly thrown or dumped in landfills or dumping grounds.
Ans: Impacts of e-waste:
i) Air pollution: Burning e-waste can release toxic fumes contributing to air pollution.
ii) Water pollution: E-waste can contaminate water posing a risk to the environment.
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.import pandas
data = [50, 15, 40]
series = pd.series (data, Index=['x' , 'y', 'z'])
Print(series)
Ans: import pandas as pd
data=[50,15,40] #OR data = <any numeric value>
series=pd.Series(data, index=['x', 'y', 'z'])
print(series)
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 |
data=[{‘COLOUR’:’Red’, ‘NAME’:’Apple , ‘QTY’ :10},
{‘COLOUR’:’Blue’, ‘NAME’:’Berry’ , ‘QTY’:15},
{_____, ‘NAME’ : ‘Guava’ , ‘QTY’:20}]
df=pd.DataFrame (______)
print(_____)
Ans:
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)
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 cyberbulying and is unsure how to handle them, Help Ravi by answering the following questions:
(i) What are digital footprints, and how are they created?
Ans: Digital footprints refer to the trail of data and information that individuals leave behind during online activities.
Following are some of the ways digital footprints are created:
● Browsing history: Every time a website is visited, the browser records the URL, date, and time of the visit.
● Search engine queries: When a search is performed online, the search engine records search term(s) and query.
● Social media interactions: Social media activities, such as posts, comments, likes, and shares, are recorded by the platform.
● Online purchases: When an online purchase is made, the retailer records transaction details, including name, address, and payment information.
● Surveillance cameras in public places can capture images and movements.
● RFID tags can capture movements and activities.
(ii) Write any two net etiquettes that Ravi should follow to ensure respectful and responsible online behavior.
Ans: To ensure respectful and responsible online behavior, Ravi should follow the following Net etiquettes:
● Avoid using slang, jargon, or offensive language
● Consider others’ perspectives and feelings
(iii) How can Ravi protect himself from cyberbullying? Mention any one protective measure.
Ans: Ravi should adopt following protective measures against cyberbullying:
● Avoid sharing personal information in public.
● Adopt safe privacy settings on Social Media accounts and Online Platforms
● Be cautious with links and attachments
● Use two-factor authentication
30. Write a Python program to create the following DataFrame using a Dictionary of Series :
City | State | |
0 | Mumbai | Maharashtra |
1 | Dehradun | Uttrakhand |
2 | Bengaluru | Karnataka |
3 | Hyderabad | Telangana |
import pandas as pd
City=pd.Series(['Mumbai','Dehradun','Bengaluru','Hyderabad'])
State=pd.Series(['Maharashtra','Uttarakhand','Karnataka','Telangana'])
df=pd.DataFrame({'City':City, 'State':State})
print(df)
(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 |
import pandas as pd
import numpy as np
L1=np.array([10,20,30,40,50])
L2=np.array(['A','B','C','D','E'])
S1=pd.Series(L1,index=L2)
print(S1)
31. (i) Write the SQL statement to create a table, Customer with the following specifications :
Column Name | Data Type | Key |
---|---|---|
CID | Int | Primary Key |
FName | Varchar(20) | |
LName | Varchar(20) | |
Age | Int |
CREATE TABLE Customer (
CID INT PRIMARY KEY,
FName VARCHAR(20),
LName VARCHAR(20),
Age INT
);
(ii) Write the SQL query to display all records in descending order of LName from the Table Customer.
SELECT * FROM Customer ORDER BY LName DESC;
32. (a) Given the following tables:
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 |
(i) To display the number of students from each city.
Ans:
SELECT CITY, COUNT(*) FROM STUDENTS GROUP BY CITY;
(ii) To find the average age of all students.
Ans:
SELECT AVG(AGE) FROM STUDENTS;
(iii) To list the names of students and their grades.
Ans:
SELECT NAME, GRADE FROM STUDENTS S, GRADES G WHERE S.S_ID = G.S_ID ;
OR
(b) Consider the following tables:
Table1: PRODUCTS
This table stores the basis 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 |
Table2: SALES
This table records the number of units sold for each product.
SaleID | PID | Category |
---|---|---|
301 | 201 | 50 |
302 | 202 | 100 |
303 | 203 | 60 |
304 | 204 | 80 |
305 | 205 | 70 |
(i) To delete those records from table SALES whose UnitsSold is less than 80.
Ans:
DELETE FROM SALES WHERE UnitsSold < 80;
(i) To display names of all products whose category is not known.
Ans:
SELECT PName FROM PRODUCTS WHERE Category IS NULL;
(iii) To display the product names along with their corresponding units sold.
Ans:
SELECT PName, UnitsSold FROM PRODUCTS P, SALES S WHERE P.PID = S.P_ID ;
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 Celcius) over five days as given in the table :
Days | Temperature |
Day 1 | 30 |
Day 2 | 32 |
Day 3 | 31 |
Day 4 | 29 |
Day 5 | 28 |

import _____ as plt #STMT 1
days = ['Day 1' , 'Day 2' , 'Day 3' , 'Day 4' , 'Day 5']
temp = [30, 32, 31, 29, 28]
plt.____(days, temp) #STMT 2
plt.xlabel('____') #STMT 3
plt.ylabel('Temperature')
plt.title('____') #STMT 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.
Ans: import matplotlib.pyplot as plt
(ii) Fill in the blank in Statement 2 with a suitable Python function name to create a line plot.
Ans: plt.plot(days,temp)
(iii) Refer to the graph shown and fill in the blank in Statement 3 to display the appropriate label for x-axis.
Ans: plt.xlabel('Days')
(iv) Refer to the graph shown and fill in the blank in Statement 4 to display the suitable chart title.
Ans: plt.title('Temperature over 5 days')
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 :
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 |
(i) To add a new record with following specifications:
C_ID : C106
C_NAME : Introduction to AI
INSTRUCTOR : Ms. Preeti
DURATION : 55
Ans: INSERT INTO COURSE VALUES('C106','INTRODUCTION TO AI', 'MS.PREETI',55);
(ii) To display the longest duration among all courses.
Ans: SELECT MAX(DURATION) FROM COURSE;
(iii) To count total number of courses run by the institution.
Ans: SELECT COUNT(DISTINCT C_NAME)FROM COURSE;
(iv) To display the instructors’ name in lower case.
Ans: SELECT LOWER(INSTRUCTOR) FROM COURSE;
(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:
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.
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 |
(i) Select SUBSTRING(EMP_NAME, 1, 5) from EMPLOYEE where DEPT = ‘ENGINEERING’;
SUBSTRING(EMP_NAME, 1, 5)
--------------------------
PRIYA
(ii) Select EMP_NAME from EMPLOYEE where month(JOIN_DATE) = 8;
EMP_NAME
-----------
RAVI SHARMA
(iii) Select EMP_NAME from EMPLOYEE where SALARY > 60000;
EMP_NAME
-----------
ARJUN SINGH
PRIYA JAIN
(iv) Select count(DEPT) from EMPLOYEE;
count(DEPT)
-----------
4
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 :
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:
Division | Number of Computers |
ADMIN | 40 |
SALES | 75 |
PRODUCTION | 120 |
SERVICE | 20 |
(i) Suggest the topology and draw the most suitable cable layout for connecting all the divisions in the Hyderabad office.
Ans: (Make figure in Star or Bus Topology)
(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.
Ans: WAN will be created as the network connection needs to be across different countries.
(iii) Suggest the division for the placement of server. Explain the reason for your selection.
Ans: Server should be placed in the Production division as it has the maximum number of computers.
(iv) Suggest the placement of Switch/Hub with justification.
Ans: Switch/Hub should be placed in each of the divisions ADMIN, SALES, PRODUCTION and SERVICE as multiple devices need to be inter-connected.
(v) Where will a repeater be placed in the suggested network layout ? Justify your answer.
Ans: Repeater will be placed: Between Sales and Production (for first layout – Star Topology)
Because a repeater is required if the distance between the blocks is more and the repeater receives the weak signal, amplifies it, and retransmits it
36. Consider the DataFrame Doctor shown below :
DID | NAME | DEPARTMENT | FEE | |
---|---|---|---|---|
0 | 101 | Dr. Joe | ENT | 1500 |
1 | 102 | Dr. Salma | UROLOGY | 1600 |
2 | 103 | Dr. Jeet | ORTHO | 1550 |
3 | 104 | Dr. Neha | ENT | 1200 |
4 | 105 | Dr. Vikram | ORTHO | 1700 |
(i) To print the last three rows of the DataFrame Doctor.
Ans: print(doctor.tail(3))
(ii) To display the names of all doctors.
Ans: print(doctor['Name'])
(iii) To add a new column ‘Discount’ with value of 200 for all doctors.
Ans: doctor['Discount']=200
(iv) To display rows with index 2 and 3.
Ans: print(doctor.loc[[2,3]])
(v) To delete the column ‘Department’.
Ans: doctor.drop(['Department'],axis=1, inplace=True)
37. (a) Write SQL query for the following :
(i) To display sum total of all the values of the Score column, from STUDENTS table.
Ans: SELECT SUM(Score) FROM STUDENTS;
(ii) To display the first five characters of the Name column from STUDENTS table.
Ans: SELECT LEFT(Name,5) FROM STUDENTS;
(iii) To display the values of Name column from the STUDENTS table, after removing the trailing spaces.
Ans: SELECT RTRIM(Name) FROM STUDENTS;
(iv) To retrieve the lowest score from the Score column of GRADES table.
Ans: SELECT MIN(Score) FROM GRADES;
(v) To increase the fee of all students by 100, in the STUDENTS table. (The name of the column is FEE)
Ans: UPDATE STUDENTS SET FEE = FEE + 100;
OR
(b) Write SQL query for the following :
(i) To calculate the square of 15.
Ans: SELECT POWER(15, 2);
(ii) To round the number 456.789 to the nearest integer.
Ans: SELECT ROUND(456.789);
(iii) To display the position of first occurrence of ‘com’ in the string ‘mycommercial.com’.
Ans: SELECT INSTR('mycommercial.com','com');
(iv) To display the name of the day for the date ‘2024-11-07 ‘.
Ans: SELECT DAYNAME ('2024-11-07');
(v) To display the current date and time.
Ans: SELECT NOW();