|
|
|
Lösungen der Übungsaufgaben
|
Parameter3
|
import JavaKaraProgram;
/**
* <hr>
* Kara soll auf den Benutzer hören, und einige Schritte laufen, dabei
* Kleeblätter ablegen, wenn noch keine da liegen.
* Für die Programmierung von Kara soll eine Methode legeKleeblattZeile verwendet
* werden.
*
* <hr>
* @see <a href="Javakara.html">Alle Programme</a>
* @author Michael Martin
* @version 1.0 / 9.6.2002
*/
public class Parameter3 extends JavaKaraProgram
{ // Anfang von Parameter3
void legeKleeblattZeile(int n)
{ for (int i=1;i<=n;i++)
{ if (!kara.onLeaf())
{kara.putLeaf();
}
kara.move();
}
}
public void myProgram()
{ // Anfang von myProgram
int anzahl;
do
{ anzahl=tools.intInput("Wie viele Blätter soll Kara legen?");
if (anzahl>0)
{ legeKleeblattZeile(anzahl);
kara.turnLeft();
}
}
while (anzahl>0);
} // Ende von myProgram
} // Ende von Parameter
|
Parameter4
|
import JavaKaraProgram;
/**
* <hr>
* Kara soll ein Quadrat aus Blättern legen.
* Schreibe eine Methode legeQuadrat. Verwende die Methode legeKleeblattzeile
* wieder.
*
* <hr>
* @see <a href="Javakara.html">Alle Programme</a>
* @author Michael Martin
* @version 1.0 / 9.6.2002
*/
public class Parameter4 extends JavaKaraProgram
{ // Anfang von Parameter4
void legeKleeblattZeile(int n)
{ for (int i=1;i<=n;i++)
{ if (!kara.onLeaf())
{kara.putLeaf();
}
kara.move();
}
}
void legeQuadrat(int l)
{ for (int i=1;i<=4;i++)
{ legeKleeblattZeile(l);
kara.turnLeft();
}
}
public void myProgram()
{ // Anfang von myProgram
int anzahl;
do
{ anzahl=tools.intInput("Wie lang soll die Quadratseite sein?");
if (anzahl>0)
{ legeQuadrat(anzahl-1);
}
}
while (anzahl>0);
} // Ende von myProgram
} // Ende von Parameter4
|
Parameter5
|
import JavaKaraProgram;
/**
* <hr>
* Kara soll im Rechteck laufen. Es soll eine Methode laufeRechteck programmiert
* werden. Außerdem soll die Methode geheSchritte wiederverwendet werden.
*
* <hr>
* @see <a href="Javakara.html">Alle Programme</a>
* @author Michael Martin
* @version 1.0 / 9.6.2002
*/
public class Parameter5 extends JavaKaraProgram
{ // Anfang von Parameter5
void geheSchritte(int n)
{ for (int i=1;i<=n;i++)
{ kara.move();
}
}
void geheRechteck(int h,int b)
{ for (int i=1;i<=2;i++)
{ geheSchritte(b);
kara.turnLeft();
geheSchritte(h);
kara.turnLeft();
}
}
public void myProgram()
{ // Anfang von myProgram
int hoehe,breite;
do
{ hoehe=tools.intInput("Wie hoch soll das Rechteck sein?");
breite=tools.intInput("Wie breit soll das Rechteck sein?");
if (hoehe*breite>0)
{ geheRechteck(hoehe-1,breite-1);
}
}
while (hoehe*breite>0);
} // Ende von myProgram
} // Ende von Parameter5
|
Parameter6
|
import JavaKaraProgram;
/**
* <hr>
* Kara soll ein Rechteck legen. Es soll eine Methode legeRechteck programmiert
* werden.
*
* <hr>
* @see <a href="Javakara.html">Alle Programme</a>
* @author Michael Martin
* @version 1.0 / 9.6.2002
*/
public class Parameter6 extends JavaKaraProgram
{ // Anfang von Parameter6
void legeKleeblattZeile(int n)
{ for (int i=1;i<=n;i++)
{ if (!kara.onLeaf())
{kara.putLeaf();
}
kara.move();
}
}
void legeRechteck(int h,int b)
{ for (int i=1;i<=2;i++)
{ legeKleeblattZeile(b);
kara.turnLeft();
legeKleeblattZeile(h);
kara.turnLeft();
}
}
public void myProgram()
{ // Anfang von myProgram
int hoehe,breite;
do
{ hoehe=tools.intInput("Wie hoch soll das Rechteck sein?");
breite=tools.intInput("Wie breit soll das Rechteck sein?");
if (hoehe*breite>0)
{ world.clearAll();
legeRechteck(hoehe-1,breite-1);
}
}
while (hoehe*breite>0);
} // Ende von myProgram
} // Ende von Parameter6
|
Parameter7
erste
Version
|
import JavaKaraProgram;
/**
* <hr>
* Kara soll ein gefülltes Rechteck legen.
*
* <hr>
* @see <a href="Javakara.html">Alle Programme</a>
* @author Michael Martin
* @version 1.0 / 9.6.2002
*/
public class Parameter7 extends JavaKaraProgram
{ // Anfang von Parameter7
void legeKleeblattZeile(int n)
{ for (int i=1;i<=n;i++)
{ if (!kara.onLeaf())
{kara.putLeaf();
}
kara.move();
}
}
void geheZeilehochLinks()
{ kara.turnLeft();
kara.move();
kara.turnLeft();
kara.move();
}
void geheZeilehochRechts()
{ kara.turnRight();
kara.move();
kara.turnRight();
kara.move();
}
void legeVollesRechteck(int h,int b)
{ for (int i=1;i<=h;i++)
{ legeKleeblattZeile(b);
if (i%2==1)
{geheZeilehochLinks();
}
else
{geheZeilehochRechts();
}
}
}
public void myProgram()
{ // Anfang von myProgram
int hoehe,breite;
do
{ hoehe=tools.intInput("Wie hoch soll das Rechteck sein?");
breite=tools.intInput("Wie breit soll das Rechteck sein?");
if (hoehe*breite>0)
{ world.clearAll();
legeVollesRechteck(hoehe,breite);
}
}
while (hoehe*breite>0);
} // Ende von myProgram
} // Ende von Parameter7
|
Parameter7zweite
Version
|
|
|
|
|