Bird
Raised Fist0
Drone Programmingprogramming~5 mins

Altitude control in Drone Programming - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Altitude control
O(n)
Understanding Time Complexity

When controlling a drone's altitude, it's important to know how the time to adjust changes as the target altitude changes.

We want to understand how the program's steps grow when the altitude target grows.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


function adjustAltitude(current, target) {
  while (current != target) {
    if (current < target) {
      current += 1;
    } else {
      current -= 1;
    }
  }
  return current;
}
    

This code changes the drone's altitude step by step until it reaches the target altitude.

Identify Repeating Operations
  • Primary operation: The while loop that changes altitude by 1 each time.
  • How many times: It runs once for each step difference between current and target altitude.
How Execution Grows With Input

As the difference between current and target altitude grows, the number of steps grows the same way.

Input Size (difference)Approx. Operations (steps)
1010
100100
10001000

Pattern observation: The steps increase directly with the altitude difference.

Final Time Complexity

Time Complexity: O(n)

This means the time to reach the target altitude grows linearly with how far away it is.

Common Mistake

[X] Wrong: "The altitude adjustment happens instantly regardless of distance."

[OK] Correct: The code changes altitude one step at a time, so more distance means more steps and more time.

Interview Connect

Understanding how loops grow with input size helps you explain how your code will behave in real drone control situations.

Self-Check

"What if the altitude changed by 2 units each loop instead of 1? How would the time complexity change?"

Practice

(1/5)
1. What is the main purpose of altitude control in drone programming?
easy
A. To keep or change the drone's height safely
B. To control the drone's speed horizontally
C. To manage the drone's battery life
D. To adjust the drone's camera angle

Solution

  1. Step 1: Understand altitude control function

    Altitude control is about managing the drone's height above ground.
  2. Step 2: Compare options to this function

    Only To keep or change the drone's height safely talks about height control, others focus on speed, battery, or camera.
  3. Final Answer:

    To keep or change the drone's height safely -> Option A
  4. Quick Check:

    Altitude control = height management [OK]
Hint: Altitude control means managing drone height safely [OK]
Common Mistakes:
  • Confusing altitude with speed control
  • Thinking altitude control manages battery
  • Mixing altitude control with camera settings
2. Which of the following is the correct syntax to set a target altitude of 100 meters in a drone program?
easy
A. altitude = 100m
B. setAltitude(100)
C. targetAltitude = '100'
D. set_altitude = 100

Solution

  1. Step 1: Identify correct function call syntax

    Function calls use parentheses with numeric values, like setAltitude(100).
  2. Step 2: Check other options for syntax errors

    altitude = 100m uses invalid unit '100m' without quotes or function; C uses string instead of number; D assigns value but not a function call.
  3. Final Answer:

    setAltitude(100) -> Option B
  4. Quick Check:

    Function call with number = setAltitude(100) [OK]
Hint: Function calls use parentheses with numbers, not strings or units [OK]
Common Mistakes:
  • Using units like '100m' directly in code
  • Assigning string instead of number for altitude
  • Confusing assignment with function call
3. What will be the output of this code snippet controlling drone altitude?
current_altitude = 50
set_target = 100
if current_altitude < set_target:
    print('Ascending')
else:
    print('Holding position')
medium
A. Holding position
B. Descending
C. Ascending
D. Error

Solution

  1. Step 1: Compare current altitude and target

    current_altitude is 50, set_target is 100, so 50 < 100 is True.
  2. Step 2: Determine which print runs

    Since condition is True, it prints 'Ascending'.
  3. Final Answer:

    Ascending -> Option C
  4. Quick Check:

    50 < 100 means Ascending [OK]
Hint: If current altitude less than target, drone ascends [OK]
Common Mistakes:
  • Confusing less than with greater than
  • Expecting 'Holding position' when ascending
  • Thinking code has syntax error
4. Identify the error in this altitude control code snippet:
def adjust_altitude(current, target):
    if current > target
        return 'Descending'
    else:
        return 'Ascending'
medium
A. Indentation error in else block
B. Wrong comparison operator
C. Function missing return statement
D. Missing colon after if condition

Solution

  1. Step 1: Check syntax of if statement

    The if line lacks a colon at the end, which is required in Python.
  2. Step 2: Verify other parts

    Comparison operator and return statements are correct; indentation is consistent.
  3. Final Answer:

    Missing colon after if condition -> Option D
  4. Quick Check:

    Python if needs colon ':' [OK]
Hint: Python if statements always end with a colon ':' [OK]
Common Mistakes:
  • Forgetting colon after if condition
  • Assuming wrong operator causes error
  • Misreading indentation as error
5. You want the drone to hover steadily at 120 meters. Which code snippet correctly adjusts motor power based on current altitude to maintain this target?
def control_altitude(current):
    target = 120
    if current < target:
        power = 70
    elif current > target:
        power = 30
    else:
        power = 50
    return power

print(control_altitude(120))
hard
A. 50
B. 70
C. 30
D. 120

Solution

  1. Step 1: Understand the target and current altitude

    Target is 120 meters; current altitude passed is 120.
  2. Step 2: Follow the if-elif-else logic

    Since current equals target, the else block runs, setting power to 50.
  3. Final Answer:

    50 -> Option A
  4. Quick Check:

    Hover power at target altitude = 50 [OK]
Hint: At target altitude, motor power is set to hover value [OK]
Common Mistakes:
  • Choosing power for ascending or descending instead of hover
  • Confusing comparison operators
  • Returning altitude instead of power
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard