Bird
Raised Fist0
Drone Programmingprogramming~10 mins

Search and rescue assistance in Drone Programming - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Search and rescue assistance
Start Mission
↓
Initialize Drone Position
↓
Scan Area
↓
Detect Target?
No→Continue Scanning
|Yes↓
Mark Target Location
↓
Send Coordinates to Rescue Team
↓
Mission Complete
The drone starts the mission, scans the area repeatedly, detects a target, marks its location, sends coordinates to the rescue team, and then completes the mission.
Execution Sample
Drone Programming
position = (0,0)
target_found = False
while not target_found:
    scan_area()
    if detect_target():
        target_found = True
        send_coordinates(position)
    else:
        position = (position[0] + 1, position[1])
This code moves the drone scanning the area until it finds the target, then sends the target's position.
Execution Table
Steppositiontarget_foundActionOutput
1(0,0)FalseInitialize position and target_foundNone
2(0,0)FalseScan areaNone
3(0,0)FalseDetect target? NoNone
4(1,0)FalseMove position, scan areaNone
5(1,0)FalseDetect target? NoNone
6(2,0)FalseMove position, scan areaNone
7(2,0)TrueDetect target? YesTarget found
8(2,0)TrueSend coordinates to rescue teamCoordinates sent
9(2,0)TrueMission completeNone
💡 Target found at position (2,0), mission ends after sending coordinates.
Variable Tracker
VariableStartAfter Step 4After Step 6After Step 7Final
position(0,0)(1,0)(2,0)(2,0)(2,0)
target_foundFalseFalseFalseTrueTrue
Key Moments - 2 Insights
Why does the drone keep scanning even when the target is not found?
Because in the execution_table rows 3 and 5, the condition 'Detect target? No' causes the loop to continue scanning and moving the position.
What happens immediately after the target is detected?
As shown in row 7 and 8, once the target is detected (target_found=True), the drone sends the coordinates to the rescue team.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the value of 'target_found' at Step 6?
AFalse
BTrue
CNone
DUndefined
💡 Hint
Check the 'target_found' column at Step 6 in the execution_table.
At which step does the drone send the coordinates to the rescue team?
AStep 7
BStep 8
CStep 9
DStep 6
💡 Hint
Look at the 'Action' column in the execution_table for when 'Send coordinates to rescue team' happens.
If the target was never detected, what would happen to the 'position' variable?
AIt would stay at (0,0)
BIt would become None
CIt would keep updating as the drone moves
DIt would reset to start
💡 Hint
Refer to the 'position' changes in variable_tracker and execution_table rows where scanning continues without detection.
Concept Snapshot
Search and rescue assistance:
- Initialize drone position and target_found flag
- Loop: scan area and check for target
- If target found, mark location and send coordinates
- Stop mission after sending info
- Keeps scanning and moving until target detected
Full Transcript
This visual execution shows a drone starting at position (0,0) scanning for a target. It loops scanning and moving position until the target is detected at (2,0). Once detected, it sends the coordinates to the rescue team and ends the mission. Variables 'position' and 'target_found' update step-by-step. The drone continues scanning while target_found is False, moving position each time. When target_found becomes True, it sends coordinates and stops scanning.

Practice

(1/5)
1. What is the main purpose of a drone programmed for search and rescue assistance?
easy
A. To find missing persons and send their location quickly
B. To deliver packages to remote areas
C. To take aerial photos for tourism
D. To monitor weather patterns

Solution

  1. Step 1: Understand the role of search and rescue drones

    These drones are designed to locate missing people or targets in emergency situations.
  2. Step 2: Identify the key function

    The main function is to find and report the location quickly to help rescue teams.
  3. Final Answer:

    To find missing persons and send their location quickly -> Option A
  4. Quick Check:

    Search and rescue = find and report location [OK]
Hint: Search and rescue drones find and report targets fast [OK]
Common Mistakes:
  • Confusing delivery drones with rescue drones
  • Thinking drones only take photos
  • Assuming drones monitor weather in rescue missions
2. Which of the following is the correct syntax to start a drone's search function in drone programming?
easy
A. startSearch()
B. search.start()
C. begin_search
D. searchStart[]

Solution

  1. Step 1: Identify correct function call syntax

    Functions are called with parentheses like startSearch().
  2. Step 2: Check other options for syntax errors

    search.start() is method call but not standard here; begin_search lacks parentheses; searchStart[] uses brackets incorrectly.
  3. Final Answer:

    startSearch() -> Option A
  4. Quick Check:

    Function calls use parentheses () [OK]
Hint: Function calls always use parentheses () [OK]
Common Mistakes:
  • Omitting parentheses when calling functions
  • Using brackets [] instead of parentheses
  • Confusing method call syntax with function call
3. What will the following drone program output if the target is found at coordinates (10, 20)?
def search_area():
    target = (10, 20)
    found = True
    if found:
        return f"Target located at {target}"
    else:
        return "Target not found"

print(search_area())
medium
A. Target not found
B. Error: target undefined
C. Target located at (10, 20)
D. None

Solution

  1. Step 1: Analyze the function logic

    The variable found is True, so the if condition is met.
  2. Step 2: Determine the returned string

    The function returns the string with the target coordinates formatted inside.
  3. Final Answer:

    Target located at (10, 20) -> Option C
  4. Quick Check:

    found=True returns target location string [OK]
Hint: If found is True, function returns location string [OK]
Common Mistakes:
  • Assuming found is False and returning 'Target not found'
  • Confusing tuple printing with string output
  • Expecting an error due to variable scope
4. Identify the error in this drone search code snippet:
def scan_area():
    target_found = False
    if target_found = True:
        print("Target found!")
    else:
        print("Searching...")

scan_area()
medium
A. Function scan_area is not called
B. Missing parentheses in print statements
C. Variable target_found is not defined
D. Using assignment '=' instead of comparison '==' in if condition

Solution

  1. Step 1: Check the if condition syntax

    The condition uses '=' which assigns value, but it should compare using '=='.
  2. Step 2: Verify other parts of the code

    Print statements have parentheses, function is called, and variable is defined correctly.
  3. Final Answer:

    Using assignment '=' instead of comparison '==' in if condition -> Option D
  4. Quick Check:

    Use '==' for comparison in if statements [OK]
Hint: Use '==' to compare, '=' is for assignment [OK]
Common Mistakes:
  • Confusing '=' with '==' in conditions
  • Forgetting to call the function
  • Missing parentheses in print (Python 3)
5. You want a drone to scan multiple zones and report all found targets with their locations. Which code snippet correctly collects and returns all found targets in a dictionary with zone names as keys? Options: A)
def scan_zones(zones):
    results = {}
    for zone in zones:
        found = scan(zone)
        if found:
            results[zone] = found
    return results
B)
def scan_zones(zones):
    results = []
    for zone in zones:
        found = scan(zone)
        if found:
            results.append({zone: found})
    return results
C)
def scan_zones(zones):
    results = {}
    for zone in zones:
        found = scan(zone)
        results[zone] = found
    return results
D)
def scan_zones(zones):
    results = {}
    for zone in zones:
        if scan(zone):
            results.append(zone)
    return results
hard
A. Collects found targets in a list of dictionaries, not a single dict
B. Collects found targets in a dictionary with zone keys correctly
C. Adds all zones including those without targets (found may be False)
D. Uses append on a dictionary, which causes an error

Solution

  1. Step 1: Understand the goal

    We want a dictionary with zones as keys and found targets as values, only if found.
  2. Step 2: Analyze each option

    The snippet that adds only found targets to a dict is correct; the one that uses a list of dicts produces the wrong structure; the one that adds all zones includes those without targets; the one that tries to append to a dict causes an error.
  3. Final Answer:

    Collects found targets in a dictionary with zone keys correctly -> Option B
  4. Quick Check:

    Dict with keys for found targets only = Collects found targets in a dictionary with zone keys correctly [OK]
Hint: Use dict and add only found targets with keys [OK]
Common Mistakes:
  • Adding all zones even if no target found
  • Using list instead of dictionary for key-value pairs
  • Trying to append to a dictionary (invalid)
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