Buffl

Lektion 3

M
by Mathäus

Benenne 3 Mögliche Fehlerquellen, die die Korrektheit eines Algorithmus beeinflussen.






Fehlerquellen, die die Korrektheit eines Algorithmus beeinflussen, ergeben sich z. B. durch (Harel/Feldman 2006, S. 119f.):

  • Sprach- oder Syntaxfehler: Diese ergeben sich beispielsweise durch die Verwendung einer falschen Syntax einer Programmiersprache wie for Y from 1 until N do statt der korrekten Schreibweise for Y from 1 to N do.

  • Logische oder semantische Fehler: Diese Art von Fehlern ergibt sich durch die logisch falsche Verwendung beispielsweise der Semantik eines Ausdrucks. So erhalten wir durch Verwendung der Aussage „Ich habe einen Geldbetrag von EUR 346.24 auf meinem Konto und bin reich. Ziemlich beachtlich, wenn man mein Talent zum Geldsparen beachtet“ (Harel/Feldman 2016, S. 120). Versuchen wir nun, diese zwei Sätze nach der Anzahl der Sätze mit dem Ausdruck „Geld.“ zu durchsuchen. Ein Algorithmus würde dabei zunächst nach der Zeichenkette „Geld“ suchen, gefolgt von dem Zeichenmuster „.“, welches das Ende eines Satzes kennzeichnet. Die Ausgabe wäre in diesem Fall der Satz Nummer 1, da nur im zweiten Satz die Zeichenkette „Geld“ isoliert vorkommt. Nehmen wir abweichend an, ein Satzende würde durch „.“ gekennzeichnet werden. Dieser Algorithmus würde bei Anwendung auf den oben diskutierten Satz die Ausgabe 2 erzeugen, da die Zeichenkette „Geld“ sowohl in „Geld“ als auch im zweiten Satz als „Geld“ zu finden ist. Der Algorithmus lässt sich dabei künstlich durch den Punkt als Trennzeichen im Geldbetrag täuschen. Dies ist das Konzept eines logischen Fehlers. Weiterführend können sich logische Fehler durch eine nicht adäquat formulierte Entscheidungskette in If-else-Unterscheidungen ergeben.

  • Endlosschleifen: Diese nicht-terminierenden Schleifen ergeben sich z. B. durch eine unpräzise oder fehlerhafte Definition des Abbruchkriteriums einer Schleife. Formulieren wir beispielsweise eine Schleife in der Form



Author

Mathäus

Information

Last changed