Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:documentation:kara:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
api:documentation:kara:start [2023/02/24 22:13] – angelegt Martin Pabstapi:documentation:kara:start [2023/02/24 22:36] (aktuell) – [Aufgabe mit Lösung] Martin Pabst
Zeile 6: Zeile 6:
 ===== Welt erstellen ===== ===== Welt erstellen =====
  
 +<HTML>
  
 +<div class="java-online" style="height: 350px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'kara1'}">
 +
 +<script type="text/plain" title="Test1.java">
 +JavaKaraWorld jkw = new JavaKaraWorld(10, 5);
 +println(jkw.WEST);
 +jkw.init("""
 +tttttttttt
 +t l  l  lt
 +tttttttttt
 + m m m m 
 +""");
 +Kara kara = new Kara(jkw, 1, 1, jkw.EAST);
 +
 +if(kara.onLeaf()) { kara.removeLeaf(); }
 +else { kara.putLeaf(); }
 +
 +while (!kara.treeFront()) {
 +   kara.move();
 +   if(kara.onLeaf()) {
 +      kara.removeLeaf();
 +   } else {
 +      kara.putLeaf();
 +   }
 +
 +
 +</script>
 +
 +</div>
 +
 +</HTML>
 +
 +
 +===== Aufgabe mit Lösung =====
 +<WRAP center round tip 80%>
 +Will man Schüler/innen Aufgaben an die Hand geben, so bietet es sich an, eine Aufgaben-Klasse zu erstellen, in deren Konstruktor die Welt und Kara erstellt werden. Die Schüler/innen erstellen dann eine Unterklasse, die ihre Lösung enthält. Im folgenden Beispiel sehen Sie eine mögliche Variante.
 +</WRAP>
 +
 +<HTML>
 +
 +<div class="java-online" style="height: 70vh; width: 100%" data-java-online="{'withBottomPanel': true, 'id': 'kara2'}">
 +
 +<script type="text/plain" title="Lösung.java">
 +new Lösung1().run();
 +
 +class Lösung1 extends JavaKaraAufgabe1 {
 +   public void run() {
 +      if(kara.onLeaf()) { kara.removeLeaf(); }
 +      else { kara.putLeaf(); }
 +
 +      while (!kara.treeFront()) {
 +         kara.move();
 +         if(kara.onLeaf()) {
 +            kara.removeLeaf();
 +         } else {
 +            kara.putLeaf();
 +         }
 +      } 
 +      
 +   }
 +}
 +</script>
 +
 +<script type="text/plain" title="Aufgabe.java">
 +class JavaKaraAufgabe1 {
 +   
 +   public Kara kara;
 +   public JavaKaraWorld world;
 +
 +   JavaKaraAufgabe1() {
 +      world = new JavaKaraWorld(9, 9);
 +      world.scale(2);   // vergrößern
 +
 +      world.init("""
 +      ttttttttt
 +      t l ll lt
 +      ttttttttt
 +      """);
 +      
 +      kara = new Kara(world, 1, 1, world.EAST);
 +
 +      println("KARA soll die Kleeblattreihe invertieren, d.h. wenn sie auf einem Kleeblatt steht, soll sie es aufnehmen; wenn sie keines vorfindet, soll sie eines ablegen.");
 +   }
 +
 +
 +}
 +</script>
 +
 +</div>
 +
 +</HTML>
api/documentation/kara/start.1677273193.txt.gz · Zuletzt geändert: 2023/02/24 22:13 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki