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 kombinieren Sie benannte break-Anweisungen mit switch und fallthrough, um ein Sicherheitsüberwachungssystem zu erstellen. Das System durchsucht mehrere Sicherheitszonen nach Bedrohungen und kategorisiert diese mit kaskadierenden Alarmstufen.

Sie erhalten zwei Eingaben:

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

Ihnen werden die folgenden Sicherheitszonendaten zur Verfügung gestellt:

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

Ihre Aufgabe ist es:

  1. Die Bedrohungsstufe aus der ersten Eingabe zu parsen
  2. Die maximale Anzahl der zu durchsuchenden Zonen aus der zweiten Eingabe zu parsen
  3. Verschachtelte Schleifen mit einem benannten break zu verwenden, um die Zonen zu durchsuchen
  4. Wenn Sie die Ziel-Bedrohungsstufe finden, geben Sie "Threat found at zone [zone_number] position [position]" aus und beenden Sie sofort beide Schleifen mit dem benannten break
  5. Nachdem die Bedrohung gefunden wurde (oder wenn keine Bedrohung gefunden wurde), verwenden Sie eine switch-Anweisung mit fallthrough, um Sicherheitsalarme basierend auf der gesuchten Bedrohungsstufe anzuzeigen

Die switch-Anweisung sollte wie folgt funktionieren:

  • Für "critical": Geben Sie "CRITICAL: Lockdown initiated!" aus und nutzen Sie fallthrough, um auch den High-Alarm auszugeben
  • Für "high": Geben Sie "HIGH: Security breach detected!" aus und nutzen Sie fallthrough, um auch den Medium-Alarm auszugeben
  • Für "medium": Geben Sie "MEDIUM: Increased monitoring active" aus
  • Für "low": Geben Sie "LOW: Standard security protocols" aus

Wenn die Bedrohung nach dem Durchsuchen der angegebenen Anzahl von Zonen nicht gefunden wird, geben Sie "Threat not found in searched zones" aus, bevor Sie die Sicherheitsalarme anzeigen. Verwenden Sie 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