Unterschied zwischen Iteration,Sequenz und Alternation in der Programmiersprache?

2 Antworten

Java Beispiel:

public boolean beinhaltetString(String[] array, String gesucht) {
   for (int i = 0; i < array.length; i++) {
      if (array[i].equals(gesucht)) {
         return true;
      }
   }
   return false;
}

Dieser Algorithmus verwendet eine Iteration, um für jeden String in dem String Array zu überprüfen, ob er der gesuchte String ist. In der Iteration wird die Variable i von 0 (dem Index des ersten Strings im Array) immer weiter um 1 hochgezählt (i++). Die Iteration wiederholt den Code, der in den geschweiften Klammern steht, so oft, wie i noch nicht der Anzahl der Strings im Array entspricht (i < array.length). Sobald die Anzahl der Strings erreicht ist, ist die Iteration vorbei, da es keine weiteren Strings zu überprüfen gibt. Eine Iteration wiederholt also Code für verschiedene Variablen, in diesem Fall die Indizes der Strings im Array.

Es soll aber nur dann true zurückgegeben werden, wenn es einen String gibt, der dem gesuchten String entspricht. Daher wird eine if-Bedingung verwendet. Hier kann das Programm verschiedene Dinge tun: Sollte der in der aktuellen Iteration überprüfte String dem gesuchten String entsprechen, wird true zurückgegeben, sonst passiert nichts. Eine Bedingung kann also, je nachdem, ob eine Abfrage true oder false ist, verschiedene Dinge tun. Das ist im Kontext von Algorithmen wahrscheinlich mit "Alternation" gemeint.

Eine Sequenz gibt es dann, wenn verschiedene Anweisungen in einem Algorithmus nacheinander ausgeführt werden. Da ist häufig das Ergebnis der vorherigen Anweisung für die nächte Anweisung von Bedeutung. Wenn du beispielsweise den Anfangsbuchstaben des Namens einer Person herausfinden möchtest, findest du erst den Namen dieser Person heraus und nimmst von diesem String dann das erste Zeichen. In dem Beispiel-Algorithmus gibt es eine Sequenz, da zuerst alle Strings auf das gesuchte Element überprüft werden und dann, also wenn das gesuchte Element nicht gefunden wurde, sonst wäre der Algorithmus ja wegen return true; abgebrochen, gibt der Algorithmus false zurück. (return false;)

Das ist die hochgestochene Sprache irgendwelcher Bildungsleitlinien.

In einfache Sprache übertragen bedeutet das, dass du mit Wiederholungsanweisungen ("Schleifen"), Anweisungsfolgen und Fallunterscheidungen umgehen kannst.

Woher ich das weiß:Berufserfahrung – Softwareentwickler