Bird
Raised Fist0
Drone Programmingprogramming~20 mins

Forward, backward, lateral movement in Drone Programming - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Master of Drone Movement
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the final position of the drone?

The drone starts at position (0, 0) facing north. It executes these commands in order:

  1. Move forward 5 meters
  2. Move right (lateral) 3 meters
  3. Move backward 2 meters

What is the drone's final position (x, y)?

Drone Programming
position = [0, 0]
# Facing north means y increases when moving forward
position[1] += 5  # forward 5
position[0] += 3  # right 3 (lateral)
position[1] -= 2  # backward 2
print(tuple(position))
A(3, 7)
B(5, 1)
C(3, 3)
D(2, 3)
Attempts:
2 left
💡 Hint

Remember: forward/backward affect y-axis, lateral movement affects x-axis.

🧠 Conceptual
intermediate
1:30remaining
Which command moves the drone laterally to the left?

The drone is facing north. Which command moves it 4 meters to the left (lateral movement)?

AMove forward 4 meters
BMove backward 4 meters
CMove right 4 meters
DMove left 4 meters
Attempts:
2 left
💡 Hint

Lateral movement means side to side, not forward or backward.

🔧 Debug
advanced
2:00remaining
Identify the error in the drone movement code

The drone is facing east. The code below is supposed to move the drone forward 6 meters, then left 2 meters. What error will occur?

Drone Programming
position = [0, 0]
# Facing east means x increases when moving forward
position[0] += 6
position[1] += 2  # move left
print(tuple(position))
ANo error, output is (6, 2)
BSyntaxError due to missing colon
CTypeError because position is not a list
DLogical error: moving left should increase y, not decrease
Attempts:
2 left
💡 Hint

Check how coordinates change when facing east.

📝 Syntax
advanced
1:30remaining
Which option causes a syntax error in drone movement commands?

Which code snippet will cause a syntax error when moving the drone forward 3 meters?

Aposition[1] + = 3
Bposition[1] += 3
Cposition[1] = position[1] + 3
Dposition[1] +=3
Attempts:
2 left
💡 Hint

Look carefully at the spacing in the operators.

🚀 Application
expert
2:30remaining
Calculate total distance moved laterally

A drone executes these lateral movements in order: right 5 meters, left 3 meters, right 2 meters, left 4 meters. What is the total lateral distance from the starting point?

A2 meters
B0 meters
C10 meters
D4 meters
Attempts:
2 left
💡 Hint

Sum right movements and subtract left movements to find net lateral distance.

Practice

(1/5)
1. Which command moves the drone forward by 5 meters?
easy
A. move_right(5)
B. move_forward(5)
C. move_left(5)
D. move_backward(5)

Solution

  1. Step 1: Understand the direction commands

    The command move_forward(distance) moves the drone forward by the given distance.
  2. Step 2: Match the distance and direction

    Since we want to move forward by 5 meters, move_forward(5) is the correct command.
  3. Final Answer:

    move_forward(5) -> Option B
  4. Quick Check:

    Forward move = move_forward(5) [OK]
Hint: Forward means move_forward with distance [OK]
Common Mistakes:
  • Confusing forward with backward commands
  • Using lateral move commands instead of forward
  • Mixing up distance units
2. Which of these is the correct syntax to move the drone 3 meters to the left?
easy
A. move_left(3)
B. moveLeft(3)
C. move_left 3
D. move_left(three)

Solution

  1. Step 1: Identify correct function syntax

    The correct syntax uses the function name followed by parentheses enclosing the distance number.
  2. Step 2: Check parameter type and spelling

    move_left(3) uses move_left(3) which is correct. moveLeft(3) uses camelCase which is incorrect here. move_left 3 misses parentheses. move_left(three) uses a word instead of a number.
  3. Final Answer:

    move_left(3) -> Option A
  4. Quick Check:

    Function call with number in parentheses [OK]
Hint: Use function_name(number) with parentheses and digits [OK]
Common Mistakes:
  • Omitting parentheses in function call
  • Using wrong case in function name
  • Passing string instead of number
3. What is the final position of the drone after these commands starting at (0,0)?
move_forward(4)
move_right(3)
move_backward(2)
move_left(1)
medium
A. (3, 4)
B. (3, 2)
C. (2, 2)
D. (2, 3)

Solution

  1. Step 1: Track vertical (forward/backward) movement

    Start at (0,0). move_forward(4) moves y from 0 to 4. move_backward(2) moves y from 4 to 2.
  2. Step 2: Track horizontal (left/right) movement

    move_right(3) moves x from 0 to 3. move_left(1) moves x from 3 to 2.
  3. Step 3: Calculate final coordinates

    Final position is (2, 2).
  4. Final Answer:

    (2, 2) -> Option C
  5. Quick Check:

    Horizontal = 3-1=2, Vertical = 4-2=2 [OK]
Hint: Add forward/backward to Y, left/right to X [OK]
Common Mistakes:
  • Mixing X and Y axes
  • Forgetting backward subtracts from Y
  • Ignoring left movement subtracts from X
4. Identify the error in this drone movement code:
move_forward(5)
move_left(2)
move_backward()
move_right(3)
medium
A. Missing distance argument in move_backward()
B. move_left should be move_right
C. move_forward cannot be called first
D. move_right has wrong syntax

Solution

  1. Step 1: Check each function call for required arguments

    All move commands require a distance number. move_backward() is missing the distance argument.
  2. Step 2: Verify other commands

    move_left(2), move_forward(5), and move_right(3) all have correct syntax and arguments.
  3. Final Answer:

    Missing distance argument in move_backward() -> Option A
  4. Quick Check:

    Functions need distance parameter [OK]
Hint: All move commands need a number inside parentheses [OK]
Common Mistakes:
  • Calling move functions without distance
  • Confusing left and right commands
  • Assuming order of commands matters for syntax
5. You want the drone to move in a square path of 4 meters each side starting at (0,0). Which sequence of commands achieves this?
hard
A. move_right(4) move_forward(4) move_left(4) move_forward(4)
B. move_forward(4) move_left(4) move_backward(4) move_left(4)
C. move_forward(4) move_right(4) move_right(4) move_backward(4)
D. move_forward(4) move_right(4) move_backward(4) move_left(4)

Solution

  1. Step 1: Understand square path directions

    A square path means moving forward, then right, then backward, then left, each by the same distance.
  2. Step 2: Check each option's sequence

    move_forward(4) move_right(4) move_backward(4) move_left(4) follows forward, right, backward, left by 4 meters each, completing a square back to start.
  3. Step 3: Verify final position

    After these moves, the drone returns to (0,0), confirming a square path.
  4. Final Answer:

    move_forward(4) move_right(4) move_backward(4) move_left(4) -> Option D
  5. Quick Check:

    Square path = forward, right, backward, left [OK]
Hint: Square path: forward, right, backward, left same distance [OK]
Common Mistakes:
  • Mixing left and right order
  • Not returning to start point
  • Using different distances for sides
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