Bird
Raised Fist0
Drone Programmingprogramming~10 mins

Delivery drone concept in Drone Programming - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Delivery drone concept
Start Delivery
↓
Check Package
Yes↓
Fly to Destination
↓
Check Arrival
Yes↓
Drop Package
↓
Return to Base
↓
End Delivery
The drone starts delivery, checks the package, flies to destination, drops the package, and returns to base.
Execution Sample
Drone Programming
package_ready = True
location = "Home"
if package_ready:
    location = "Destination"
    print("Package delivered")
location = "Base"
This code simulates a drone delivering a package by changing its location and printing delivery status.
Execution Table
Steppackage_readylocation beforeCondition (package_ready?)Actionlocation afterOutput
1TrueHomeTrueFly to DestinationDestination
2TrueDestinationN/APrint delivery messageDestinationPackage delivered
3TrueDestinationN/AReturn to BaseBase
4TrueBaseN/AEnd DeliveryBase
💡 Delivery complete, drone returned to base.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3Final
package_readyTrueTrueTrueTrueTrue
locationHomeDestinationDestinationBaseBase
Key Moments - 2 Insights
Why does the location change to 'Destination' only if package_ready is True?
Because the condition in the execution_table step 1 checks package_ready before flying. If False, the drone wouldn't fly to destination.
Why is there no output until the drone reaches the destination?
The print statement happens only after the drone flies to the destination (step 2), so output appears then.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the location after step 1?
ABase
BHome
CDestination
DUnknown
💡 Hint
Check the 'location after' column in row for step 1.
At which step does the drone print 'Package delivered'?
AStep 1
BStep 2
CStep 3
DStep 4
💡 Hint
Look at the 'Output' column in the execution_table.
If package_ready was False, what would happen to the location after step 1?
AStay at Home
BChange to Destination
CChange to Base
DUndefined
💡 Hint
Refer to the condition check in step 1 and how location changes only if package_ready is True.
Concept Snapshot
Delivery drone concept:
- Check if package is ready
- Fly to destination if ready
- Print delivery confirmation
- Return to base
- End delivery
Full Transcript
This visual trace shows a delivery drone starting with a package ready at home. It checks if the package is ready, then flies to the destination. Upon arrival, it prints 'Package delivered'. Then it returns to base and ends delivery. Variables tracked are package_ready and location. The location changes from Home to Destination, then to Base. Output appears only after arrival. This helps understand step-by-step drone delivery logic.

Practice

(1/5)
1. What is the main purpose of a delivery drone in programming terms?
easy
A. To carry packages from one place to another automatically
B. To play music while flying
C. To take photos of landscapes
D. To clean the air by flying

Solution

  1. Step 1: Understand the drone's role

    A delivery drone is designed to transport packages safely and efficiently.
  2. Step 2: Match the purpose to options

    Only To carry packages from one place to another automatically describes carrying packages automatically, which fits delivery.
  3. Final Answer:

    To carry packages from one place to another automatically -> Option A
  4. Quick Check:

    Delivery drone = carry packages [OK]
Hint: Delivery drones move packages, not play or clean [OK]
Common Mistakes:
  • Confusing drone delivery with photography
  • Thinking drones clean air
  • Assuming drones play music
2. Which of the following is the correct way to set a package in a drone program?
easy
A. drone.package = 'Box'
B. drone->setPackage('Box')
C. setPackage(drone, 'Box')
D. drone.setPackage('Box')

Solution

  1. Step 1: Identify method call syntax

    In drone programming, methods are called on objects using dot notation like drone.setPackage('Box').
  2. Step 2: Check each option

    drone.setPackage('Box') uses correct method call syntax. drone.package = 'Box' assigns directly, which may not be allowed. setPackage(drone, 'Box') uses wrong function call style. drone->setPackage('Box') uses incorrect arrow syntax.
  3. Final Answer:

    drone.setPackage('Box') -> Option D
  4. Quick Check:

    Method call uses dot notation [OK]
Hint: Use dot notation for methods like setPackage() [OK]
Common Mistakes:
  • Using assignment instead of method call
  • Using arrow (->) instead of dot (.)
  • Calling method with wrong argument order
3. What will be the output of this drone program snippet?
drone.setPackage('Book')
drone.setDestination('Home')
print(drone.status())

Assuming status() returns a string showing package and destination.
medium
A. "Package: Book, Destination: None"
B. "Package: Book, Destination: Home"
C. "Package: None, Destination: Home"
D. "No package or destination set"

Solution

  1. Step 1: Analyze method calls

    The program sets the package to 'Book' and destination to 'Home'.
  2. Step 2: Understand status() output

    Status shows current package and destination, so it should reflect 'Book' and 'Home'.
  3. Final Answer:

    "Package: Book, Destination: Home" -> Option B
  4. Quick Check:

    Status shows set package and destination [OK]
Hint: status() shows current package and destination [OK]
Common Mistakes:
  • Assuming package or destination is None
  • Confusing output format
  • Ignoring previous set commands
4. Identify the error in this drone delivery code snippet:
drone.setPackage('Laptop')
drone.flyTo('Office')
drone.deliver()

Assuming flyTo moves drone but delivery requires destination set first.
medium
A. flyTo() should be flyToDestination()
B. Package not set before delivery
C. Missing destination set before flying
D. deliver() method does not exist

Solution

  1. Step 1: Check method order and requirements

    Delivery requires setting destination before flying. Here, destination is not set explicitly.
  2. Step 2: Identify missing step

    Code calls flyTo('Office') but does not set destination property, which delivery depends on.
  3. Final Answer:

    Missing destination set before flying -> Option C
  4. Quick Check:

    Destination must be set before flyTo and deliver [OK]
Hint: Always set destination before flying and delivering [OK]
Common Mistakes:
  • Skipping destination setup
  • Assuming flyTo sets destination automatically
  • Confusing method names
5. You want to program a drone to deliver multiple packages to different destinations in sequence. Which approach best fits this task?
hard
A. Use a loop to set each package and destination, then fly and deliver each time
B. Set all packages at once and fly to one destination only
C. Fly randomly and drop packages without setting destinations
D. Deliver packages without flying

Solution

  1. Step 1: Understand multi-package delivery needs

    Each package must be assigned a destination and delivered one by one.
  2. Step 2: Choose correct programming structure

    A loop allows repeating setPackage, setDestination, fly, and deliver steps for each package.
  3. Step 3: Evaluate other options

    Set all packages at once and fly to one destination only ignores multiple destinations. Fly randomly and drop packages without setting destinations is unsafe and random. Deliver packages without flying skips flying, which is needed.
  4. Final Answer:

    Use a loop to set each package and destination, then fly and deliver each time -> Option A
  5. Quick Check:

    Loop for sequential deliveries [OK]
Hint: Loop through packages and destinations for multiple deliveries [OK]
Common Mistakes:
  • Trying to deliver all packages at once
  • Ignoring destination assignment
  • Skipping flying step
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