Progammieren Schleifen?
Kann man grundsätzlich sagen wann man eine while schleife nehmen sollte und wann eine for ? Wann man die bedinung = verwenden sollte und wann es doch sinn macht mit ungleich zuarbeiten. Das geht ja jeweils in beide richtungen. Je nach dem ist eins davon leichter . Mir fehlt eigentlich immer der richtige ansatz bei einfachen Programmieraufgaben. Das würde mir weiterhelfen .
4 Antworten
While wenn es unendlich wiederholt werden soll oder damit es so lange läuft, bis etway erreicht ist. For wenn es bestimmbar ist, wie oft das wiederholt werden soll oder in überspringen Schritten etwas laufen soll. Pinzipiell ist aber nur das überspringende als while schleife schlecht darzustellen. Ob == oder != ist davon abhängig, was du haben willst. Du kannst auch immer nur eine benutzen, wenn du vor eine der Bedingungen not schreibst.
Gib mir gerne eine aufgabe, damit ich das angewandt Zeigen kann
hier z.b die aufgabe :Gegeben ist ein Text T als Array von Zeichen (char-Array). Z.b: T[] = {W,a,s, ,g,e,h,t, ,a,b} a) Schreibe eine Funktion in C, um die Häufigkeit eines Zeichens c in T zu zählen und zurückzugeben. b) Schreiben eine Funktion, um das erste Vorkommen eines Wortes w (ebenfalls ein char-Array) in T zu finden. Die Funktion soll den Index zurückgeben, an der das Wort beginnt. Und Danke
Das ist völlig egal. Beide sind da gleichberechtigt. Es ist die lesbarkeit des Codes, der die Wahl entscheidet.
for Schleifen solltest du verwenden, wenn du weist wie oft du eine bestimmte Aktion ausführen willst, zum Beispiel für jedes Element in einem Array.
While Schleifen solltest du verwenden, wenn du nicht weist, wie oft du eine Aktion durchführen wirst, zum Beispiel wenn du eine richtige Eingabe eines Benutzers erwartest und er es bei falschen Eingaben erneut versuchen soll
Eine For-Schleife verwendet man, wenn bereits bei der Festlegung des Schleifenkopfes feststeht wie oft der Schleifenrumpfs durchlaufen wird.
Die Festlegung der zu durchlaufenden Loops wird außerhalb des Schleifenrumpfes definiert.
*Powershell
$x = 5 #Anzahl der Loops außerhalb des Loops festlegen...
#hier steht von vornherein fest das die Schleife x-mal durchlaufen wird
for ($i= 0 ; $i -lt $x ; ++$i) {
Write-Host $i
}
Eine While-/Until- Schleife wird verwendet, wenn die Abbruchbedingung beim Eintritt in den Schleifenrumpf noch nicht verfügbar ist . (also erst durch Aktionen innerhalb der Schleife verfügbar wird.)
#der Wert der Abbruchbedingung ist hier noch nicht verfügbar
While ($var -ne 6) {
$var = 1..6|Get-Random #zahlvon 1 bis 6 Würfeln
Write-Host $var gewuerfelt
}
Write-Host 'eine 6 wurde gewuerfelt' -fo green
...Wir wissen nicht wie oft gewürfelt werden muss bis eine 6 fällt. Also reagiert unsere Schleife erst auf eine Innere "Wertänderung"!