Senior Secondary (HKDSE) · Information and Communication Technology

Algorithm Design: Practice Questions

5 multiple-choice questions marked as you go, and 5 written questions with worked solutions. All on Algorithm Design.

10 questions26 marksFree, no account
Question 1
1 mark

In Algorithm Design, which of the following is considered a simple data structure rather than a basic data type?

Question 2
1 mark

A medical application records a patient's body temperature (e.g., \( 36.5 \)), whether they have a fever (True/False), and their unique patient code (e.g., "P105"). Which combination of data types is most appropriate for these three items respectively?

Question 3
1 mark

A flowchart for a membership system uses the following logic to determine a discount rate based on Points:

- If Points > 1000, then Discount = 0.2.
- Else if Points > 500, then Discount = 0.1.
- Otherwise, Discount = 0.05.

If the input Points is exactly \( 1000 \), what is the outputted Discount?

Question 4
1 mark

Which of the following is a fundamental control structure used in Algorithm Design to represent a choice between two or more execution paths based on a condition?

Question 5
1 mark

A programmer wants to write an algorithm that repeatedly asks the user for a positive number until a number greater than 100 is entered. Which control structure is most appropriate for implementing this requirement?

Question 6
2 marks

In Algorithm Design, which logical operator should be used to combine two Boolean conditions such that the resulting expression is True only if both individual conditions are True?

Write your answer out first, then check it against the worked solution.

Question 7
3 marks

Consider the following pseudocode involving an integer variable \( N \):

SET N TO 15
IF (N MOD 3 == 0) AND (N > 10) THEN
  PRINT "Alpha"
ELSE
  PRINT "Beta"
END IF

What will be the output of this algorithm?

Write your answer out first, then check it against the worked solution.

Question 8
5 marks

Design a pseudocode algorithm that accepts three integer inputs, A, B, and C, and prints "All equal" if all three are the same, otherwise prints "Not all equal".

Write your answer out first, then check it against the worked solution.

Question 9
3 marks

In Algorithm Design, choosing the correct data types and control structures is vital for efficiency. Answer the following questions regarding algorithm fundamentals.

(a) State one difference between an integer data type and a real data type. (1 mark)

(b) Which control structure (Sequence, Selection, or Iteration) is most suitable for an algorithm that needs to check if a student's mark is above \(50\) to determine a pass or fail? (1 mark)

(c) Determine the final value of the variable total after the following pseudocode is executed:
total = 20
num = 8
IF \(num + 5 < 15\) THEN
total = total * 2
ELSE
total = total + 10
END IF (1 mark)

Write your answer out first, then check it against the worked solution.

Question 10
8 marks

A programming contest stores the scores of 5 participants in a 1-dimensional array MARKS: [65, 42, 88, 65, 92]. Assume the array is 1-indexed and that the value -1 represents a null state.


(a) Complete a trace table for the following algorithm to determine the final values of X and Y as it processes the array. (4 marks)


1. X = MARKS[1]
2. Y = -1
3. FOR I FROM 2 TO 5 DO
4.   IF MARKS[I] > X THEN
5.     Y = X
6.     X = MARKS[I]
7.   ELSE IF (MARKS[I] > Y) AND (MARKS[I] < X) THEN
8.     Y = MARKS[I]
9.   END IF
10. END FOR


(b) Based on your trace table, identify the logical purpose of the variable Y at the end of the algorithm. (1 mark)


(c) If the number of participants increases to a large value, such as \(N = 1,000,000\), and the MARKS array is sorted, which search algorithm would be most efficient to locate a specific score? Justify your answer by comparing its performance to a linear search. (2 marks)


(d) State one programming style, such as those related to documentation or layout, that should be applied to the pseudocode above to make it easier for other developers to maintain. (1 mark)

Write your answer out first, then check it against the worked solution.

* The content provided by thinka is generated by AI and may not always be accurate or up-to-date. Please use it as a supplementary resource and verify with official materials.

You've seen the model answer. Now get yours marked.

This page can show you how a good answer looks. It cannot tell you what your answer was missing. thinka marks your written work against the real mark scheme in about 15 seconds.

Want more questions like these? Get a fresh set on this topic, marked as you go.

Practise More