An algorithm, written using pseudo-code, processes telemetry data stored in an array of RECORD structures to find the lowest valid temperature recording.
RECORD TelemetryPacket
timestamp : Integer
sensorID : String
temperature : Real
isValid : Boolean
ENDRECORD
packet1 ← TelemetryPacket(1609459200, "SEN01", -45.2, True)
packet2 ← TelemetryPacket(1609459260, "SEN02", 12.8, True)
packet3 ← TelemetryPacket(1609459320, "SEN01", -18.4, True)
packet4 ← TelemetryPacket(1609459380, "SEN03", 25.1, False)
packet5 ← TelemetryPacket(1609459440, "SEN02", -3.0, True)
sensorData ← [packet1, packet2, packet3, packet4, packet5]
i ← 0
minTemp ← 999.0
minIndex ← -1
WHILE i < X1 DO
IF sensorData[i].isValid AND sensorData[i].temperature < minTemp THEN
minTemp ← sensorData[i].temperature
minIndex ← i
ENDIF
i ← i + 1
ENDWHILE
OUTPUT "Lowest valid temperature is ", minTemp
What should the placeholder X1 be replaced by to ensure all elements of sensorData are processed without causing an out-of-bounds error?
LEN(sensorData) - 1
LEN(sensorData)
LEN(sensorData) + 1
i