Menu
Coddy logo textTech

Zusammenfassung – Fortgeschrittene Schleifensteuerung

Teil des Abschnitts Logik & Ablauf der GO-Journey von Coddy. Lektion 5 von 68.

challenge icon

Aufgabe

Einfach

In dieser Herausforderung kombinierst du markierte break-Anweisungen mit switch und fallthrough, um ein Sicherheitsüberwachungssystem zu erstellen. Das System durchsucht mehrere Sicherheitszonen nach Bedrohungen und kategorisiert sie mit abgestuften Alarmstufen.

Du erhältst zwei Eingaben:

  • Eine Zeichenfolge, die die zu suchende Bedrohungsstufe darstellt (z. B. "high")
  • Eine Zeichenfolge, die die maximale Anzahl der zu durchsuchenden Zonen darstellt (z. B. "3")

Die folgenden Daten zu den Sicherheitszonen werden dir bereitgestellt:

zones := [][]string{
    {"low", "medium", "low"},
    {"medium", "high", "low"},
    {"critical", "medium", "high"},
    {"low", "critical", "medium"}
}

Deine Aufgabe ist:

  1. Die Bedrohungsstufe aus der ersten Eingabe zu analysieren
  2. Die maximale Anzahl der zu durchsuchenden Zonen aus der zweiten Eingabe zu analysieren
  3. Verschachtelte Schleifen mit einem markierten break zu verwenden, um die Zonen zu durchsuchen
  4. Wenn du die Ziel-Bedrohungsstufe findest, "Threat found at zone [zone_number] position [position]" auszugeben und beide Schleifen sofort mithilfe eines markierten break zu verlassen
  5. Nach dem Finden der Bedrohung (oder wenn keine Bedrohung gefunden wurde) eine switch-Anweisung mit fallthrough zu verwenden, um Sicherheitswarnungen basierend auf der gesuchten Bedrohungsstufe anzuzeigen

Die switch-Anweisung sollte folgendermaßen funktionieren:

  • Für "critical": „CRITICAL: Lockdown initiated!“ ausgeben und anschließend auch die Warnung für „high“ ausgeben
  • Für "high": „HIGH: Security breach detected!“ ausgeben und anschließend auch die Warnung für „medium“ ausgeben
  • Für "medium": „MEDIUM: Increased monitoring active“ ausgeben
  • Für "low": „LOW: Standard security protocols“ ausgeben

Wenn die Bedrohung nach dem Durchsuchen der angegebenen Anzahl von Zonen nicht gefunden wurde, gib "Threat not found in searched zones" aus, bevor du die Sicherheitswarnungen anzeigst. Verwende eine 0-basierte Indizierung für Zonennummern und Positionen innerhalb der Zonen.

Probier es selbst

package main

import (
    "fmt"
    "strconv"
)

func main() {
    // Eingabe lesen
    var threatLevel string
    var maxZonesStr string
    fmt.Scanln(&threatLevel)
    fmt.Scanln(&maxZonesStr)
    
    // Maximale Zonen in Ganzzahl umwandeln
    maxZones, _ := strconv.Atoi(maxZonesStr)
    
    // Daten der Sicherheitszonen
    zones := [][]string{
        {"low", "medium", "low"},
        {"medium", "high", "low"},
        {"critical", "medium", "high"},
        {"low", "critical", "medium"},
    }
    
    // TODO: Schreiben Sie Ihren Code unten
    // Verwenden Sie verschachtelte Schleifen mit einem benannten Break, um nach der Bedrohung zu suchen
    // Geben Sie den Standort der Bedrohung aus, falls gefunden, oder "Threat not found in searched zones", falls nicht gefunden
    // Verwenden Sie dann switch mit fallthrough für Sicherheitsalarme
    
}

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-Go-Compiler