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