NB01_Strategie_zur_Aufgabenlösung

(c) 2020/2021 Hochschule Augsburg - Fakultät für Informatik - Prof.Dr.Nik Klever

Strategie zur Bearbeitung von Übungsaufgaben

1) Aufgabenstellung

  • gründlich durchlesen
  • wenn die Aufgabenstellung nicht verstanden wird:
    • Rückfragen über Telegram an Dozent, Kommilitonen

2) Grobanalyse

  • versuchen, alle relevanten Variablen, die in der Aufgabenstellung vorkommen, zu erkennen und deren Typ zu analysieren
  • vorhandenen Python-Code versuchen zu verstehen
  • Zeile für Zeile anschauen und überlegen was passiert
  • analysieren ob die Zeile eine(n)

    • Variablenzuweisung
    • Bedingung
    • Schleife
    • Funktionsaufruf
    • Funktionsdefinition

    enthält

3) Feinanalyse

  • vorhandenen Python-Code versuchen zu verstehen
  • Zeile für Zeile anschauen und überlegen was passiert
  • analysieren ob die Zeile eine(n)

    • Variablenzuweisung
      • welchen Wert habe ich in dieser Variablen
      • print(variablenname)
    • Bedingung
      • wie lautet die Bedingung ?
      • welche Variablen werden in der Bedingung verwendet ?
      • was ist das Ergebnis der Bedingung ?
        • entscheiden, ob der if-Block oder der else-Block (elif-Block) ausgeführt wird
    • Schleife
      • for-Schleife
        • welches ist die Schleifenvariable ?
        • welche Liste kommt nach dem in-Operator ?
        • welche Objekte sind in der Liste ?
        • welchen Wert enthält die Schleifenvariable in jedem Durchlauf ?
          • bei unklarem Kenntnisstand über diesen Wert, immer die Schleifenvariable mit print ausgeben
      • while-Schleife
        • siehe -> Bedingung
    • Funktionsaufruf
      • welche Argumente oder Parameter werden in dem Funktionsaufruf übergeben ?
      • was macht die Funktion mit diesen Parametern ?
      • wo bekomme ich die Information her, was diese Funktion macht ?
        • die Funktion ist als Code gegeben, d.h. sie ist definiert worden
        • die Funktion ist eine Builtin-Funktion von Python
        • die Funktion ist aus einer Bibliothek, dann in der Dokumentation zur Bibliothek nachschauen
      • was bringt die Funktion als Ergebnis zurück ?
        • Sonderfall: kein Ergebnis kommt zurück
    • Funktionsdefinition
      • welche Argumente oder Parameter werden in der Funktionsdefinition übergeben ?
      • was macht diese Funktion mit diesen Parametern ?
      • Analysieren des Codes innerhalb der Funktion wieder Zeile für Zeile

    enthält

4) Interpretation von Fehlermeldungen

  • Fehlertyp erkennen
  • in welcher Zeile passiert dieser Fehler (immer auf den Pfeil ---> achten)
  • bei Syntaxfehlern ist die genaue Position des Fehlers innerhalb der Zeile in der Regel durch ein ^ gekennzeichnet
  • genaue Beschreibung des Fehlers beachten
  • Fehler erkannt ?
    • wenn ja, Fehler beheben
    • wenn nein, Rückfragen über Telegram