Skip to content

Commit

Permalink
Merge remote-tracking branch 'refs/remotes/origin/new_features_2024' …
Browse files Browse the repository at this point in the history
…into new_features_2024
  • Loading branch information
fschledorn committed Sep 21, 2024
2 parents dbbaae4 + 0f01355 commit adfa7ff
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions basics/schleifen.tex
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,19 @@
ihr könnt alleine mit den Mitteln, die ihr bisher kennen gelernt habt,
\emph{jede} mögliche Berechnung anstellen!

Es gibt noch eine weitere Art von Schleifen, die \texttt{for}-Schleife. Diese ist oft etwas inuitiver zu verwenden. Im Gegensatz zu einer \texttt{while}-Schleife, die ein Code-Fragment so lange ausführt bis eine Abbruchbeding erfüllt ist, führt eine \texttt{for}-Schleife ein Code-Fragment eine bestimmte Anzahl von Malen aus. Die \texttt{for}-Schleife hat folgende Struktur:
Es gibt noch eine weitere Art von Schleifen, die \texttt{for}-Schleife. Die for-Schleife hat folgende Struktur:
\begin{center}
\texttt{for (Initialisierung; Bedingung; Inkrementierung) \{ Code-Fragment \}}
\end{center}
Die Initialisierung wird nur einmal ausgeführt, bevor die Schleife beginnt. Die Bedingung wird vor jedem Durchlauf der Schleife überprüft. Wenn die Bedingung wahr ist, wird das Code-Fragment ausgeführt. Nachdem das Code-Fragment ausgeführt wurde, wird die Inkrementierung ausgeführt. Danach wird die Bedingung erneut überprüft. Wenn die Bedingung nicht mehr wahr ist, wird die Schleife beendet. Wie ihr später in eurem Studium noch beweisen werdet, sind \texttt{for}- und \texttt{while}-Schleifen gleich mächtig, d.h. jede \texttt{for}-Schleife kann in eine \texttt{while}-Schleife umgewandelt werden und umgekehrt. Es ist also erst einmal egal, welche Schleife ihr verwendet, nutzt einfach die, die euch am meisten zusagt.\newline
Die Initialisierung wird nur einmal ausgeführt, bevor die Schleife beginnt. Die Bedingung wird vor jedem Durchlauf der Schleife überprüft. Wenn die Bedingung wahr ist, wird das Code-Fragment ausgeführt. Nachdem das Code-Fragment ausgeführt wurde, wird die Inkrementierung ausgeführt. Danach wird die Bedingung erneut überprüft. Wenn die Bedingung nicht mehr wahr, also falsch ist, wird die Schleife beendet.

Der Unterschied zwischen den beiden Schleifenarten liegt hauptsächlich in ihrer Struktur:
\begin{itemize}
\item \texttt{for}-Schleife: Ideal, wenn du im Voraus weißt, wie oft die Schleife laufen soll. Sie hat eine eingebaute Zählervariable (oft i), eine Bedingung, die überprüft, ob der Zähler einen bestimmten Wert erreicht hat, und eine Inkrementierung, die den Zähler bei jedem Durchlauf erhöht.
\item \texttt{while}-Schleife: Flexibler, da sie für verschiedene Arten von Abbruchbedingungen verwendet werden kann. Sie läuft so lange, bis die angegebene Bedingung falsch wird.
\end{itemize}

Wie ihr später im Studium beweisen werdet, lassen sich die beiden Ausdrücke immer ineinander überführen. Sie sind also gleichmächtig, d.h. jede \texttt{for}-Schleife kann in eine \texttt{while}-Schleife umgewandelt werden und umgekehrt. Es ist also erst einmal egal, welche Schleife ihr verwendet, nutzt einfach die, die euch am meisten zusagt.\newline
Die \texttt{while}-Schleife aus dem vorherigen Beispiel mit den Primzahlen könnte also auch so aussehen:
\inputcpp{prim-for-loop.cpp}

Expand Down

0 comments on commit adfa7ff

Please sign in to comment.