26_Tree
Code-Dateien
| Dateiname | Aktion |
|---|---|
| CODECode_Baum.zip | Download |
| CODECode_Baum2.zip | Download |
| CODECode_Tree.zip | Download |
PDF-Dokumente
| Dateiname | Aktion |
|---|---|
| PDFFolie_Baum_D_Teil1.pdf | Öffnen |
| PDFFolie_Baum_D_Teil2.pdf | Öffnen |
| PDFFolie_Tree_E.pdf | Öffnen |
| PDFUebung_Baum.pdf | Öffnen |
| PDFUebung_Baum2.pdf | Öffnen |
Videos
| Dateiname | Aktion |
|---|---|
| VIDEOVideo_Baum_D_Teil1 | Abspielen |
| VIDEOVideo_Baum_D_Teil2 | Abspielen |
| VIDEOVideo_Tree_E_Part1 | Abspielen |
| VIDEOVideo_Tree_E_Part2 | Abspielen |
Lernmaterialien
Vorbereitung
Erstellen Sie ein Excel-Sheet mit Zeilen und Spaltennummerierung:
Definieren des benötigten Bereiches:
public void printBaum(int hohe)
{
for (int z=0; z<hohe; z++)
{
for (int s=0; s<(2*hohe-1); s++)
{
System.out.print("*");
}
System.out.println();
}
}System.out.print("*");
Gibt das Zeichen
*aus OHNE Zeilenvorschub
System.out.println();
Gibt DEN Zeilenvorschub
2*hohe-1
Berechnet die Breite des “Blocks”
Baum
Die Ausgabe besteht aus 3 Linien:
z == 6… das ist die untere Linie.z+s == 6… das ist die linke Linies-z == 6… das ist die rechte Linie
Nun bringen wir die Linien in eine allgemeine Formel:
z == hohe-1… das ist die untere Linie.z+s == hohe-1… das ist die linke Linies-z == hohe-1… das ist die rechte Linie
public void printBaum(int hohe)
{
for (int z=0; z<hohe; z++)
{
for (int s=0; s<(2*hohe-1); s++)
{
if ((z == hohe-1) || (z+s == hohe-1) || (s-z == hohe-1))
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}Es werden 2 unterschiedliche Zeichen ausgegeben:
*_
if ((z == hohe-1) || (z+s == hohe-1) || (s-z == hohe-1)) System.out.print("*"); else System.out.print(" ");
Die drei Bedingungen (unter, linke und rechte Linie) werden mit ODER verknüpft und ein
*ausgegeben.Wenn keine Bedingung zutrifft, dann wird ein
_ausgegeben.
Kugel
Wir haben anstelle des _ ein o gezeichnet!
Daher ist die blaue Codezeile zu ersetzten.
Die Füllung ist innerhalb der 3 Linien:
z < 6… dieoist über der unteren Linie.z+s > 6… dieoist rechts von der linken Linies-z < 6… dieoist links von der rechten Linie
Nun bringen wir die Bedingungen in eine allgemeine Formel:
z < hohe-1… dieoist über der unteren Linie.z+s > hohe-1… dieoist rechts von der linken Linies-z < hohe-1… dieoist links von der rechten Linie
Wir sind “über der unteren Linie” UND “rechts von der linken Linie” UND “links von der rechten Linie”.
public void printBaum(int hohe)
{
for (int z=0; z<hohe; z++)
{
for (int s=0; s<(2*hohe-1); s++)
{
if ((z == hohe-1) || (z+s == hohe-1) || (s-z == hohe-1))
{
System.out.print("*");
}
else
{
if ((z < hohe-1) && (z+s > hohe-1) && (s-z < hohe-1))
{
System.out.print("o");
}
else
{
System.out.print(" ");
}
}
}
System.out.println();
}
}
Kerzen
In jeder 2. Zeile sollen am Rand Kerzen sein!
Bedingung:
z%2 == 1
Diese Codezeile gehört durch die Bedingung erweitert.
public void printBaum(int hohe)
{
for (int z=0; z<hohe; z++)
{
for (int s=0; s<(2*hohe-1); s++)
{
if ((z == hohe-1) || (z+s == hohe-1) || (s-z == hohe-1))
{
if (z%2 == 1)
System.out.print("I");
else
System.out.print("*");
}
else
{
if ((z < hohe-1) && (z+s > hohe-1) && (s-z < hohe-1))
{
System.out.print("o");
}
else
{
System.out.print(" ");
}
}
}
System.out.println();
}
}