Fehler in Lösung Übung 3

Napfton
Windoof-User
Windoof-User
Beiträge: 24
Registriert: 5. Apr 2011 10:21

Fehler in Lösung Übung 3

Beitrag von Napfton »

Hi

folgender Fehler befindet sich in der Lösung zu Übung 3 Aufgabe 1 a):

In Zeile 220 das break; bricht nicht das if sondern die Schleife, damit muss es eine Kante von 220 zu 222 geben, nicht zu 221 und dann wieder hoch an den Schleifenkopf inkl. weiterer Auswertung, siehe:

http://docs.oracle.com/javase/tutorial/ ... ranch.html

"The break statement, shown in boldface, terminates the for loop when that value is found. Control flow then transfers to the statement after the for loop"

Gruß

lauder
Erstie
Erstie
Beiträge: 11
Registriert: 18. Apr 2012 08:27

Re: Fehler in Lösung Übung 3

Beitrag von lauder »

Hi,

danke für den Hinweis! In der Tat ist uns da ein Tippfehler passiert: statt "break" hätte da "continue" stehen sollen. Wir haben das auf dem Blatt und in den Lösungshinweisen korrigiert. Durch ein "continue" wird mit dem nächsten Schleifendurchlauf fortgefahren und somit Knoten 221 angesteuert. Der Kontrollflussgraph bleibt also unverändert.

Viele Grüße
Marius

Napfton
Windoof-User
Windoof-User
Beiträge: 24
Registriert: 5. Apr 2011 10:21

Re: Fehler in Lösung Übung 3

Beitrag von Napfton »

Hi,

warum würde ein continue; dann aber nicht direkt in den Schleifenkopf springen also zu 205' sondern spring ans Ende der if-Schleife um die Variablen zu "undefinen"?

Danke und Gruß!

lauder
Erstie
Erstie
Beiträge: 11
Registriert: 18. Apr 2012 08:27

Re: Fehler in Lösung Übung 3

Beitrag von lauder »

In unserem Denkmodell überspringt man mit einem continue alle Anweisungen nach dem continue und schließt somit den Schleifendurchlauf korrekt ab, bevor man in die nächste Runde eintritt. Alternativ könnte man sich auch einen Knoten 205'' vorstellen, der nur vom Break aus erreichbar ist und neben den definierenden und lesenden auch noch undefinierenden Eigenschaften bzgl. Variablen hat.

Viele Grüße
Marius

Antworten

Zurück zu „Archiv“