PowerPoint-Präsentation

Werbung
Schleifen
14.02.2017 1
Rosette
Ziel
Strategie
gehe zur Mitte
bewege den Stift um 100
zeichne Kreis mit Radius 100
drehe die Blickrichtung um 60
gehe zur Mitte
bewege den Stift um 100
zeichne Kreis mit Radius 100
…
14.02.2017
2
Programmieren durch
Kopieren
14.02.2017
3
Analyse mit dem
Debugger
Haltepunkt setzen
Attributwerte des Stifts ausgeben
schrittweise abarbeiten
14.02.2017
4
Wiederholung steuern
pen.bewegeBis(300, 300);
pen.bewegeUm(100);
pen.zeichneKreis(100);
pen.dreheUm(60);
Die Befehle müssen wiederholt werden,
Bis die Blickrichtung des Stiftes 360 ist.
14.02.2017
5
do-while-Schleife
14.02.2017
6
Variationen
Wie muss der Quelltext verändert werden,
damit die nebenstehende Figur entsteht?
14.02.2017
7
while-Schleife
14.02.2017
8
Schleifen
Um einen bestimmten Teil des Programms mehrfach auszuführen, werden
Schleifen verwendet:
•Sie können variabel festlegen, wie oft oder bis zum Eintreffen welcher
Bedingung die Schleife durchlaufen werden soll.
•Durch Verwendung von Schleifen wird Programmcode gespart.
14.02.2017
9
Aufbau einer Schleife
Eine Schleife besteht aus einer Schleifensteuerung und dem
Schleifenrumpf.
Schleifensteuerung
Entscheidet, ob oder wie oft die Anweisungen im Schleifenrumpf
wiederholt werden sollen.
Schleifenrumpf:
Er umfasst die Anweisungen, die wiederholt werden sollen.
14.02.2017
10
Steuerungsarten
Schleifensteuerung
Schleifenrumpf
Schleifenrumpf
Schleifensteuerung
kopfgesteuerte Schleife u. fußgesteuerte Schleife
14.02.2017
11
Kopfgesteuerte Schleife
Schleifensteuerung
Schleifenrumpf
• Die Prüfung, ob die Anweisungen im
Schleifenrumpf ausgeführt werden, erfolgt
gleich zu Beginn.
• Ist das Kriterium erfüllt, wird der
Schleifenrumpf durchlaufen und
anschließend erfolgt erneut eine Prüfung.
• Falls das Kriterium bereits zu Beginn nicht
erfüllt ist, wird der Schleifenrumpf gar nicht
ausgeführt.
14.02.2017
12
Fußgesteuerte Schleife
Schleifenrumpf
• Zuerst werden die Anweisungen des
Schleifenrumpfs ausgeführt.
• Dann erfolgt die Prüfung, ob ein weiterer
Durchlauf erfolgen soll.
• Der Schleifenrumpf wird also immer
mindestens einmal ausgeführt.
Schleifensteuerung
14.02.2017
13
while-Schleife
while (Bedingung) {
// Anweisungen
}
In den runden Klammern steht eine
Bedingung, die den Wert true (wahr) oder
false (falsch) liefern muss.
Der Schleifenrumpf wird durch geschweifte
Klammern festgelegt.
Ist die Bedingung erfüllt (true), werden die Anweisungen im Schleifenblock
ausgeführt und anschließend wird erneut die Bedingung geprüft.
Ist die Bedingung nicht erfüllt (false), wird der Schleifenkörper
übersprungen und das Programm nach der while-Anweisung
fortgesetzt.
Die Schleife ist kopfgesteuert.
14.02.2017
14
Vergleichsoperatoren
==
überprüft zwei Ausdrücke auf Gleichheit
!=
überprüft zwei Ausdrücke auf Ungleichheit
>
liefert true, wenn der erste Ausdruck größer als der zweite ist
<
liefert true, wenn der erste Ausdruck kleiner als der zweite ist
>=
liefert true, wenn de erste Ausdruck größer als der zweite ist oder gleich
dem zweiten ist
<=
liefert true, wenn der erste Ausdruck kleiner als der zweite ist oder gleich
dem zweiten ist
14.02.2017
15
do-while-Schleife
do {
// Anweisungen
} while (Bedingung)
Hinter dem Schlüsselwort do steht der
Schleifenrumpf in geschweiften Klammern.
Hinter dem Schleifenrumpf steht das
Schlüsselwort while und in runden
Klammern, die Bedingung, die die Schleife
steuert.
Der Schleifenrumpf wird mindestens einmal ausgeführt.
Ist die Bedingung true, wird der Schleifenkörper erneut ausgeführt.
Ist die Bedingung nicht erfüllt (false), wird die do-while-Anweisung
beendet und das Programm fortgesetzt.
14.02.2017
16
Polygon
Bei der nebenstehenden Figur sind
folgende Werte gewählt worden:
1. int maximalLaenge = 400;
2. int ablenkWinkel = 90;
3. int zuwachs = 9;
Testen Sie auch folgende Werte:
400
400
200
400
90
154
60
165
9
2
1
1
14.02.2017
17
Stern
14.02.2017
18
Analyse
Durch die Befehle in den Zeilen 23
bis 29 wird eine Raute gezeichnet.
Der Befehl in Zeile sorgt für die
passende Startposition für die
nächste Raute.
Die Schleife wird durch die
Zählung der Rauten gesteuert.
i gibt die Nummer der Raute an,
die gerade gezeichnet wird.
14.02.2017
19
for-Schleife
14.02.2017
20
for-Anweisung
Die for-Anweisung zeichnet sich durch eine kompakte Schreibweise aus und
wird häufig verwendet, wenn die Anzahl der Schleifendurchläufe zuvor bereits
bekannt ist.
Die for-Schleife ist eine kopfgesteuerte Schleife.
Jede for-Schleife lässt sich auch durch eine while-Schleife formulieren.
14.02.2017
21
Aufbau einer
for-Anweisung
for (Initialisierungsteil; Bedingungsteil; Aktualisierungsteil) {
// Anweisungen
}
Initialisierungsteil
Eine Variable, die als Zähler dienen soll, wird definiert und initialisiert.
Bedingungsteil
Es wird eine Bedingung wie bei einer while-Anweisung formuliert.
Aktualisierungsteil
Hier kann angegeben werden, wie sich der Wert der Zählvariablen nach jedem
Schleifendurchlauf verändert.
14.02.2017
22
Deckchen
14.02.2017
23
Teilfiguren
Bei jeder Teilfigur werden sieben Kreise gezeichnet.
Der Radius wird von innen nach außen größer.
Zwei benachbarte Kreise durchdringen sich.
Implementieren Sie den Zeichner mit Hilfe zweier ineinander geschachtelter
Schleifen. Untersuchen Sie mit Hilfe des Debuggers den Gültigkeitsbereich
der lokalen Variablen.
14.02.2017
24
Debugger
Ein Debugger ist ein Softwarewerkzeug , mit dem man eine kontrollierte
Ausführung eines Quelltextes durchführen kann.
Haltepunkt
setzen
Werte
kontrollieren
schrittweise
durchlaufen
14.02.2017
25
Schachbrett
Jede Zeile besteht aus acht
Quadraten.
Insgesamt gibt es acht Zeilen.
Es werden abwechselnd schwarze
und weiße Quadrate gezeichnet.
14.02.2017
26
Kontrollstrukturen
14.02.2017
27
if-Anweisungen
Bei vielen Problemstellungen ist die Verarbeitung von Anweisungen von
Bedingungen abhängig.
Nur wenn die Bedingung erfüllt ist, wird die betreffende Anweisung (oder der
Anweisungsblock) ausgeführt. Andernfalls wird die Anweisung übersprungen.
Für die Steuerung eines solchen Programmablaufs stellt Java die einseitige
if-Anweisung zur Verfügung.
if (Bedingung) {
// Anweisungen
}
14.02.2017
28
if-else-Anweisungen
Bei if-else-Anweisung werden bestimmte Anweisungen durchgeführt, falls
die Bedingung erfüllt ist.
Falls die Bedingung nicht erfüllt ist, werden andere Bedingungen
durchgeführt.
Da hier bei beiden Fällen alternative Anwendungen ausgeführt werden, wird
die if-else-Anweisung auch als zweiseitige if-Anweisung bezeichnet.
if (Bedingung) {
// Anweisungen
} else {
// Anweisungen
}
14.02.2017
29
if-Anweisung
Die Bedingung steht in runden Klammern hinter dem Schlüsselwort if.
Falls die Bedingung erfüllt ist, wird der erste Anweisungsblock abgearbeitet,
andernfalls wird der zweite Anweisungsblock abgearbeitet.
14.02.2017
30
Kontrollstrukturen
Der Oberbegriff für Schleifen und Verzweigungen ist Kontrollstruktur.
14.02.2017
31
Herunterladen