Benutzer-Werkzeuge

Webseiten-Werkzeuge


einstieg:geschachtelt:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
einstieg:geschachtelt:start [2020/07/08 16:19] Martin Pabsteinstieg:geschachtelt:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
-====== Ineinandergeschachtelte Schleifen ======+====== Ineinandergeschachtelte Wiederholungen ("Schleifen"/"Loops"======
  
-Es kommt häufig vor, dass ein Programmteil wiederholt werden muss, in dem selbst schon eine Schleife steckt. Das ist kein Problem, denn Schleifen kann man beliebig ineinander schachteln. Wofür das gut ist und wie es geht, zeige ich Dir am besten an ein paar Beispielen.+Es kommt häufig vor, dass ein Programmteil wiederholt werden muss, in dem selbst schon eine Wiederholung steckt. Wofür das gut ist und wie es geht, zeige ich Dir am besten an ein paar Beispielen.
  
 ===== Beispiel 1: Einmaleinstabelle ===== ===== Beispiel 1: Einmaleinstabelle =====
Zeile 116: Zeile 116:
 <WRAP center round todo 80%> <WRAP center round todo 80%>
 **War's das schon?** \\ \\ **War's das schon?** \\ \\
-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 **genauso unzufrieden seid wie ich**:
   * Der Code ist hochgradig **[[https://de.wikipedia.org/wiki/Redundanz_(Kommunikationstheorie)|redundant]]**.    * Der Code ist hochgradig **[[https://de.wikipedia.org/wiki/Redundanz_(Kommunikationstheorie)|redundant]]**. 
-  * Wenn wir später in der for-Schleife etwas ändern wollen (z.B. weil wir einen Fehler entdeckt haben), dann müssen wir es **10-Mal ausbessern**.+  * 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:
 </WRAP> </WRAP>
  
-== Bessere Lösung: zwei ineinandergeschachtelte Schleifen ==+===== Saubere Lösung: zwei ineinandergeschachtelte for-loops =====
 <HTML> <HTML>
  
Zeile 198: Zeile 198:
 </HTML> </HTML>
  
-===== Aufgaben: =====+===== 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:
 <code> <code>
Zeile 217: Zeile 217:
 [[.loesungen:aufgabe1:start|Hier geht's zur Lösung!]] [[.loesungen:aufgabe1:start|Hier geht's zur Lösung!]]
  
-<hidden Lösung> 
-<code learnj> 
- 
-</code> 
-</hidden> 
  \\   \\ 
 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:
Zeile 244: Zeile 239:
  \\   \\ 
 [[.pyramidezentriert:start|Hier geht's zur Lösung!]] [[.pyramidezentriert:start|Hier geht's zur Lösung!]]
 +
 +===== Beispiel 3: Grafik =====
 +Die Erzeugung von Grafikobjekten lernen wir [[klassen1:anwenden:start|erst etwas später]], trotzdem glaube ich, dass Du das folgende Beispiel bestimmt schon verstehen kannst. Nur so viel:
 +<code myjava>
 +new Circle(300, 200, 100);
 +</code>
 +erzeugt ein Kreis-Objekt mit Mittelpunkt $(300,200)$ und Radius 100.
 +
 +<HTML>
 +
 +<div class="java-online" style="height: 250px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Schachteln2'}">
 +
 +<script type="text/plain" title="Main.java">
 +for(int zeile = 1; zeile <= 15; zeile++){
 +   for(int spalte = 1; spalte <= 16 - zeile; spalte++){
 +      new Circle(30*spalte, 30*zeile, (spalte + zeile)*1.2);
 +      new Circle(30*(16-spalte), 30*(16-zeile), (spalte + zeile)*1.2);
 +   }
 +}
 +</script>
 +</div>
 +
 +</HTML>
 + \\ 
 +
 +
  
  
 +===== Weitere Aufgaben =====
 +[[.geschachteltewh:weitereaufgaben:start|Weitere Aufgaben zu geschachtelten Wiederholungen findest Du hier.]]
einstieg/geschachtelt/start.1594217986.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki