2 Mark PSPP QB
2 Mark PSPP QB
QUESTION BANK
Statements
Sequence
Selection or Conditional
Repetition or Control flow
Functions
4. Define statement. List its types.
Statements are instructions in Python designed as components for algorithmic problem
solving, rather than as one-to-one translations of the underlying machine language instruction
set of the computer.
There are three types of high-level programming language statements Input/output
statements make up one type of statement. An input statement collects a specific value from
the user for a variable within the program. An output statement writes a message or the value
of a program variable to the user’s screen.
5. Write the pseudo code to calculate the sum and product of two numbers and display
it.
INITIALIZE variables sum, product, number1, number2 of type real
PRINT “Input two numbers”
READ number1, number2
sum = number1 + number2
PRINT “The sum is “, sum
COMPUTE product = number1 * number2
PRINT “The Product is “, product
END program
6. How does flow of control work?
Control flow (or flow of control) is the order in which individual statements, instructions or
function calls of an imperative program are executed or evaluated. A control flow statement is
a statement in which execution results in a choice being made as to which of two or more
paths to follow.
7. What is a function?
Functions are "self-contained" modules of code that accomplish a specific task. Functions
usually "take in" data, process it, and "return" a result. Once a function is written, it can be used
over and over and over again. Functions can be "called" from the inside of other functions.
8. Write the pseudo code to calculate the sum and product displaying the answer on the
monitor screen.
INITIALIZE variables sum, product, number1, number2 of type real
PRINT “Input two numbers”
READ number1, number2
sum = number1 + number2
PRINT “The sum is “, sum
COMPUTE product = number1 * number2
PRINT “The Product is “, product
END program
9. Give the rules for writing Pseudo codes.
Write one statement per line.
Capitalize initial keywords.
Indent to show hierarchy.
End multiline structure.
Keep statements to be language independent.
10. Give the difference between flowchart and pseudo code.
Flowchart and Pseudo code are used to document and represent the algorithm. In other words,
an algorithm can be represented using a flowchart or a pseudo code. Flowchart is a graphical
representation of the algorithm. Pseudo code is a readable, formally styled English like language
representation of the algorithm.
11. Define a flowchart.
A flowchart is a diagrammatic representation of the logic for solving a task. A flowchart is
drawn using boxes of different shapes with lines connecting them to show the flow of control. The
purpose of drawing a flowchart is to make the logic of the program clearer in a visual form.
12. Give an example of
iteration. a = 0
for i from 1 to 3 // loop three times
{
a=a+i // add the current value of i to a
}
print a // the number 6 is printed (0 + 1; 1 + 2; 3 + 3)
13. Write down the rules for preparing a flowchart.
While drawing a flowchart, some rules need to be followed—
(1) A flowchart should have a start and end,
(2) The direction of flow in a flowchart must be from top to bottom and left to right
(3) The relevant symbols must be used while drawing a flowchart.
14. List the categories of Programming languages.
Programming languages are divided into the following categories:
Interpreted, Functional, Compiled, Procedural, Scripting, Markup, Logic-Based, Concurrent
and Object-Oriented Programming Languages
15. Mention the characteristics of an algorithm.
Algorithm should be precise and unambiguous.
Instruction in an algorithm should not be repeated infinitely.
Ensure that the algorithm will ultimately terminate.
Algorithm should be written in sequence.
Algorithm should be written in normal English.
Desired result should be obtained only after the algorithm terminates.
16. Compare machine language, assembly language and high-level language.
Machine language is a collection of binary digits or bits that the computer reads and
interprets. This language is not easily understandable by the human.
An assembly language directly controls the physical hardware. A program written in assembly
language consists of a series of instructions mnemonics that correspond to a stream of executable
instructions, when translated by an assembler can be loaded into memory and executed. The
programs written in this language are not portable and the debugging process is also not very
easy.
A high level language is much more abstract, that must be translated or compiled in to
machine language. It is easily understandable and the programs are portable. Debugging the code is
easyand the program written is not machine dependent.
17. What is the difference between algorithm and pseudo code?
An algorithm is a systematic logical approach used to solve problems in a computer
while pseudo code is the statement in plain English that may be translated later to a
programming language. Pseudo code is the intermediary between algorithm and program.
18. List out the simple steps to develop an algorithm.
Algorithm development process consists of five major steps.
Step 1: Obtain a description of the problem.
Step 2: Analyze the problem.
Step 3: Develop a high-level algorithm.
Step 4: Refine the algorithm by adding more detail.
Step 5: Review the algorithm.
19.Give the differences between recursion and iteration.
Recursion Iteration
Function calls itself until the base condition is Repetition of process until the condition fails.
reached.
Only base condition (terminating condition) is It involves four steps: initialization, condition,
specified. execution and updation.
It keeps our code short and simple. Iterative approach makes our code longer.
It is slower than iteration due to overhead of Iteration is faster.
maintaining stack.
It takes more memory than iteration due to Iteration takes less memory.
overhead of maintaining stack.
20. What are advantages and disadvantages of recursion?
Advantages Disadvantages
Recursive functions make the code look clean Sometimes the logic behind recursion is hard to
and elegant. follow through.
A complex task can be broken down into Recursive calls are expensive (inefficient) as
simpler sub-problems using recursion. they take up a lot of memory and time.
Sequence generation is easier with recursion Recursive functions are hard to debug.
than using some nested iteration.
elif is an abbreviation of “else if.” Again, exactly one branch will be executed. There is no limit
on the number of elif statements. If there is an else clause, it has to be at the end, but there
doesn’t have to be one.
9. Explain while loop and for
loop with example. Eg:
def countdown(n):
while n > 0:
print n
n = n-1
print 'Blastoff!'
More formally, here is the flow of execution for a while statement:
1. Evaluate the condition, yielding True or False.
2. If the condition is false, exit the while statement and continue execution at the next statement.
3. If the condition is true, execute the body and then go back to step 1
For loop:
The general form of a for statement is
Syntax:
for variable in sequence:
code block
Eg:
x=4
for i in range(0, x):
print i
10. What is a break statement?
When a break statement is encountered inside a loop, the loop is immediately terminated
and the program control resumes at the next statement following the loop.
Eg:
while True:
line = raw_input('>')
if line == 'done':
break
print line
print'Done!'
11. What is a continue statement?
The continue statement works somewhat like a break statement. Instead of forcing
termination, it forces the next iteration of the loop to take place, skipping any code in between.
Eg:
for num in range(2,10):
if num%2==0;
print “Found an even number”, num
continue
print “Found a number”, num
Program: Output:
import string upper => MONTY PYTHON'S FLYING
text = "Monty Python's Flying Circus" CIRCUS
print "upper", "=>", string.upper(text) lower => monty python's flying circus
print "lower", "=>", string.lower(text) split => ['Monty', "Python's", 'Flying', 'Circus']
print "split", "=>", string.split(text) join => Monty+Python's+Flying+Circus
print "join", "=>", string.join(string.split(text), replace => Monty Java's Flying Circus
"+") find => 6 -1
print "replace", "=>",string.replace(text, count => 3
"Python", "Java")
print "find", "=>", string.find(text, "Python"),
string.find(text, "Java")
print "count", "=>", string.count(text, "n")