Funktionsweise von Do-While-Loops in der Computerprogrammierung
Wenn Sie lernen, zu programmieren, wie man das Programmieren ohne all den Stress lernt Wie man das Programmieren ohne all den Stress lernt Vielleicht haben Sie sich entschieden, das Programmieren zu beginnen, ob für eine Karriere oder nur als Hobby. Großartig! Aber vielleicht fangen Sie an, sich überfordert zu fühlen. Nicht so toll. Hier finden Sie Hilfe, um Ihre Reise zu erleichtern. Lesen Sie mehr, das Verständnis der grundlegenden Bausteine ist der Schlüssel zu frühem Erfolg. Sie werden die schwierigen Themen später aufgreifen, aber wenn Sie Variablentypen, Schleifen und Funktionen nicht verstehen, ist es schwierig, weit zu kommen.
Die meisten neuen Programmierer lernen etwas darüber if-else-Anweisungen, während Schleifen, und für Schleifen vor langer Zeit Eine der Schleifenarten, die Sie möglicherweise nicht verstehen, ist die do-while-Schleife. Lassen Sie uns besprechen, wie diese Schleife funktioniert, wenn Sie sie verwenden möchten, und betrachten Sie einige Beispiele.
Die Grundlagen
Eine do-while-Schleife führt mindestens einmal einen Codeblock aus, prüft, ob eine Bedingung wahr ist, und führt den Code je nach Bedingung weiter aus. Schauen wir uns ein einfaches Pseudocode-Beispiel an (da es Ihnen beim Lernen hilft!) 10 Grundlegende Python-Beispiele, die Ihnen helfen, schnell zu lernen 10 Grundlegende Python-Beispiele, die Ihnen helfen werden, schnell zu lernen Dieser Artikel mit grundlegenden Python-Beispielen richtet sich an alle, die bereits etwas programmieren Erfahrung und möchten einfach so schnell wie möglich auf Python umstellen (Read More):
do output "Die Variable x ist gleich" + x; x ++; while (x < 5); output "The loop has ended.";
In diesem Codebit sind die Zeilen innerhalb von tun Klammern laufen immer mindestens einmal. Das bedeutet, dass x könnte einen beliebigen Wert am Anfang der Schleife haben.
Ob x gleich 1, wenn die Schleife beginnt, wird sie wiederholt, bis x erfüllt die nebenstehende Bedingung nicht während. Somit würde es insgesamt fünfmal laufen. Wann x ist nicht weniger als 5, endet die Schleife und setzt den Code danach fort. Diese Ausgabe würde folgendermaßen aussehen:
Die Variable x ist 1 Die Variable x ist 2 Die Variable x ist 3 Die Variable x ist 4 Die Variable x ist 5 Die Schleife ist beendet.
Umgekehrt, wenn x war gleich 20, als diese Schleife begann, würde sie nur einmal laufen. Sie sehen also eine Ausgabeanweisung, x erhöht sich auf 21, und die Schleife würde enden, da 21 nicht kleiner als 5 ist. Die Ausgabe wäre:
Die Variable x ist gleich 20 Die Schleife ist beendet.
Gegensatz zu While und For Loops
Wie funktioniert ein mache es Schleife unterscheidet sich von anderen Schleifen? Der wichtigste Unterschied besteht darin, dass Do-While-Schleifen eine Bedingung testen nach dem Ausführen eines Codeblocks, während andere Schleifen eine Bedingung prüfen Vor den Code ausführen.
Betrachten Sie diesen grundlegenden Pseudocode während Schleife zum Vergleich:
x = 10; während (x < 5) output "The loop has run!"; x++;
Hier, x ist auf 10 eingestellt und die während Schleife prüft das x ist weniger als 5, bevor es ausgeführt wird. Aus diesem Grund wird der Code nie ausgeführt. Wenn Sie dieselbe Logik auf eine do-while-Schleife anwenden, erhalten Sie Folgendes:
x = 10; do output "Die Schleife ist gelaufen!"; x ++; while (x < 5)
Diese Schleife gibt den Text einmal inkrementell aus x, dann weiter.
Beachten Sie, dass Sie die Do-while-Funktionalität mit einer zusätzlichen Anweisung vor a erneut erstellen können während Schleife wie folgt:
Ausgabe "Hallo!"; x ++; während (x < 5) output "Hello!"; x++;
Dies ist jedoch unübersichtlich und es gibt keinen Grund, dies zu tun, wenn Do-while-Loops vorhanden sind.
Für Loops
Do-while-Loops unterscheiden sich ähnlich zum Schleifen EIN zum Schleife definiert eine Variable, gibt an, wie lange die Schleife ausgeführt werden soll, und legt ein Verhalten für das Ende jeder Iteration fest.
Hier ist eine einfache zum Schleife zum Vergleich:
für (int i = 0; i < 5; i++) output "The loop has run " + i + " times.";
Dies hebt einen guten Kontrast hervor mache es und zum Schleifen - Sie wissen genau wie oft ein zum Die Schleife wird ausgeführt, weil Sie die Bedingungen beim Start festgelegt haben. Wenn Sie den obigen Code in eine do-while-Schleife wie folgt ändern:
do output "Die Schleife hat" + i + "mal ausgeführt."; i ++; während ich < 5);
Es könnte zu einem Problem kommen, wenn die Schleife ausgeführt wird. Wenn Sie nicht initialisiert haben ich woanders wissen Sie nicht, welchen Wert er haben wird, wenn die tun Teil läuft - und es wird mindestens einmal ausgeführt. Ob ich war 500, als diese Schleife ablief, die Ausgabe hier wäre ungenau.
In Summe:
- EIN do-while-Schleife ist nützlich, wenn Sie einen Befehl mindestens einmal und kontinuierlich ausführen möchten, bis eine Bedingung falsch ist.
- EIN while-Schleife können Sie einen Codeblock so lange wiederholen, wie eine Bedingung erfüllt ist, und stoppen, sobald die Bedingung nicht mehr erfüllt ist.
- EIN für Schleife können Sie genau angeben, wie oft die Schleife ausgeführt werden soll, indem Sie Ihre eigenen Parameter festlegen.
Verlassen einer Do-While-Schleife
Natürlich müssen Sie für jede Do-while-Schleife eine Beendigungsbedingung wie jede andere haben. Wenn nicht, könnte es zu einer Endlosschleife kommen. Betrachten Sie den folgenden Ausschnitt:
x = 5; do output "Das endet nie!"; while (x < 10);
Wenn Sie nicht erhöhen x An anderer Stelle im Code wird diese Schleife für immer ausgeführt. Jetzt sind manchmal unendliche Schleifen nützlich, da der Programmierer Code einrichtet, um die Schleife an anderer Stelle zu verlassen. Neulinge Codierer laufen jedoch meistens aus Versehen in unendliche Schleifen. Die 10 schlechtesten Programmierfehler in der Geschichte Die 10 schlechtesten Programmierfehler in der Geschichte In seiner geschichtsträchtigen Vergangenheit hat auch das Codieren die Zerstörung bewirkt. Instanzen von etwas schlechtem Code führten auf einer großen Ebene zu einer Katastrophe. Das Folgende sind 10 der schlimmsten Programmierfehler in der Geschichte. Weiterlesen .
Hier ist ein Beispiel für eine geeignete Endlosschleife. Nehmen wir an, Sie entwerfen ein Spiel. 5 Kostenlose Spieleentwicklungs-Software-Tools zum Erstellen eigener Spiele 5 Kostenlose Spieleentwicklungs-Software-Tools zum Erstellen eigener Spiele Hier sind die besten kostenlosen Spieleentwicklungssoftware und -tools, mit denen Sie heute Ihr Traumspiel erstellen können . Lesen Sie mehr, wo der Benutzer einen Würfel wirft und eine 6 erhält, um die Heimatbasis zu verlassen. Sie wollen weiter würfeln, bis sie auf 6 landet, und Sie müssen offensichtlich mindestens einmal würfeln. Daher können Sie diesen Code verwenden:
do int roll = zufällig (1, 2, 3, 4, 5, 6); if (roll == 6) brechen; while (wahr);
Das während (wahr) Bedingung bedeutet, dass diese Schleife für immer ausgeführt wird, was wir wollen, weil der Benutzer so lange rollen muss, bis er eine 6 erhält brechen Aussage, es würde stecken bleiben. Sobald der Benutzer eine 6 würfelt, wird die ob Die Anweisung wird wahr und die Sequenz bricht aus der Schleife aus und setzt sich mit dem fort, was danach kommt.
Sie müssen keine break-Anweisung verwenden, wenn Sie dies nicht möchten. In der Tat ist es wahrscheinlich besser, Bruchaussagen zu vermeiden, wenn Sie können. Sie erschweren die Pflege Ihres Codes, und das Beenden einer Bedingung lässt sich leichter nachverfolgen. Somit erfüllt der modifizierte Code den gleichen Zweck:
do int roll = zufällig (1, 2, 3, 4, 5, 6); while (roll! = 6);
Eine schlechte Endlosschleife
Eine Endlosschleife, für die Sie einen Plan zum Verlassen haben, ist in Ordnung. Manchmal erstellen Sie jedoch aus Versehen eine Endlosschleife, wie im folgenden Beispiel:
int x = 7; do x = 1; x = x + 2; Ausgabe "x ist gleich" + x; while (x < 10);
Das könnte aussehen, als würde es inkrementiert x jede Schleife um 2 wiederholen und wiederholen, bis x nicht weniger als 10 ist, aber genauer hinschauen. Weil die Schleife sich setzt x gleich 1 Jedes Mal, wenn es läuft, ist dies eine Endlosschleife. Beachte das x = 1 und x = x + 2 bedeutet, dass x ist immer 3 am Ende des Blocks, egal wie oft dieser läuft, was bedeutet x ist nie weniger als 10.
Achten Sie auf Anweisungen in Ihrer Schleife, die eine Variable bei jeder Ausführung ungewollt ändern, um Situationen wie diese zu vermeiden.
Praxisbeispiele
Wir haben oben einige hypothetische Beispiele besprochen, aber werfen wir einen kurzen Blick auf einige nützliche Beispiele aus der Praxis von Do-while-Loops.
Wenn Sie eine Schleife erstellen, um Daten aus einer Datei bis zum Ende zu lesen, verwenden Sie eine do-while-Schleife. Wenn Sie aus einer Datei lesen möchten, müssen Sie sich mindestens einen Charakter holen, um eine Do-while-Schleife wie folgt zu verwenden (dank des Stack Exchange-Benutzers Steven Burnap für dieses Beispiel):
do result = readData (Puffer); while (Ergebnis! = EOF);
Ohne eine kurze Wartezeit müssten Sie eine etwas hässlichere Lösung verwenden:
while (true) result = readData (Puffer); if (Ergebnis == EOF) break;
Ein anderes Beispiel beinhaltet das Erfassen von Eingaben von einem Benutzer. Angenommen, Sie schreiben ein Programm, das den Benutzer auffordert, eine positive Zahl einzugeben. Mit einem Do-While können Sie sicherstellen, dass ihre Eingabe angemessen ist:
do output "Bitte geben Sie eine positive Zahl ein:"; int input = getInput (); while (Eingabe < 0);
Bei dieser Schleife sieht der Benutzer die Aufforderung, eine Zahl einzugeben, und gibt einmal einen Wert ein. Wenn sie eine negative Zahl eingeben, wird die Schleife erneut ausgeführt, und sie werden aufgefordert, eine positive Zahl einzugeben, bis sie übereinstimmen. Andere Schleifen sind für diese Art von Aktion einfach nicht sinnvoll.
Gebrauchsfertige Do-While-Loops?
Wir haben eine Übersicht über Do-While-Loops erstellt, einschließlich ihrer grundlegenden Prinzipien, wie sie am besten verwendet werden können und wie sie mit anderen Loops verglichen werden. Wenn Sie sich an nichts anderes aus diesem Artikel erinnern, sollten Sie wissen, dass Do-while-Loops für Sie bestimmt sind Wenn Sie etwas mindestens einmal ausführen müssen, wissen Sie jedoch nicht, wie oft Sie es benötigen, bevor Sie die Schleife starten.
Überlegen Sie sich solche Situationen in Ihren Programmen, und Sie finden leicht Orte, an denen Do-while-Loops passen. Fast alle besten Anfängersprachen 6 Einfachste Programmiersprachen zum Erlernen für Anfänger 6 Einfachste Programmiersprachen zum Erlernen für Anfänger Beim Programmieren lernen Sie, die richtige Sprache zu finden, ebenso wie den Erbauungsprozess. Hier sind die sechs einfachsten Programmiersprachen für Anfänger. Lesen Sie weitere Do-while-Loops für die Unterstützung, damit Sie keine Probleme bei der Implementierung haben sollten.
Wenn Sie sich mit den Grundlagen vertraut machen, sollten Sie sich unsere wichtigsten Tricks für das Beherrschen einer neuen Programmiersprache durchlesen. 7 Nützliche Tricks für das Beherrschen einer neuen Programmiersprache 7 Nützliche Tricks für das Beherrschen einer neuen Programmiersprache Es ist in Ordnung, beim Lernen von Code überfordert zu sein . Sie werden die Dinge wahrscheinlich so schnell vergessen, wie Sie sie lernen. Diese Tipps helfen Ihnen dabei, all diese neuen Informationen besser aufzubewahren. Weiterlesen .
Welche anderen Situationen können Sie sich vorstellen, wo ein Do-while sinnvoll ist? Diskutieren Sie und lassen Sie uns wissen, ob Sie in Ihren Programmen im Kommentarbereich Do-while-Schleifen verwenden!
Bildnachweis: Aaban über Shutterstock.com
Erfahren Sie mehr über: Programmierung.