Skip to content
MathsGenie logo
Open app

Course home

  1. GCSE
  2. Computer Science AQA
  3. Question bank

Programming concepts

EasyMediumHard
123456789101112131415161718192021222324252627282930313233343536373839
Question 37

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

Programming concepts Questions

  1. GCSE
  2. /Computer Science
  3. /Programming concepts