einstieg:geschachtelt:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
einstieg:geschachtelt:start [2020/06/26 10:18] – [Beispiel 2: Stern-Dreieck] Martin Pabst | einstieg:geschachtelt:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Ineinandergeschachtelte Schleifen ====== | + | ====== Ineinandergeschachtelte |
- | Es kommt häufig vor, dass ein Programmteil wiederholt werden muss, in dem selbst schon eine Schleife | + | Es kommt häufig vor, dass ein Programmteil wiederholt werden muss, in dem selbst schon eine Wiederholung |
===== Beispiel 1: Einmaleinstabelle ===== | ===== Beispiel 1: Einmaleinstabelle ===== | ||
Zeile 116: | Zeile 116: | ||
<WRAP center round todo 80%> | <WRAP center round todo 80%> | ||
**War' | **War' | ||
- | Eigentlich ist die Aufgabe jetzt schon gelöst: Die Einmaleinstabelle wird korrekt ausgegeben. Trotzdem hoffe ich, dass Ihr mit der gefundenen Lösung genauso unzufrieden seid wie ich: | + | Eigentlich ist die Aufgabe jetzt schon gelöst: Die Einmaleinstabelle wird korrekt ausgegeben. Trotzdem hoffe ich, dass Ihr mit der gefundenen Lösung |
* Der Code ist hochgradig **[[https:// | * Der Code ist hochgradig **[[https:// | ||
- | * Wenn wir später in der for-Schleife | + | * Wenn wir später in der for-loop etwas ändern wollen (z.B. weil wir einen Fehler entdeckt haben), dann müssen wir es **10-Mal ausbessern**. |
* Das Programm **belegt sehr viel Speicherplatz**. | * Das Programm **belegt sehr viel Speicherplatz**. | ||
\\ \\ | \\ \\ | ||
Zeile 124: | Zeile 124: | ||
</ | </ | ||
- | == Bessere | + | ===== Saubere |
< | < | ||
Zeile 147: | Zeile 147: | ||
</ | </ | ||
+ | <WRAP center round todo 60%> | ||
+ | Die Tabelle sieht noch nicht perfekt aus, weil die Zahlen unterschiedlich breit sind: | ||
+ | < | ||
+ | 1 2 3 4 5 6 7 8 9 10 | ||
+ | 2 4 6 8 10 12 14 16 18 20 | ||
+ | 3 6 9 12 15 18 21 24 27 30 | ||
+ | 4 8 12 16 20 24 28 32 36 40 | ||
+ | 5 10 15 20 25 30 35 40 45 50 | ||
+ | 6 12 18 24 30 36 42 48 54 60 | ||
+ | 7 14 21 28 35 42 49 56 63 70 | ||
+ | 8 16 24 32 40 48 56 64 72 80 | ||
+ | 9 18 27 36 45 54 63 72 81 90 | ||
+ | 10 20 30 40 50 60 70 80 90 100 | ||
+ | </ | ||
+ | Im Kapitel zur Wenn-Dann-Anweisung werden wir [[wenndann: | ||
+ | </ | ||
Zeile 171: | Zeile 187: | ||
<script type=" | <script type=" | ||
- | for(int | + | for(int |
- | | + | |
print(" | print(" | ||
} | } | ||
Zeile 182: | Zeile 198: | ||
</ | </ | ||
- | == Aufgabe: == | + | ===== Aufgaben zum Stern-Dreieck: ===== |
1. Ändere das Programm so ab, dass die Pyramide auf dem Kopf steht, also so: | 1. Ändere das Programm so ab, dass die Pyramide auf dem Kopf steht, also so: | ||
< | < | ||
Zeile 198: | Zeile 214: | ||
* | * | ||
</ | </ | ||
- | <hidden Lösung> | ||
- | <code learnj> | ||
- | for(int zeile = 1; zeile <= 12; zeile++){ | ||
- | | ||
- | print(" | ||
- | } | ||
- | | ||
- | } | ||
- | </ | ||
- | </ | ||
+ | [[.loesungen: | ||
+ | |||
+ | | ||
2. Ändere das Programm so ab, dass die Pyramide zentriert erscheint, also so: | 2. Ändere das Programm so ab, dass die Pyramide zentriert erscheint, also so: | ||
< | < | ||
- | ************ | + | |
- | *********** | + | |
- | ********** | + | ***** |
- | ********* | + | |
- | ******** | + | ********* |
- | ******* | + | |
- | ****** | + | |
- | ***** | + | |
- | **** | + | |
- | *** | + | |
- | ** | + | |
- | * | + | |
</ | </ | ||
- | < | + | **Tipps: |
- | < | + | * Jede Reihe besteht jetzt aus einer ungeraden Anzahl von Sternen. Die Variable '' |
- | for(int zeile = 1; zeile <= 12; zeile++){ | + | * Vor jeder Reihe von Sternen stehen unterschiedlich viele Leerzeichen. Wie kann man die Anzahl der Leerzeichen aus der Anzahl der Sterne ( = Reihennummer) berechnen? Dazu eine Hilfstabelle: |
- | | + | |
- | | + | ^ Reihe ^ Anzahl von Sternen ^ Anzahl von Leerzeichen ^ |
+ | |1|1|6| | ||
+ | |3|3|5| | ||
+ | |5|5|7| | ||
+ | ... | ||
+ | |||
+ | \\ | ||
+ | [[.pyramidezentriert: | ||
+ | |||
+ | ===== Beispiel 3: Grafik ===== | ||
+ | Die Erzeugung von Grafikobjekten lernen wir [[klassen1: | ||
+ | <code myjava> | ||
+ | new Circle(300, 200, 100); | ||
+ | </code> | ||
+ | erzeugt ein Kreis-Objekt mit Mittelpunkt $(300,200)$ und Radius 100. | ||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | for(int zeile = 1; zeile <= 15; zeile++){ | ||
+ | | ||
+ | | ||
+ | new Circle(30*(16-spalte), | ||
} | } | ||
- | | ||
} | } | ||
- | </code> | + | </script> |
- | </hidden> | + | </div> |
+ | |||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ===== Weitere Aufgaben ===== | ||
+ | [[.geschachteltewh: |
einstieg/geschachtelt/start.1593159538.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)