Answers 2
Answers 2
End-of-topic questions 3
1. Name three types of control structures that are commonly used in
programming languages.
A. Sequencing, selection and repetition.
2. State the difference between bounded iteration and unbounded iteration.
A. Bounded iteration is the repetition of a set of instructions a fixed number of
times; unbounded iteration is repeating a set of steps a number of times
until a particular condition becomes false.
3. Give one example of a statement used in the following control structures:
a. Selection
b. Bounded iteration
c. Unbounded iteration
A. a. if-then-else
b. for-endfor
c. while-endwhile
End-of-topic questions 4
1. For each of the following problem statements:
a. identify the input, output and processing steps.
b. write the algorithm.
- Write an algorithm to read three numbers and find their product.
A. a.
Input
Processing
Three
numbers
(num1,
num2,num3)
Accept numbers
Calculate product
Store results in
product
Display product
Output
Product
b. Step 1:
start
Step 2:
A. a.
Input
length, width
Processing
Accept length, width
Calculate area
Store results in area
Display area
Output
Area
b. Step 1:
start
Step 2:
Processing
Accept radius
Calculate circumference
Store results in
circumference
Display circumference
Output
circumference
b. Step 1:
start
Step 2: read radius
Step 3: circumference 2 * 3.14* radius
Step 4: write circumference
Step 5: stop
End-of-topic questions 5
1. Write a narrative algorithm that will accept the radius of a circle and
calculate and display its area.
A.
Input
radius
Processing
Accept radius
Calculate area
Store results in area
Display area
Output
area
Step 1:
Start
Step 2: Get
radius
Step 3: Calculate area by using the formula 3.14 * radius * radius and store it
in area
Step 4: Display the area
Step 5: Stop
2. Write a pseudocode algorithm that will accept three numbers and calculate
and display the largest of the three.
A.
Input
Three
numbers
Processing
Accept three
numbers
Calculate the total
Store results
Display the result
Output
Sum
Read a, b, c
Sum a+b+c
Write sum
3. Write a pseudocode algorithm that will accept the marks in a test for a group
of 25 students then calculate and display the average mark.
A.
Input
Three
numbers
Processing
Accept twenty-five
numbers
Calculate the total
Store results in sum
Calculate the average
Display the average
Output
Average
Total = 0
For I = 1 to 25
Read mark
Total = total +mark
Endfor
Average = total/25
Write average
4. Add steps to the previous algorithm so it also displays the highest mark.
A.
Largest = 0
For I = 1 to 25
Read mark
If mark>largest then
largest = mark
endif
Total = total +mark
Endfor
Average = total/25
Write average
start
read price
write vat
stop
read us
ec us *2.71
write ec
stop
c. Program to accept the length and width of a rectangle and calculate its
area.
start
write area
stop
End-of-topic questions 6
1. Draw flowcharts for the following:
a. A program that accepts 20 numbers and finds their product.
start
product = 1
numcount =0
read num
no
yes
is
numcount<=2
0
write product
stop
10
b. A program that accepts 45 numbers and finds the number of zeroes and
non-zeroes in them.
stop
numcount =0
poscount = 0
negcount =0
read num
yes
no
if
num>0
negcount= negcount+1
poscount =poscount +1
no
yes
is
numcount<=4
5
write product
stop
11
c. A program that accepts a set of integers and finds the number of positive
and negative numbers. The program stops when the user enters 0 for the
integer value.
stop
numcount =0
poscount = 0
negcount =0
read num
yes
if
num>0
poscount =poscount +1
yes
no
negcount= negcount+1
is
numcount<=4
5
no
write product
stop
12
d. A program that accepts a set of numbers and finds the smallest among
them. The program stops when the user enters 999 as the number.
start
smlst -1
read num
is
num< >999?
no = sum + num
yes
no =
sum
+
num
=
sum
Is
+
num>smlst?
num
read num
write sum
stop
13
5
10
3
15
18
36
The output will be 15, 18, 36
14
45
33
10
10
12
23
45
33
10
The output will be 45, 33, 10
15
7
1
8
6
14
5
19
4
23
3
26
2
28
1
29
0
The output will be 29.
16
End-of-topic questions 7
1. Create a trace table to determine the output of the following algorithms:
Step 1: x 5
Step 2: for i 1 to 10
set x = x + 5
endfor
Step 3: write x
A.
x
5
1
10
2
15
3
20
4
25
5
30
6
35
7
40
8
45
9
50
10
55
The output will be 55.
17
18
2. A hotel wants to have a room booking system. When a guest arrives the
receptionist would be able to see which rooms are free and allocate one to the
guest. When the guest leaves, the room would be marked as free again. Each
day the cleaners would be given a list of the rooms that are in use. At any time
the receptionist would be able to use the room number to find the name and
home address of a guest, or could search the room system for a named
guest. Draw a top-down design diagram to show how the room booking
system could be developed.
A.
Room booking
Room allocation
Cleaning tasks
Searches
Search for
name and
address of
guest
Search for
room
occupied by
guest
19
End-of-section questions
Multiple-choice questions
1. The following are problem-solving stages
I. analyse the problem
II. suggest possible solutions
III. implement and review
IV. define the problem
V. select the best solution
The correct order of stages is:
A I, IV, II, III, V
B IV, I, II, V, III
C IV, II, I, V, III
D I, II, IV, III, V
A. B
2. Which one of the following is a variable?
Ax
B x
C5
D 5
A. A
3. To store fractional values, use the data type:
A integer
B floating point
C character
D string
A. B
4. Which of the following is not a characteristic of a good algorithm?
A precise
B finite number of steps
C ambiguous
D logical flow of control
A. C
20
21
22
Structured questions
1 a. List the main stages of problem-solving process for computer-based
problem-solving.
b. For each of the stages identified in 1a above, briefly describe the activities
that are involved in it.
A. a. Stage 1: Definition of the problem
Stage 2: Analyse the problem
Stage 3: Propose and evaluate possible solutions
Stage 4: Develop and represent an algorithm
Stage 5: Test and validate the algorithm
Stage 6: Implement the algorithm
b. Stage 1: Definition of the problem
In this stage, the problem is looked at carefully and if it is not phrased
properly, it is modified to ensure that it is clearly stated.
Stage 2: Analyse the problem
In this stage, identify the inputs to be used, outputs required, values to
be stored (if any), and the processing that needs to be done to get the
correct outputs.
Stage 3: Propose and evaluate possible solutions
Here identify solutions to the problem and evaluate each option to see
which is most appropriate and choose the best option.
Stage 4: Develop and represent an algorithm
In this stage, break down the problem into simple manageable steps
called algorithm so that they can be handled easily.
Stage 5: Test and validate the algorithm
Here, check the algorithm written using some values to ensure that it
produces the required results.
Stage 6: Implement the algorithm
In this stage, write the steps of algorithm using a programming
language so that computer can operate on it.
23
2. IPO diagrams can be used to break down a problem into its components.
a. State what is meant by IPO diagrams?
b. Create an IPO chart for the following problem statement: Accept the
values of length and width of a rectangle and calculate its area
A. a. An IPO diagram is a table with three columns showing the input, output
and processing parts of the problem.
b.
Input
length and
width
Processing
Accept length and
width
Calculate area
Store results in area
Display area
output
Area
24
5. Write a pseudocode that prompts the user to enter a value and display its
square and cube values.
A. Step 1: start
Step 2: read num
Step 3: square num * num
Step 4: cube num * num* num
Step5: write square, cube
Step 6: stop
6. Draw a flowchart and write a pseudocode that will prompt the user to enter
two numbers and display their product.
A.
start
read n1,n2
prod = n1 * n2
write prod
stop
25
7. You need to calculate the area of rectangle using its length and width.
Draw a flowchart and write a pseudocode that will accept the length and
width and calculate and print the area of the rectangle. (area = length *
width)
A.
start
write area
stop
Step 1: start
Step 2: read length, width
Step 3: area length * width
Step 4: write area
Step 5: stop
26
8. Write a pseudocode that will accept 25 integers and displays the number
of positive and negative numbers.
A. Step 1: start
Step 2: poscount 0, negcount 0
Step 3: for i 1 to 25
Step 3: read num
Step 4: if num>0 then
poscount = poscount +1
else
negcount = negcount +1
endif
Step 5: endfor
Step 6: write poscount,negcount
9. a. Draw a trace table for the following algorithm:
b. What is printed by the algorithm?
x = 10
y = 20
z=5
x = x+y
y = x-y
z = z+x
x =y
y =z
z=x
print x, y, z
A. a.
x
1
0
2
0
5
3
0
1
0
3
5
27
1
0
3
5
1
0
b. The algorithm will print 10 35 10
1
0
1
5
2
0
2
5
4
5
28
9
0
2
2
5
5
b. The output will be 22 55 90
29