faecher:informatik:oberstufe:graphen:zpg:hilfekarten:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:graphen:zpg:hilfekarten:start [17.11.2022 08:24] – [Bearbeiten - Panel] Frank Schiebelfaecher:informatik:oberstufe:graphen:zpg:hilfekarten:start [09.04.2025 10:54] (aktuell) – [Bearbeiten - Panel] Frank Schiebel
Zeile 1: Zeile 1:
 +~~NOTOC~~
 +
 ====== Hilfestellung zur Programmierung mit dem Graphentester ====== ====== Hilfestellung zur Programmierung mit dem Graphentester ======
  
Zeile 5: Zeile 7:
 </WRAP> </WRAP>
  
 +===== Grundsätzliche Strukur =====
 +
 +Damit deine Algorithmen überhaupt kompilieren können und vom Graphentester erkannt werden, muss jede Klasse ein paar bestimmte Befehle enthalten. Grundsätzlich gilt folgende Struktur. 
 +
 +<code java>
 +package eigeneAlgorithmen;
 +
 +import graph.*;
 +import algorithmen.*;
 +
 +public class GraphAlgo_MeineKlasse extends GraphAlgo
 +{
 +    Graph g;
 +
 +    public String getBezeichnung() {
 +        return "MeineKlasse";
 +    }
 +
 +    public void fuehreAlgorithmusAus() {
 +        g = getGraph();
 +        // ...
 +    }
 +}
 +</code>
 +
 +Folgende Punkte sind dabei wichtig:
 +  * Das ''package'' ergibt sich automatisch aus dem Verzeichnis
 +  * Die beiden import-Statements benötigt man, um die bereits vorgefertigten Graphen-Algorithmen nutzen zu können.
 +  * **Der Klassenname muss mit GraphAlgo_ beginnen**
 +  * Die Klasse muss die Elternklasse GraphAlgo erweitern
 +  * Wegen der Vererbung müssen die folgenden zwei Methoden geerbt werden:
 +    * ''public String getBezeichnung()'': Darin wird der leserliche Name definiert/zurückgegeben, der in der GUI auf deinen Algorithmus verweist.
 +    * ''public void fuehreAlgorithmusAus()'': Hierin schreibst du deinen Algorithmus (das ersetzt sozusagen die main-Methode).
 +
 +===== Wichtige Tasks =====
  
 <accordion id="hilfekarte"> <accordion id="hilfekarte">
Zeile 23: Zeile 60:
    aktuellerKnoten.setMarkiert(true);    aktuellerKnoten.setMarkiert(true);
    // Ausführung unterbrechen    // Ausführung unterbrechen
-   step();Hilfestellung zur Programmierung mit dem Graphentester+   step();
 } }
 </code> </code>
Zeile 254: Zeile 291:
 </panel> </panel>
 </accordion> </accordion>
 +
 +==== Code-Beispiele ====
 +
 +=== Setze alle Knotenwerte ===
 +
 +Alle Knoten kann man direkt in einer Schleife verarbeiten:
 +
 +<code java>
 +// Setze alle Knotenwerte auf 0
 +for(Knoten k : g.getAlleKnoten()) {
 +    k.setWert(0);
 +}
 +</code>
 +
 +<code java>
 +// Setze alle Knotenwerte auf "unendlich"
 +for(Knoten k : g.getAlleKnoten()) {
 +    k.setWert(Double.POSITIVE_INFINITY);
 +}
 +</code>
  • faecher/informatik/oberstufe/graphen/zpg/hilfekarten/start.1668673484.txt.gz
  • Zuletzt geändert: 17.11.2022 08:24
  • von Frank Schiebel