PART A
[Link] an algorithm.
✔ Correct option: (a) A step-by-step solution to a problem
2. Name the type of model represented by a flowchart.
✔ Correct option: (c) Logical model of program flow
3. Choose the correct operator for exponentiation in [Link]:
The exponentiation operator in Python is **.
✔ Correct option: (b) **
4. Classify the following as valid or invalid identifiers: _name, 1st_value.
Answer:
_name is a valid identifier
1st_value is invalid because it starts with a digit
✔ Correct option: (b) Only _name valid
5. Choose the correct syntax for an if–else statement in Python.
Answer:
Python uses a colon : and indentation for if–else statements.
✔ Correct option:
(a) if condition: statement else: statement
6. Solve using recursion: factorial of 5.
✔ Correct option: (d) factorial(5) = 120
7. What symbol is used to create a list in Python?
✔ Correct option: (b) [ ]
8. Plan a dictionary to store student marks.
✔ Correct option:
(c) marks = {"John": 85, "Ravi": 92}
9. Which mode is used to append data to an existing file?
✔ Correct option: (a) "a"
10. Apply the OS module to rename a file.
✔ Correct option:
(a) [Link]("[Link]", "[Link]")
PART B
[Link] two features of top-down and bottom-up problem-solving approaches
Answer: Answer: Top-down approach involves breaking down a large problem into smaller,
manageable sub-problems, while the bottom-up approach starts with solving the small sub-
problems first and then integrating them to solve the overall problem.
Top-down: Focuses on high-level design first, then details. It is good for complex systems where the
overall structure is important.
Bottom-up: Focuses on implementing basic modules first, then linking them. It is good for testing
individual components early and reusing existing modules.
12. Define a variable and explain how it is declared in Python
Answer: Answer: A variable is a named storage location that holds a value which can be changed
during program execution. In Python, variables are declared and assigned a value in a single step
using the assignment operator (=), without needing to specify a data type.
Definition: A variable is a symbolic name that references a value stored in memory.
Declaration: Python uses dynamic typing, so declaration is implicit upon assignment (e.g., age = 25,
name = "John"). The type is inferred automatically.
13. What is a loop? Mention different types of loops in Python
Answer: Answer: A loop is a programming construct that repeatedly executes a block of code as long
as a certain condition is met or for a specific number of times. Python has two main types of loops:
for loops and while loops.
for loop: Used for iterating over a sequence (like a list, tuple, dictionary, string, or range).
while loop: Used for repeating a block of code as long as a given boolean condition remains true.
14. Compare characteristics of mutable and immutable data structures.
Answer: Mutable data structures can be changed after they are created, while immutable data
structures cannot.
Mutable data structures (e.g., Python lists, dictionaries, sets) allow in-place modification of their
contents. This means that operations like adding, removing, or changing elements do not require
creating a new object in memory.
Immutable data structures (e.g., Python strings, tuples, numbers) cannot be altered after creation.
Any operation that appears to modify an immutable object actually results in the creation of a new
object with the updated value.
15. Copy contents of one file to another
Steps
1. Open source file in read mode
2. Open destination file in write mode
3. Read data from source
4. Write data to destination
5. Close both files
Program:
f1 = open("[Link]", "r")
f2 = open("[Link]", "w")
[Link]([Link]())
[Link]()
[Link]()
PART C
16 (a.i) List the basic steps involved in designing an algorithm
An algorithm is a step-by-step procedure used to solve a computational problem. Designing an
algorithm is an important stage in program development because it helps in understanding the logic
before coding.
The first step in designing an algorithm is understanding the problem clearly. The programmer must
analyze what the problem is and what result is expected. The next step is identifying the inputs,
which are the data required to solve the problem. After that, the outputs produced by the algorithm
are determined.
The problem is then analyzed logically to identify constraints and conditions. The problem is often
divided into smaller sub-problems to make it easier to solve. After this, the logic is developed to
process the input and obtain the desired output.
The algorithm is then written in a step-by-step format using simple language. It can be represented
using pseudocode or flowcharts for better understanding. The algorithm is tested using sample data
to ensure correctness. If errors are found, corrections are made. Finally, the algorithm is optimized
for better performance and prepared for implementation in a programming language.
16 ([Link]) List the different stages involved in computational problem solving with examples
Computational problem solving is the process of converting a real-world problem into a computer-
based solution. It involves several systematic stages.
The first stage is problem definition, where the problem is clearly stated. This is followed by problem
analysis, where inputs, outputs, and constraints are identified. Next, an algorithm is designed to
solve the problem logically.
The algorithm is then represented using a flowchart or pseudocode. After this, the solution is
converted into a program during the coding stage. The program is then compiled and executed.
Once executed, the program is tested using different test cases. Errors identified during testing are
removed through debugging. After verification and validation, the program is documented for future
reference. Finally, maintenance is performed to update or improve the program when required.
Example: Finding the largest number among a list involves defining the problem, designing logic,
coding, testing, and maintaining the program.
16 (b) Write short notes on control structures
Control structures are used to control the flow of execution in a program. Python provides various
control structures to perform different tasks efficiently.
The sequence control structure executes statements one after another in the order they are written.
This is the default execution method in Python.
The selection control structure is used for decision making. It executes different blocks of code based
on conditions using statements like if, if-else, and if-elif-else.
The iteration control structure allows a block of code to be executed repeatedly. Python provides for
and while loops for iteration.
The case switch control structure is used to handle multiple conditions efficiently. Python uses the
match-case statement for this purpose.
A nested control structure occurs when one control structure is placed inside another, such as an if
statement inside a loop. These structures help in solving complex problems logically.
17 (a) Classify various operators in Python based on their functionality with examples
Operators in Python are special symbols or keywords that are used to perform operations on
operands such as variables and values. Based on their functionality, Python operators are
classified into different categories to perform arithmetic calculations, comparisons, logical
operations, assignments, and other tasks.
1. Arithmetic Operators
Arithmetic operators are used to perform basic mathematical operations.
They include addition (+), subtraction (-), multiplication (*), division (/), modulus (%), floor
division (//), and exponentiation (**).
Example:
a = 10
b = 3
print(a + b)
print(a % b)
print(a ** b)
2. Relational (Comparison) Operators
Relational operators compare two values and return either True or False.
These include greater than (>), less than (<), equal to (==), not equal to (!=), greater than or
equal to (>=), and less than or equal to (<=).
3. Logical Operators
Logical operators are used to combine conditional statements.
The operators are and, or, and not.
4. Assignment Operators
Assignment operators are used to assign and update values in variables.
Examples include =, +=, -=, *=, /=.
5. Bitwise Operators
Bitwise operators perform operations at the binary level.
They include &, |, ^, ~, <<, >>.
6. Membership Operators
Membership operators check whether a value exists in a sequence such as a list or string.
They are in and not in.
7. Identity Operators
Identity operators check whether two variables point to the same memory object.
They are is and is not.
Thus, operators form the backbone of Python expressions and logic building
17 (b) Demonstrate how input and output functions work in Python programs
Input and output functions are used for user interaction in Python programs. The input() function is
used to accept data from the user. By default, it accepts input as a string, which can be converted
into other data types if required.
The print() function is used to display output on the screen. It can print strings, numbers, and
multiple values. Python also supports formatted output and escape characters.
Example:
Code
name = input("Enter your name: ")
age = int(input("Enter your age: "))
print("Name:", name)
print("Age:", age)
18 (a.i) Apply control statements to develop a program that checks whether
a number is even or odd
Control statements are used to control the flow of execution in a program. The if-else
control statement is used to make decisions based on conditions.
A number is considered even if it is divisible by 2, otherwise it is odd. The modulo operator %
is used to find the remainder.
Program:
num = int(input("Enter a number: "))
if num % 2 == 0:
print("The given number is Even")
else:
print("The given number is Odd")
The condition checks the remainder when the number is divided by 2 and displays the result
accordingly.
18 ([Link]) Build a Python program using loops to display all prime numbers
within a given range
A prime number is a natural number greater than 1 that has exactly two factors: 1 and itself.
Loops are used to repeatedly check divisibility.
Program:
for num in range(2, 100):
for i in range(2, num):
if num % i == 0:
break
else:
print(num)
The outer loop selects each number, and the inner loop checks whether it has any divisors
other than 1 and itself.
18 (b.i) Plan a Python function to calculate and return the area of a circle
using default parameters
A function with default parameters allows values to be assigned automatically if no
arguments are passed during function call.
The formula for area of a circle is:
Area = π × r²
Program:
def area_circle(radius=1):
area = 3.14 * radius * radius
return area
print(area_circle())
print(area_circle(7))
If no radius is given, the default value is used.
18 ([Link]) Make use of string slicing and functions to reverse a given string
Strings in Python can be reversed using slicing or built-in functions. Slicing uses the syntax
[start:end:step].
Using slicing:
s = "Computer"
print(s[::-1])
Using built-in function:
s = "Computer"
print("".join(reversed(s)))
Both methods return the reversed string.
19 (a.i) Apply list operations to insert, update, and delete elements in a
Python list
Lists in Python are mutable data structures, meaning elements can be modified after creation.
Program:
numbers = [10, 20, 30]
[Link](40) # Insert
numbers[1] = 25 # Update
[Link](30) # Delete
print(numbers)
This program demonstrates insertion, updating, and deletion of list elements.
19 ([Link]) Build a program to find the largest and smallest numbers in a list
Python provides built-in functions max() and min() to find the largest and smallest values in
a list.
Program:
nums = [45, 12, 89, 23, 5]
print("Largest number:", max(nums))
print("Smallest number:", min(nums))
These functions simplify the process of finding extreme values.
19 (b) Utilize list slicing to extract specific elements and sublists from a
given list
List slicing is used to access a portion of a list without modifying the original list.
Syntax:
list[start : end : step]
Example:
lst = [1,2,3,4,5,6,7,8]
print(lst[2:5]) # Sublist
print(lst[:4]) # From beginning
print(lst[::2]) # Alternate elements
print(lst[::-1]) # Reverse list
List slicing is useful for data extraction, analysis, and manipulation.
20 (a.i) Design a Python program to read data from a file and write the
output into another file
File handling allows permanent storage of data. A file is opened in read mode to read data
and in write mode to write data.
Program:
source = open("[Link]", "r")
destination = open("[Link]", "w")
data = [Link]()
[Link](data)
[Link]()
[Link]()
20 ([Link]) Compose a program to combine the contents of two files into one
output file
Program:
f1 = open("[Link]", "r")
f2 = open("[Link]", "r")
f3 = open("[Link]", "w")
[Link]([Link]())
[Link]("\n")
[Link]([Link]())
[Link]()
[Link]()
[Link]()
This program merges the contents of two files into one.
20 (b) Create a Python script that reads student data and stores it in a
formatted text file
This program demonstrates file creation, writing formatted data, and storing student
information permanently.
Program:
name = input("Enter student name: ")
roll = input("Enter roll number: ")
dept = input("Enter department: ")
marks = input("Enter marks: ")
file = open("[Link]", "w")
[Link]("STUDENT INFORMATION\n")
[Link]("-------------------\n")
[Link]("Name : " + name + "\n")
[Link]("Roll No : " + roll + "\n")
[Link]("Department : " + dept + "\n")
[Link]("Marks : " + marks + "\n")
[Link]()
This program creates a formatted text file with student details.