www.wikidata.de-de.nina.az
Kurzschlussauswertung auch bedingte Auswertung englisch short circuit evaluation 1 ist ein Begriff aus der Informatik und bezeichnet eine Strategie der Auswertung von booleschen Ausdrucken Im Allgemeinen steht das Ergebnis eines booleschen Ausdrucks ohne die Verwendung von Kurzschlussauswertung erst nach der Auswertung aller Teilausdrucke fest Kurzschlussauswertung ermoglicht das vorzeitige Abbrechen einer Auswertung eines booleschen Ausdrucks sobald das Auswertungsergebnis durch einen Teilausdruck eindeutig bestimmt ist Die Konjunktion im Ausdruck C A B displaystyle C A land B soll von links nach rechts ausgewertet werden Hat A displaystyle A den Wert wahr so muss zudem B displaystyle B ausgewertet werden um den Wert fur C displaystyle C bestimmen zu konnen Falls A displaystyle A jedoch den Wert falsch hat steht bereits fest dass der Gesamtausdruck C displaystyle C nicht mehr den Wert wahr annehmen kann Die Auswertung kann also an dieser Stelle abgebrochen werden ohne B displaystyle B auswerten zu mussen Im Gegensatz zur Auswertung einer Konjunktion steht bei Disjunktion das Gesamtergebnis bereits nach dem ersten wahren Teilausdruck fest Verschiedene Programmiersprachen verwenden die Kurzschlussauswertung als Mittel zur Optimierung Auf die mitunter rechenintensive Auswertung komplexerer Teilausdrucke kann dadurch oft verzichtet werden Auch bedingt auftretende Ausfuhrungsfehler konnen auf diese Weise unterdruckt werden Inhaltsverzeichnis 1 Beispiel anhand eines Algorithmus in Pseudocode 2 Kurzschlussauswertung in Programmiersprachen 3 Siehe auch 4 Einzelnachweise 5 LiteraturBeispiel anhand eines Algorithmus in Pseudocode BearbeitenDas folgende Beispiel zeigt einen Anwendungsfall fur Kurzschlussauswertung Setze A 0 Setze B 10 if A 0 AND B A gt 5 then An dieser Stelle im Algorithmus konnte B durch A geteilt werden else An dieser Stelle ist der Quotient B A echt kleiner als 5 oder eine Division durch 0 wurde verhindert endif Die Auswertung des booleschen Ausdrucks wird im Fall dass die Variable A den Wert 0 beinhaltet nach der Prufung auf Ungleichheit A 0 abgebrochen Dadurch dass der erste Teilausdruck zu falsch ausgewertet wurde steht das Resultat der Konjunktion AND bereits eindeutig fest So kann verhindert werden dass der zweite Teilausdruck ausgewertet wird sodass keine Division durch 0 ausgefuhrt wird Kurzschlussauswertung in Programmiersprachen BearbeitenIn der Programmiersprache C werden binare boolesche Ausdrucke mit den Operatoren amp amp und ausschliesslich nach dem Kurzschluss Prinzip ausgewertet In der Programmiersprache Java stehen die Operator amp amp und ebenfalls fur eine Kurzschlussauswertung Zusatzlich existieren jedoch die logischen Operatoren amp und bei denen die Auswertung beider Seiten erzwungen wird Auch in Modula 2 sind die logischen Operatoren AND und OR Kurzschlussoperatoren Siehe auch BearbeitenLazy EvaluationEinzelnachweise Bearbeiten Peter Hofer Peter Fischer Lexikon der Informatik 15 Auflage Springer Berlin 2010 ISBN 3 642 15125 6 S 81 eingeschrankte Vorschau in der Google Buchsuche Literatur BearbeitenMichael L Scott Programming Language Pragmatics 3 Auflage Elsevier LTD Oxford 2009 ISBN 0 12 374514 4 S 239 eingeschrankte Vorschau in der Google Buchsuche Abgerufen von https de wikipedia org w index php title Kurzschlussauswertung amp oldid 179539078