Bird
Raised Fist0
Drone Programmingprogramming~20 mins

Barometer for altitude in Drone Programming - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Barometer Altitude Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
1:30remaining
Calculate altitude from pressure reading
Given the barometric pressure reading in Pascals, what is the altitude in meters calculated by the formula?

Altitude = 44330 * (1 - (pressure / 101325)^(1/5.255))

What is the output of this code snippet?
Drone Programming
pressure = 90000
altitude = 44330 * (1 - (pressure / 101325) ** (1/5.255))
print(round(altitude))
A1000
B1115
C900
D1200
Attempts:
2 left
💡 Hint
Use the formula carefully and round the result to the nearest integer.
🧠 Conceptual
intermediate
1:30remaining
Understanding barometer altitude calculation assumptions
Which assumption is NOT true when using a barometer to calculate altitude from pressure?
ATemperature is constant in the air column
BPressure decreases exponentially with altitude
CHumidity has no effect on pressure readings
DSea level pressure is known and constant
Attempts:
2 left
💡 Hint
Think about what environmental factors affect air pressure.
🔧 Debug
advanced
2:00remaining
Fix the altitude calculation code with wrong operator
This code is intended to calculate altitude from pressure but produces a wrong result. What is the error?
Drone Programming
pressure = 85000
altitude = 44330 * (1 - pressure / 101325) ** (1/5.255)
print(round(altitude))
AThe pressure value is too low, causing negative altitude
BThe print statement is missing parentheses
CThe formula uses addition instead of subtraction
DThe exponentiation applies only to the division, not the whole expression; parentheses are missing
Attempts:
2 left
💡 Hint
Check operator precedence and grouping in the formula.
📝 Syntax
advanced
1:30remaining
Identify the syntax error in altitude calculation snippet
Which option contains a syntax error that prevents the altitude calculation code from running?
Drone Programming
pressure = 95000
altitude = 44330 * (1 - (pressure / 101325) ** (1/5.255))
print(round(altitude))
Aaltitude = 44330 * (1 - (pressure / 101325) ** 1/5.255)
Baltitude = 44330 * (1 - (pressure / 101325) ** (1/5.255))
C))552.5/1( ** )523101 / erusserp( - 1( * 03344 = edutitla
Daltitude = 44330 * (1 - (pressure / 101325) ** (1//5.255))
Attempts:
2 left
💡 Hint
Look carefully at operator precedence and parentheses.
🚀 Application
expert
2:30remaining
Calculate altitude difference from two pressure readings
You have two pressure readings from a drone's barometer at two different points:
Pressure1 = 101325 Pa (sea level)
Pressure2 = 90000 Pa (higher altitude)

Using the formula:
Altitude = 44330 * (1 - (pressure / 101325)^(1/5.255))

What is the altitude difference between the two points?
A1115 meters
B0 meters
C900 meters
D1500 meters
Attempts:
2 left
💡 Hint
Calculate altitude for each pressure then subtract.

Practice

(1/5)
1. What does a barometer measure to help a drone find its altitude?
easy
A. Battery level
B. Temperature
C. Wind speed
D. Air pressure

Solution

  1. Step 1: Understand barometer function

    A barometer measures air pressure, which changes with altitude.
  2. Step 2: Connect air pressure to altitude

    Lower air pressure means higher altitude, so drones use this to estimate height.
  3. Final Answer:

    Air pressure -> Option D
  4. Quick Check:

    Barometer = Air pressure [OK]
Hint: Barometer always measures air pressure, not temperature or speed [OK]
Common Mistakes:
  • Confusing barometer with thermometer
  • Thinking it measures wind speed
  • Assuming it measures GPS signals
2. Which of the following is the correct way to read a barometer sensor value in drone code?
easy
A. altitude = barometer.readAltitude()
B. pressure = barometer.getTemperature()
C. pressure = barometer.readPressure()
D. altitude = barometer.getSpeed()

Solution

  1. Step 1: Identify correct method for pressure reading

    The method readPressure() is used to get air pressure from the barometer.
  2. Step 2: Check other options for correctness

    getTemperature() reads temperature, readAltitude() may not exist, and getSpeed() is unrelated.
  3. Final Answer:

    pressure = barometer.readPressure() -> Option C
  4. Quick Check:

    Read pressure with readPressure() [OK]
Hint: Pressure reading uses readPressure(), not temperature or speed [OK]
Common Mistakes:
  • Using temperature method instead of pressure
  • Assuming altitude is directly read
  • Calling non-existent getSpeed() method
3. Given this code snippet, what will be printed?
pressure = 101325
altitude = 44330 * (1 - (pressure / 101325) ** 0.1903)
print(round(altitude))
medium
A. 0
B. 44330
C. 101325
D. 1903

Solution

  1. Step 1: Understand the formula and input

    The pressure is 101325 Pa, which is sea level standard pressure.
  2. Step 2: Calculate altitude

    Substitute pressure: (pressure / 101325) = 1, so (1) ** 0.1903 = 1, then 1 - 1 = 0, so altitude = 44330 * 0 = 0.
  3. Final Answer:

    0 -> Option A
  4. Quick Check:

    Sea level pressure gives altitude 0 [OK]
Hint: At sea level pressure, altitude formula returns zero [OK]
Common Mistakes:
  • Misapplying exponent
  • Ignoring that pressure equals standard pressure
  • Confusing units
4. Find the error in this altitude calculation code:
pressure = barometer.readPressure()
altitude = 44330 * (1 - (pressure / 101325) ** 1.903)
print(altitude)
medium
A. Exponent should be 0.1903, not 1.903
B. Pressure should be divided by 100000, not 101325
C. Missing parentheses around pressure division
D. Altitude formula should multiply by pressure, not subtract

Solution

  1. Step 1: Check the exponent value in formula

    The correct exponent in the barometric formula is approximately 0.1903, not 1.903.
  2. Step 2: Understand impact of wrong exponent

    Using 1.903 will give incorrect altitude values, making the calculation invalid.
  3. Final Answer:

    Exponent should be 0.1903, not 1.903 -> Option A
  4. Quick Check:

    Exponent = 0.1903 for altitude formula [OK]
Hint: Check exponent carefully; 0.1903 is standard for altitude [OK]
Common Mistakes:
  • Typing 1.903 instead of 0.1903
  • Changing pressure divisor incorrectly
  • Misplacing parentheses
5. You want to estimate altitude using a barometer when GPS is unavailable. Which approach correctly converts pressure to altitude in your drone program?
def pressure_to_altitude(pressure):
    sea_level_pressure = 101325
    altitude = 44330 * (1 - (pressure / sea_level_pressure) ** 0.1903)
    return round(altitude)

current_pressure = barometer.readPressure()
print(pressure_to_altitude(current_pressure))
hard
A. The sea level pressure should be updated dynamically inside the function
B. This code correctly converts pressure to altitude using the standard formula
C. The formula should use addition instead of subtraction inside parentheses
D. The function should return pressure, not altitude

Solution

  1. Step 1: Analyze the formula used in the function

    The formula matches the standard barometric formula to convert pressure to altitude.
  2. Step 2: Check the function usage and return value

    The function reads current pressure, applies formula, rounds result, and returns altitude correctly.
  3. Final Answer:

    This code correctly converts pressure to altitude using the standard formula -> Option B
  4. Quick Check:

    Standard formula used correctly [OK]
Hint: Use standard formula with subtraction and exponent 0.1903 [OK]
Common Mistakes:
  • Changing formula signs incorrectly
  • Not rounding altitude
  • Returning wrong value