Sassy Geschrieben 10. Februar 2010 Teilen Geschrieben 10. Februar 2010 Würdet ihr sagen, dass folgende Schleife eine Endlosschleife ist? int x = 5; while ( x > 1) { x++; } Ich habe ein bisschen gegooglet und als Beschreibung für eine Endlosschleife immer nur folgende Aussage gefunden: Endlosschleifen in der Informatik sind Schleifen, die nach jeder Abarbeitung erneut abgearbeitet werdenZitat von Wikipedia Diese Schleife wird jedoch nicht erneut abgearbeitet, sondern sobald int x die größte speicherbare Zahl erreicht hat, springt er aus der Schleife raus und arbeitet den Rest des Programms ab. Grund meiner Frage: Ich habe in der Klausur geschrieben, dass dies eine Endlosschleife sei, da die Bedingung der While immer erfüllt ist. Wenn ich jetzt so drüber nachdenke, stimmt meine Aussage nicht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 10. Februar 2010 Teilen Geschrieben 10. Februar 2010 Diese Schleife wird jedoch nicht erneut abgearbeitet, sondern sobald int x die größte speicherbare Zahl erreicht hat, springt er aus der Schleife raus und arbeitet den Rest des Programms ab.Streng genommen ist das Verhalten dieses Codes nicht definiert. Der Standard sagt nichts darüber aus, was bei einem Integer-Überlauf passiert. Praktisch wird es aber so sein, dass x nach Erreichen des größten darstellbaren int-Wertes einen negativen Wert annimmt und damit die Schleife beendet wird. Eine Endlosschleife ist das also nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BrauniDeluxe Geschrieben 10. Februar 2010 Teilen Geschrieben 10. Februar 2010 int x = 5; while ( x == x) { println(x); } Dann einfach so Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 10. Februar 2010 Teilen Geschrieben 10. Februar 2010 Das x == x führt da immer true zu einer Endlosschleife, das sich über die Schleifeninvariante zeigen lässt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BrauniDeluxe Geschrieben 10. Februar 2010 Teilen Geschrieben 10. Februar 2010 Es ging doch um eine Endlosschleife ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 10. Februar 2010 Teilen Geschrieben 10. Februar 2010 Es ging doch um eine Endlosschleife ? Es ging entweder darum, eine Endlosschleife selbst anzugeben, oder bei einer vorgegeben Schleife zu ermitteln, ob es eine Endlosschleife ist, das geht aus Sassys Beschreibung nicht klar hervor. Ein formaler Beweis war vermutlich nicht gefragt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sassy Geschrieben 10. Februar 2010 Autor Teilen Geschrieben 10. Februar 2010 Sorry dass ich mich undeutlich ausgedrückt habe ^^. Die Frage war, was für Probleme bei der angegebenen Schleife auftreten, bzw. was daran falsch sei. (Wörtlich weiss ich es leider nicht mehr.) Da hab ich halt geantwortet, dass es eine Endlosschleife sei, bin mir jetzt im Nachhinein aber nicht mehr sicher, ob das überhaupt richtig ist Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 10. Februar 2010 Teilen Geschrieben 10. Februar 2010 Da hab ich halt geantwortet, dass es eine Endlosschleife sei, bin mir jetzt im Nachhinein aber nicht mehr sicher, ob das überhaupt richtig ist Ich hätte da eine sehr ausformulierte Antwort gegeben: Logisch ja, technisch nein Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 10. Februar 2010 Teilen Geschrieben 10. Februar 2010 Wie Klotzkopp gesagt hat ist das nicht festgelegt was passiert. Das heißt das kommt drauf an wie der jenige der die Klausur bewertet das sieht. Aber da er die Frage überhaupt gestellt hat und ich jetzt einfach mal nicht davon ausgehen würde das er sich da tiefer mit dem C Standard befassen wollte, denke ich das die Antwort ok sein sollte Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.