Back to homeTechnology · 4th ESO A · Change subject
Start for free
Notes

Exercises: Programming controller boards

Practice★☆☆
Explain what an algorithm is and what a program is, and what difference there is between describing it in pseudocode (using words) and with visual blocks.

Explain what an algorithm is and what a program is, and what difference there is between describing it in pseudocode (using words) and with visual blocks.

Solve
Practice★☆☆
The program instructions for a set of traffic lights are out of order: (a) wait 2 seconds, (b) turn on the red light and turn off the others, (c) turn on the green light…

The program instructions for a set of traffic lights are out of order: (a) wait 2 seconds, (b) turn on the red light and turn off the others, (c) turn on the green light and turn off the others, (d) return to the start, (e) wait 8 seconds (appears twice in the cycle), (f) turn on the amber light and turn off the others. Put them in the correct order and describe what the complete program does.

Solve
Practice★☆☆
The flowchart in the figure controls a car park entry barrier, but the question inside the decision diamond is missing. Write the condition that should be checked there…

The flowchart in the figure controls a car park entry barrier, but the question inside the decision diamond is missing. Write the condition that should be checked there and describe the complete behaviour of the barrier.

Start Read push button ? yes Raise barrier Wait 5 s Lower barrier no
Solve
Practice★☆☆
Explain what "reading an input" means in a control program and what difference there is between reading a push button (which gives 0 or 1) and reading a light sensor…

Explain what "reading an input" means in a control program and what difference there is between reading a push button (which gives 0 or 1) and reading a light sensor (which gives a number within a range).

Solve
Practice★☆☆
A program consists of only these lines: "repeat forever: read the push button; if pressed, turn on LED; else, turn off LED". Describe in your own words what the setup…

A program consists of only these lines: "repeat forever: read the push button; if pressed, turn on LED; else, turn off LED". Describe in your own words what the setup does and reason what would happen if the "else, turn off LED" part were deleted.

Solve
Practice★☆☆
Explain what a conditional statement ("if... then... else...") is and write the condition needed for these two warnings: an alarm that sounds when a door opens and an…

Explain what a conditional statement ("if... then... else...") is and write the condition needed for these two warnings: an alarm that sounds when a door opens and an alert that beeps when the temperature exceeds $40\ ^\circ\text{C}$.

Solve
Practice★☆☆
What is the purpose of the "wait" command (a delay) in a control program? Give two examples in which, without that delay, the system would not perform its function.

What is the purpose of the "wait" command (a delay) in a control program? Give two examples in which, without that delay, the system would not perform its function.

Solve
Practice★☆☆
Explain why almost all programs for controller boards contain a loop ("repeat forever") and describe what a set of traffic lights would do if its program did not have a…

Explain why almost all programs for controller boards contain a loop ("repeat forever") and describe what a set of traffic lights would do if its program did not have a loop.

Solve
Practice★★☆
Write in pseudocode the complete program for a simple set of traffic lights: green for 8 seconds, amber for 2, red for 8, and repeat. Indicate at each step which lights…

Write in pseudocode the complete program for a simple set of traffic lights: green for 8 seconds, amber for 2, red for 8, and repeat. Indicate at each step which lights are on and which are off.

Solve
Practice★★☆
A stair light works as follows: pressing the button turns it on; after 30 seconds it turns off automatically; and the cycle can be repeated. Draw or describe its…

A stair light works as follows: pressing the button turns it on; after 30 seconds it turns off automatically; and the cycle can be repeated. Draw or describe its flowchart and then write the corresponding pseudocode.

You can do it on paper and send a photo with your answer.

Solve
Practice★★☆
The flowchart in the figure shows the program for a single-sensor line-following robot tracking the edge of the line, but the condition inside the decision diamond is…

The flowchart in the figure shows the program for a single-sensor line-following robot tracking the edge of the line, but the condition inside the decision diamond is missing. Complete it, describe what the robot does in each case, and reason what will happen when the line ends.

Start Read sensor ? yes Turn to the left no Turn to the right
Solve
Practice★★☆
A car park barrier should only raise when a car is waiting (sensor) and the driver has also taken the ticket (push button); it lowers once the car has passed (a second…

A car park barrier should only raise when a car is waiting (sensor) and the driver has also taken the ticket (push button); it lowers once the car has passed (a second sensor). Write the complete pseudocode for the cycle, combining both conditions at once.

Solve
Practice★★☆
A home alarm, upon detecting an open door, waits 10 seconds before sounding to allow time to disarm it using a passcode. Write its pseudocode including the passcode…

A home alarm, upon detecting an open door, waits 10 seconds before sounding to allow time to disarm it using a passcode. Write its pseudocode including the passcode check and explain the purpose of this delay.

Solve
Practice★★☆
A program counts cars: "repeat forever: wait for sensor to change from 0 to 1; add 1 to cars variable". Explain what it does, what purpose it serves, and what problem…

A program counts cars: "repeat forever: wait for sensor to change from 0 to 1; add 1 to cars variable". Explain what it does, what purpose it serves, and what problem arises if a car stops right over the sensor.

Solve
Practice★★☆
A fan control program states: "if temperature is greater than $26\ ^\circ\text{C}$, turn off fan; if less than $26\ ^\circ\text{C}$, turn on fan". Describe the actual…

A fan control program states: "if temperature is greater than $26\ ^\circ\text{C}$, turn off fan; if less than $26\ ^\circ\text{C}$, turn on fan". Describe the actual behaviour of the fan and write the corrected program.

Solve
Practice★★☆
In a pedestrian light system, the program reads the push button only once during each 30-second cycle. Explain what the pedestrian experiences upon pressing it and…

In a pedestrian light system, the program reads the push button only once during each 30-second cycle. Explain what the pedestrian experiences upon pressing it and reason why long delays within the program affect the response speed of the system.

Solve
Practice★★★
The flowchart in the figure controls a car park exit barrier, with a sensor positioned beneath the barrier, but one of the conditions is missing. Complete it, describe…

The flowchart in the figure controls a car park exit barrier, with a sensor positioned beneath the barrier, but one of the conditions is missing. Complete it, describe the overall behaviour, and explain what accident this second check prevents.

Start Car waiting? no yes Raise barrier ? no yes Lower barrier
Solve
Practice★★★
A robotics team is testing a line-following robot with two infrared sensors (L and R) spaced 2,0 cm apart, designed to follow a 1,5 cm black line on a white background.…

A robotics team is testing a line-following robot with two infrared sensors (L and R) spaced 2,0 cm apart, designed to follow a 1,5 cm black line on a white background. The current program applies classic logic: move straight if both see white, turn right if R steps on black, and turn left if L steps on black.

  1. a) Predict what will happen on a very sharp 90° turn if the robot enters fast and both sensors end up simultaneously on the white background off the line. Justify why the basic algorithm fails.
  2. b) Design in pseudocode an improvement that uses a memory variable (last_seen) so the robot knows which way to turn when it completely loses the line.
  3. c) If the track had a wide black line of 3,5 cm (wider than the distance between sensors), predict the robot's behavior on a straight section and explain what additional condition you should program to handle when both sensors detect black at the same time.
Solve
Practice★★★
An installer programs a home alarm control unit with a magnetic sensor on the door, another on the window, and an arming switch using this algorithm: a) Analyze the code…

An installer programs a home alarm control unit with a magnetic sensor on the door, another on the window, and an arming switch using this algorithm:

repeat forever:

    if (armed == TRUE) and (door == OPEN or window == OPEN) then:

        activate_siren()

        wait(60) // seconds

        deactivate_siren()
  1. a) Analyze the code and explain two critical security flaws: what happens if an intruder opens the window, enters, and closes it again within 3,0 s? And what happens if the 60 s elapse and the intruder is still inside with the window open?
  2. b) Design in pseudocode a robust algorithm with state variables that ensures: 1) once triggered, the siren will sound for at least 60 s even if the access point is closed again; 2) it will not turn off as long as any sensor remains open; and 3) if the user turns off the arming switch, the siren will stop immediately at any moment.
Solve
Practice★★★
A student programs the lighting for a communal staircase: when the switch is pressed, the light must stay on for 30 s and then turn off. a) If the student implements the…

A student programs the lighting for a communal staircase: when the switch is pressed, the light must stay on for 30 s and then turn off.

  1. a) If the student implements the delay with a blocking function such as wait(30), predict what will happen if a second neighbor presses the switch 15 s after the light has turned on. Does this behavior fulfill the function of a resettable staircase timer? Justify your answer.
  2. b) Design in pseudocode a non-blocking resettable system using a time_remaining variable and periodic checks (for example, every 1,0 s), so that each new press resets the countdown to 30 s without turning the light off.
  3. c) Predict what risk exists if a physical push-button gets stuck and remains permanently activated, and propose a logical modification to prevent the light from staying on indefinitely.
Solve
Practice★★★
To control a vehicle traffic light that includes a pedestrian demand push button, two programming structures are compared: Option A (linear sequential): loop with…

To control a vehicle traffic light that includes a pedestrian demand push button, two programming structures are compared:

  • Option A (linear sequential): loop with successive blocking calls wait(t) (green 30 s, amber 3 s, red 15 s).

  • Option B (state machine): the system remains in the CARS_GREEN state and only transitions state if the pedestrian push button signal is detected.

  1. a) Justify why Option A is inadequate to respond immediately to a pedestrian pressing the button and what response flaw it will cause.
  2. b) If you are asked to add a new function ("the pedestrian green light must flash 3 times for 3,0 s before turning red, but only if the sensor for visually impaired people is not active"), explain what modularity and maintenance advantages Option B presents compared to Option A.
  3. c) Design the state diagram or general pseudocode for Option B, clearly identifying the states, input events, and actions associated with each transition.
Solve
Practice★★★
The control system of an automatic toll barrier has a presence sensor 1 (just before the barrier) and a sensor 2 (just after). An operator proposes this code: a) Predict…

The control system of an automatic toll barrier has a presence sensor 1 (just before the barrier) and a sensor 2 (just after). An operator proposes this code:

repeat forever:

    if (sensor_1 == DETECTED) then:

        raise_barrier()

    if (sensor_1 == CLEAR) then:

        lower_barrier()
  1. a) Predict what accident will physically occur as soon as the front of the car passes sensor 1 if the rear part is still under the barrier. Justify why the operator's proposal to "add a 5,0 s pause before lowering" does not solve the problem with slow traffic or articulated vehicles.
  2. b) Design in pseudocode a safe algorithm that uses both sensors to ensure that the barrier raises when the vehicle arrives, stays up as long as either of the two sensors detects presence, and only lowers when the vehicle has completely cleared sensor 2.
Solve
Practice★★★
In a drawbridge driven by an electric gearmotor, it is proposed to replace the two physical limit switches (ls_down and ls_up) with a control based exclusively on…

In a drawbridge driven by an electric gearmotor, it is proposed to replace the two physical limit switches (ls_down and ls_up) with a control based exclusively on timing: running the motor for 5,0 s to open and 5,0 s to close.

  1. a) Predict and justify at least two real-world situations (mechanical, meteorological, or electrical) why this timed system will cause the bridge to fail to close completely or end up damaging the motor.
  2. b) Design in pseudocode the complete operating cycle: upon detecting a boat, turn the road traffic light red, wait 3,0 s for clearance, raise the bridge up to ls_up, allow river passage with a green nautical traffic light and, when the boat leaves, close down to ls_down.
  3. c) Incorporate into your algorithm a safety mechanism based on maximum time (watchdog): if more than 8,0 s elapse without the corresponding limit switch being triggered during the movement, the motor must stop immediately and activate a warning light.
Solve
Practice★★★
To automate the watering of a school garden, an analog moisture sensor and an electric pump are available. A first program applies this rule: "repeat forever: if…

To automate the watering of a school garden, an analog moisture sensor and an electric pump are available. A first program applies this rule: "repeat forever: if moisture < 30,0 %, turn pump on; else, turn pump off; wait 1 second".

  1. a) If the sensor reading rapidly fluctuates between 29,8 % and 30,2 % due to localized absorption or electrical noise, predict how the electric pump will behave and what mechanical and electrical consequences it will have.
  2. b) Explain why replacing the wait with "wait 10 minutes" does not guarantee optimal watering either (analyze the delay in water infiltration and the risk of over-irrigation).
  3. c) Design a solution using hysteresis control: define two different logical moisture thresholds (start and stop) and write the structured pseudocode or describe in detail the corresponding flowchart, justifying why it prevents constant switching.
Solve