PDF [51 KB] - SwissEduc.ch
PDF [51 KB] - SwissEduc.ch
PDF [51 KB] - SwissEduc.ch
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
JavaKara:<br />
JavaKara:<br />
Aufgaben Aufgaben zu zu Boole Boole’s<strong>ch</strong>e Boole Boole s<strong>ch</strong>e Logik und Verzweigungen<br />
Kara ara und und die die Blät Blätter... Blät ter...<br />
S<strong>ch</strong>reiben Sie ein Programm, das Kara bis zum nä<strong>ch</strong>sten Baum führt. Liegt auf<br />
einem Feld ein Blatt, soll Kara es aufnehmen; liegt auf einem Feld kein Blatt,<br />
eines hinlegen. Bei dem Baum angekommen ist das Programm zu beenden.<br />
Zwei Zwei mögli<strong>ch</strong>e mögli<strong>ch</strong>e Programmgerüst<br />
Programmgerüste Programmgerüst<br />
mit mit der der Wiederholung sind bereits vorgegeben.<br />
Ergänzen Ergänzen Sie Sie die die Methode Methode invertLeaf().<br />
invertLeaf().<br />
public void myProgram() {<br />
invertLeaf();<br />
while (!kara.treeFront()) {<br />
kara.move();<br />
invertLeaf();<br />
}<br />
}<br />
Kl Kleeblattsu<br />
Kl<br />
eeblattsu eeblattsu<strong>ch</strong>e eeblattsu <strong>ch</strong>e im im Wald I<br />
public void myProgram() {<br />
while (!kara.treeFront()) {<br />
invertLeaf();<br />
kara.move();<br />
}<br />
invertLeaf();<br />
}<br />
Kara su<strong>ch</strong>t ein Kleeblatt. Er weiss, dass eines geradeaus vor ihm liegt - er muss<br />
nur um die Bäume herumlaufen. Glückli<strong>ch</strong>erweise stehen nie zwei Bäume<br />
nebeneinander. S<strong>ch</strong>reiben Sie ein Programm, das ihn bis zum Kleeblatt führt!<br />
Das Das Das Programmgerüst Programmgerüst mit mit der der Wiederholung ist bereits vorgegeben. vorgegeben. Ergänzen Ergänzen Sie<br />
Sie<br />
die die notwendigen Befehle im im Hauptprogramm:<br />
Hauptprogramm:<br />
public void myProgram() {<br />
// Befehle, die allenfalls vor Wiederholung ausgeführt werden müssen<br />
while (! kara.onLeaf()) { // solange ni<strong>ch</strong>t auf Kleeblatt, wiederhole:<br />
// Kara soll vorwärts laufen<br />
}<br />
// Befehle, die allenfalls na<strong>ch</strong> Wiederholung ausgeführt werden müssen<br />
}<br />
1
Klee Kleeblattsu<strong>ch</strong>e Klee blattsu<strong>ch</strong>e im Wald III<br />
In Karas Welt gibt es Wälder mit Rundgängen, in denen<br />
Kara auf Kleeblättersu<strong>ch</strong>e geht. Jedes Feld in einem<br />
Rundgang hat genau zwei freie bena<strong>ch</strong>barte Felder.<br />
Eines davon liegt hinter Kara, von diesem Feld aus ist<br />
auf das aktuelle Feld gekommen. Das heisst, genau<br />
hinter einem der drei Fragezei<strong>ch</strong>en in der folgenden<br />
Abbildung ist ein leeres Feld, hinter den beiden anderen<br />
Fragezei<strong>ch</strong>en liegen Felder mit Bäumen:<br />
Das Das Programmgerüst Programmgerüst mit mit der der Wiederholung ist bereits vorgegeben. vorgegeben. Ergänzen Ergänzen Sie<br />
Sie<br />
die die notwendigen Befehle im Hauptprogramm:<br />
public void myProgram() {<br />
// Befehle, die allenfalls vor Wiederholung ausgeführt werden müssen<br />
while (! kara.onLeaf()) { // solange ni<strong>ch</strong>t auf Kleeblatt, wiederhole:<br />
// Kara soll vorwärts laufen<br />
}<br />
// Befehle, die allenfalls na<strong>ch</strong> Wiederholung ausgeführt werden müssen<br />
}<br />
Wand Wand entlang entlang laufen laufen (mittel)<br />
(mittel)<br />
Kara mö<strong>ch</strong>te einen Wald im Uhrzeigersinn patrouillieren. Programmieren Sie Kara<br />
so, dass er endlos im Uhrzeigersinn um diesen Wald läuft.<br />
Das Das Das Programmgerüst Programmgerüst mit mit der der Wiederholung ist bereits vorgegeben. vorgegeben. Ergänzen Ergänzen Sie<br />
Sie<br />
die die notwendigen Befehle im Hauptprogramm:<br />
public void myProgram() {<br />
while (true) { // wiederhole endlos (weil true immer true ist)<br />
// ...<br />
}<br />
}<br />
2