An automated greenhouse ventilation system uses the following algorithm to control sensors and actuators, but it does not make efficient use of selection structures.
1 WHILE (systemActive = True) DO
2
3 RECEIVE tempSensor FROM TEMP_SENSOR
4 IF (tempSensor > 25) THEN
5 SET fanStatus TO "On"
6 END IF
7
8 RECEIVE humiditySensor FROM HUMIDITY_SENSOR
9 IF (humiditySensor < 40) THEN
10 SET misterStatus TO "On"
11 END IF
12
13 RECEIVE lightSensor FROM LIGHT_SENSOR
14 IF (lightSensor < 200) THEN
15 SET lightStatus TO "On"
16 END IF
17
18 IF (tempSensor <= 25) THEN
19 SET fanStatus TO "Off"
20 END IF
21
22 IF (humiditySensor >= 40) THEN
23 SET misterStatus TO "Off"
24 END IF
25
26 IF (lightSensor >= 200) THEN
27 SET lightStatus TO "Off"
28 END IF
29
30 END WHILE
Write replacement code to control the greenhouse fan (fanStatus) that would improve the efficiency of this algorithm.
159 exam-style questions on Edexcel GCSE Computer Science Algorithms, covering Constructs for solving problems, Variables, constants and data structures, Arithmetic, relational and logical operators, Tracing algorithm output with trace tables, Types of error and correcting logic errors, Standard algorithms (sorts and searches), and Evaluating algorithm fitness and efficiency. Each one has a worked solution and a mark scheme showing where the marks go.