break;

Flegmon

Erfahrenes Mitglied
Hallo,

neulich im Informatik unterricht sollten wir ein Struktogramm erstellen. Da habe ich eine Endlosschleife, welche von innerhalb abgebrochen wird benutzt.

Meinem Lehrer war das neu und ich hab ihm gesagt das ist wie mit dem "break" in C\C++\Java. Nur meinte er dann, dass es kein guter Programmierstil sei mit break zu arbeiten. Da bin ich anderer Meinung.

Jetzt würde mich interessieren was die Profis dazu meinen...
 
Hi,

meine 2 Cents: In den meisten Fällen kommt man prima damit aus, die Abbruchbedingung am Anfang (while (x) { .. }) bzw. am Ende der Schleife (do { .. } while (x)) anzufragen, wenn die Anzahl der Durchläufe nicht bekannt ist. Auch wenn sich irgendwo in der Mitte der Schleife klärt, ob sie weiter ausgeführt werden soll, kann man die Abbruchbedingung erfüllen und z.B. den Rest der Schleife mit einer if-Bedingung überspringen.

Gruß
.
 
Schlimm wenn sowas einem "Lehrer" neu ist. Ob man eine Schleife mit break verlassen soll oder nicht ist schon fast eine Glaubensfrage. Eigentlich nur mit der Juristenantwort: "Es kommt darauf an.", zu beantworten.
 
Also ich finde das ziemlich unschön, ein Endlosschleife (ala while(true) ) mit break zu beenden. Da du für das Break sowieso eine Bedingung hast, kannst du diese auch kannst du diese auch in den Schleifekopf /-fuß schreiben.
Die einzige Situation, in der ich das nutzen würde wäre, wenn du in der Schleife ein "unerwartes" Ereignis (Exception) hast und ein voranschreiten zum Kopf bzw.Fuß unmöglich ist.
 
Hallo!

ich denke diese break-Konstrukte sind manchmal ganz schoen nuetzlich. Insbesondere bei Parser-Implementierungen in denen man sehr oft sehr tief verschachtelte Konstrukte findet machen sie sich bezahlt um schnell aus einem bestimmten Zweig herauszukommen.

Gruss Tom
 
Ganz meine Meinung. :) Ich kann mich dem nur anschließen.
Aus eigener Erfahrung kenn ich auch Lehrer die mal was "gehört" haben,
aber letztendlich noch nicht so viel umgesetzt haben um zu wissen wovon sie reden. :(
[thread=214674]Kennt jemand "Logo"? - Thread[/thread]
 

Neue Beiträge

Zurück