Progammieren Schleifen?

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

kabik334 
Fragesteller
 18.11.2023, 21:46

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

0

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"!