[{"@context":"http:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/wiki.edu.vn\/wiki16\/2020\/12\/31\/bedingt-computerprogrammierung-wikipedia\/#BlogPosting","mainEntityOfPage":"https:\/\/wiki.edu.vn\/wiki16\/2020\/12\/31\/bedingt-computerprogrammierung-wikipedia\/","headline":"Bedingt (Computerprogrammierung) – Wikipedia","name":"Bedingt (Computerprogrammierung) – Wikipedia","description":"before-content-x4 Wenn-Dann-Sonst-Flussdiagramm Ein verschachteltes “Wenn-Dann-Sonst” -Flussdiagramm In der Informatik bedingte Anweisungen, bedingte Ausdr\u00fccke und bedingte Konstrukte sind Merkmale einer Programmiersprache,","datePublished":"2020-12-31","dateModified":"2020-12-31","author":{"@type":"Person","@id":"https:\/\/wiki.edu.vn\/wiki16\/author\/lordneo\/#Person","name":"lordneo","url":"https:\/\/wiki.edu.vn\/wiki16\/author\/lordneo\/","image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","height":96,"width":96}},"publisher":{"@type":"Organization","name":"Enzyklop\u00e4die","logo":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":600,"height":60}},"image":{"@type":"ImageObject","@id":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/c\/c5\/If-Then-Else-diagram.svg\/220px-If-Then-Else-diagram.svg.png","url":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/c\/c5\/If-Then-Else-diagram.svg\/220px-If-Then-Else-diagram.svg.png","height":"215","width":"220"},"url":"https:\/\/wiki.edu.vn\/wiki16\/2020\/12\/31\/bedingt-computerprogrammierung-wikipedia\/","wordCount":8456,"articleBody":" (adsbygoogle = window.adsbygoogle || []).push({});before-content-x4 Wenn-Dann-Sonst-Flussdiagramm Ein verschachteltes “Wenn-Dann-Sonst” -FlussdiagrammIn der Informatik bedingte Anweisungen, bedingte Ausdr\u00fccke und bedingte Konstrukte sind Merkmale einer Programmiersprache, die unterschiedliche Berechnungen oder Aktionen ausf\u00fchren, je nachdem, ob ein vom Programmierer angegebener Boolescher Wert vorliegt Bedingung bewertet als wahr oder falsch. Abgesehen vom Fall der Verzweigungspr\u00e4dikation wird dies immer erreicht, indem der Kontrollfluss basierend auf einer bestimmten Bedingung selektiv ge\u00e4ndert wird. (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4In imperativen Programmiersprachen wird \u00fcblicherweise der Begriff “bedingte Anweisung” verwendet, w\u00e4hrend in der funktionalen Programmierung die Begriffe “bedingter Ausdruck” oder “bedingtes Konstrukt” bevorzugt werden, da diese Begriffe alle unterschiedliche Bedeutungen haben. (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4Obwohl dynamischer Versand normalerweise nicht als bedingtes Konstrukt klassifiziert wird, ist es eine andere M\u00f6glichkeit, zur Laufzeit zwischen Alternativen zu w\u00e4hlen.Table of ContentsWenn – dann (\u2013else)[edit]Sonst wenn[edit]Wenn – dann – sonst Ausdr\u00fccke[edit]Familie Algol[edit]Lisp Dialekte[edit]Haskell[edit]C-\u00e4hnliche Sprachen[edit]Kleine Basis[edit]Visual Basic[edit]Tcl[edit]Rost[edit]Arithmetik wenn[edit]Objektorientierte Implementierung in Smalltalk[edit]JavaScript[edit]Lambda-Kalk\u00fcl[edit]Case- und Switch-Anweisungen[edit]Mustervergleich[edit]Hash-basierte Bedingungen[edit]Pr\u00e4dikation[edit]Querverweis des Auswahlsystems[edit]Siehe auch[edit]Verweise[edit]Externe Links[edit]Wenn – dann (\u2013else)[edit]“Wenn-Dann-Sonst” leitet hier weiter. F\u00fcr das Album siehe If Then Else.Das if\u2013then konstruieren (manchmal genannt if\u2013then\u2013else) ist in vielen Programmiersprachen verbreitet. Obwohl die Syntax von Sprache zu Sprache unterschiedlich ist, sieht die Grundstruktur (in Pseudocode-Form) folgenderma\u00dfen aus:If (boolean condition) Then (consequent)Else (alternative)End IfZum Beispiel: (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4If stock=0 Then message= order new stockElse message= there is stockEnd IfIm obigen Beispielcode wird der Teil durch dargestellt (Boolesche Bedingung) stellt eine Bedingung dar Ausdruckmit einem inneren Wert (z. B. kann er durch einen der Werte ersetzt werden True oder False) aber ohne intrinsische Bedeutung. Im Gegensatz dazu ist die Kombination dieses Ausdrucks, der If und Then es umgeben, und die Folge, die danach folgt, bilden eine Bedingung Erkl\u00e4rungmit intrinsischer Bedeutung (z. B. Ausdruck einer koh\u00e4renten logischen Regel), aber ohne intrinsischen Wert.Wenn ein Dolmetscher eine findet Iferwartet es eine boolesche Bedingung – zum Beispiel x > 0Dies bedeutet, dass “die Variable x eine Zahl enth\u00e4lt, die gr\u00f6\u00dfer als Null ist” – und bewertet diese Bedingung. Wenn die Bedingung ist true, die Aussagen nach dem then ausgef\u00fchrt werden. Andernfalls wird die Ausf\u00fchrung im folgenden Zweig fortgesetzt – entweder im else Block (was normalerweise optional ist) oder wenn es keine gibt else Zweig, dann nach dem end If.Nachdem einer der Zweige ausgef\u00fchrt wurde, kehrt die Steuerung zu dem Punkt nach dem zur\u00fcck end If.In fr\u00fchen Programmiersprachen, insbesondere einigen Dialekten von BASIC in den 1980er Jahren, waren Heimcomputer ein if\u2013then Anweisung konnte nur enthalten GOTO Anweisungen (entspricht einer Verzweigungsanweisung). Dies f\u00fchrte zu einem schwer lesbaren Programmierstil, der als Spaghetti-Programmierung bekannt ist, wobei Programme in diesem Stil aufgerufen werden Spaghetti-Code. Infolgedessen strukturierte Programmierung, die es erm\u00f6glicht, (praktisch) beliebige Anweisungen in Anweisungsbl\u00f6cken innerhalb eines zu platzieren if Aussage, die an Popularit\u00e4t gewann, bis sie selbst in den meisten BASIC-Programmierkreisen zur Norm wurde. Solche Mechanismen und Prinzipien basierten auf der \u00e4lteren, aber fortgeschritteneren ALGOL-Sprachfamilie, und ALGOL-\u00e4hnliche Sprachen wie Pascal und Modula-2 beeinflussten viele Jahre lang moderne BASIC-Varianten. W\u00e4hrend es nur w\u00e4hrend der Verwendung m\u00f6glich ist GOTO Aussagen in if\u2013then Anweisungen zum Schreiben von Programmen, die kein Spaghetti-Code sind und genauso gut strukturiert und lesbar sind wie Programme, die in einer strukturierten Programmiersprache geschrieben sind. Strukturierte Programmierung erleichtert dies und erzwingt dies. Strukturiert if\u2013then\u2013else Anweisungen wie das obige Beispiel sind eines der Schl\u00fcsselelemente der strukturierten Programmierung und in den g\u00e4ngigsten Programmiersprachen auf hoher Ebene wie C, Java, JavaScript und Visual Basic enthalten.Eine Feinheit ist, dass die optionale else-Klausel in vielen Sprachen bedeutet, dass die kontextfreie Grammatik nicht eindeutig ist, da verschachtelte Bedingungen auf verschiedene Arten analysiert werden k\u00f6nnen. Speziell,if a then if b then s else s2kann analysiert werden alsif a then (if b then s) else s2oderif a then (if b then s else s2)je nachdem ob die else ist mit dem ersten verbunden if oder zweitens if. Dies ist als “Dangling else” -Problem bekannt und wird je nach Sprache auf verschiedene Arten gel\u00f6st.Sonst wenn[edit]Durch die Nutzung else ifEs ist m\u00f6glich, mehrere Bedingungen zu kombinieren. Es werden nur die Anweisungen ausgef\u00fchrt, die auf die erste Bedingung folgen, die sich als wahr herausstellt. Alle anderen Anweisungen werden \u00fcbersprungen.if condition then --statementselseif condition then -- more statementselseif condition then -- more statements;...else -- other statements;end if;Zum Beispiel f\u00fcr einen Shop, der 30% Rabatt f\u00fcr einen Artikel bietet:if discount x 12) 2 4))) ; Assigns 'myvariable' to 2Haskell[edit]In Haskell 98 gibt es nur eine wenn Ausdruck, Nein if-Anweisung, und die else Teil ist obligatorisch, da jeder Ausdruck einen Wert haben muss.[4] Logik, die mit Bedingungen in anderen Sprachen ausgedr\u00fcckt wird, wird normalerweise mit Mustervergleich in rekursiven Funktionen ausgedr\u00fcckt.Da Haskell faul ist, ist es m\u00f6glich, Kontrollstrukturen zu schreiben, wie z wennals gew\u00f6hnliche Ausdr\u00fccke; Die faule Bewertung bedeutet, dass ein wenn Funktion kann nur den Zustand und den richtigen Zweig bewerten (wobei eine strenge Sprache alle drei bewerten w\u00fcrde). Es kann so geschrieben werden:[5]if' :: Bool -> a -> a -> aif' True x _ = xif' False _ y = yC-\u00e4hnliche Sprachen[edit]C- und C-\u00e4hnliche Sprachen haben einen speziellen tern\u00e4ren Operator (? \ud83d\ude42 f\u00fcr bedingte Ausdr\u00fccke mit einer Funktion, die durch eine Vorlage wie diese beschrieben werden kann:condition\u00a0? evaluated-when-true\u00a0: evaluated-when-falseDies bedeutet, dass es im Gegensatz zu if-Anweisungen in C-\u00e4hnlichen Sprachen in Ausdr\u00fccke eingef\u00fcgt werden kann:my_variable = x > 10 ? \"foo\" : \"bar\"; \/\/ In C-like languageswas mit der Algol-Familie verglichen werden kann, wenn – dann – sonst Ausdr\u00fccke (im Gegensatz zu a Erkl\u00e4rung) (und \u00e4hnlich unter anderem in Ruby und Scala).Um dasselbe mit einer if-Anweisung zu erreichen, w\u00fcrde dies mehr als eine Codezeile erfordern (unter typischen Layoutkonventionen) und “my_variable” zweimal erw\u00e4hnen m\u00fcssen:if (x > 10) my_variable = \"foo\";else my_variable = \"bar\";Einige argumentieren, dass die explizite if \/ then-Anweisung leichter zu lesen ist und m\u00f6glicherweise zu effizienterem Code kompiliert werden kann als der tern\u00e4re Operator.[6] w\u00e4hrend andere argumentieren, dass pr\u00e4gnante Ausdr\u00fccke leichter zu lesen sind als Aussagen, die \u00fcber mehrere Zeilen mit Wiederholungen verteilt sind.Kleine Basis[edit]x = TextWindow.ReadNumber()If (x > 10) Then TextWindow.WriteLine(\"My variable is named 'foo'.\")Else TextWindow.WriteLine(\"My variable is named 'bar'.\")EndIfWenn der Benutzer das Programm ausf\u00fchrt, erscheint zun\u00e4chst ein Cursor, der darauf wartet, dass der Leser eine Zahl eingibt. Wenn diese Zahl gr\u00f6\u00dfer als 10 ist, wird der Text “Meine Variable hei\u00dft ‘foo’.” wird auf dem Bildschirm angezeigt. Wenn die Zahl kleiner als 10 ist, wird die Meldung “Meine Variable hei\u00dft ‘bar'” angezeigt. wird auf dem Bildschirm gedruckt.Visual Basic[edit]In Visual Basic und einigen anderen Sprachen wird eine Funktion aufgerufen IIf wird bereitgestellt, der als bedingter Ausdruck verwendet werden kann. Es verh\u00e4lt sich jedoch nicht wie ein wahrer bedingter Ausdruck, da sowohl der wahre als auch der falsche Zweig immer ausgewertet werden. Es ist nur so, dass das Ergebnis eines von ihnen weggeworfen wird, w\u00e4hrend das Ergebnis des anderen von der IIf-Funktion zur\u00fcckgegeben wird.Tcl[edit]In Tcl if ist kein Schl\u00fcsselwort, sondern eine Funktion (in Tcl als Befehl oder bekannt proc). Zum Beispielif {$x > 10} { puts \"Foo!\"}ruft eine Funktion mit dem Namen auf if \u00dcbergeben von 2 Argumenten: Das erste ist die Bedingung und das zweite ist der wahre Zweig. Beide Argumente werden als Zeichenfolgen \u00fcbergeben (in Tcl ist alles in geschweiften Klammern eine Zeichenfolge).Im obigen Beispiel wird die Bedingung vor dem Aufrufen der Funktion nicht ausgewertet. Stattdessen erfolgt die Umsetzung der if Die Funktion empf\u00e4ngt die Bedingung als Zeichenfolgenwert und ist daf\u00fcr verantwortlich, diese Zeichenfolge als Ausdruck im Bereich des Aufrufers auszuwerten.[7]Ein solches Verhalten ist durch Verwendung m\u00f6glich uplevel und expr Befehle:Uplevel erm\u00f6glicht die Implementierung neuer Steuerungskonstrukte als Tcl-Prozeduren (z. B. k\u00f6nnte Uplevel verwendet werden, um das while-Konstrukt als Tcl-Prozedur zu implementieren).[8]weil if ist eigentlich eine Funktion, die auch einen Wert zur\u00fcckgibt:Der R\u00fcckgabewert des Befehls ist das Ergebnis des ausgef\u00fchrten K\u00f6rperskripts oder einer leeren Zeichenfolge, wenn keiner der Ausdr\u00fccke ungleich Null war und kein bodyN vorhanden war.[9]Rost[edit]In Rust, if ist immer ein Ausdruck. Es wird nach dem Wert der jeweils ausgef\u00fchrten Verzweigung oder nach dem Einheitentyp ausgewertet () wenn keine Verzweigung ausgef\u00fchrt wird. Wenn eine Verzweigung keinen R\u00fcckgabewert bereitstellt, wird sie ausgewertet () standardm\u00e4\u00dfig. Um die if Der Typ des Ausdrucks ist zur Kompilierungszeit bekannt. Jeder Zweig muss einen Wert desselben Typs ergeben. Aus diesem Grund kann ein else Zweig ist effektiv obligatorisch, es sei denn, die anderen Zweige bewerten zu (), weil ein if ohne ein else kann immer bewerten () standardm\u00e4\u00dfig.[10]\/\/ Assign my_variable some value, depending on the value of xlet my_variable = if x > 20 { 1} else { 2};\/\/ This variant will not compile because 1 and () have different typeslet my_variable = if x > 20 { 1};\/\/ Values can be omitted when not neededif x > 20 { println!(\"x is greater than 20\");}Arithmetik wenn[edit]Bis Fortran 77 hat die Sprache Fortran eine “arithmetische if” -Anweisung, die auf halbem Weg zwischen einer berechneten IF- und einer case-Anweisung liegt, basierend auf der Trichotomie x 0. Dies war die fr\u00fcheste bedingte Aussage in Fortran:[11]IF (e) label1, label2, label3Wobei e ein numerischer Ausdruck ist (nicht unbedingt eine ganze Zahl); das ist \u00e4quivalent zuIF (e .LT. 0) GOTO label1IF (e .EQ. 0) GOTO label2GOTO label3Weil diese arithmetische IF gleichbedeutend mit mehreren ist GOTO Anweisungen, die an eine beliebige Stelle springen k\u00f6nnen, gelten als unstrukturierte Steueranweisung und sollten nicht verwendet werden, wenn strukturiertere Anweisungen verwendet werden k\u00f6nnen. In der Praxis wurde beobachtet, dass die meisten Arithmetik IF Anweisungen verwiesen auf die folgende Anweisung mit einem oder zwei der Bezeichnungen.Dies war die einzige bedingte Steueranweisung in der urspr\u00fcnglichen Implementierung von Fortran auf dem IBM 704-Computer. Auf diesem Computer hatte der Test-and-Branch-Op-Code drei Adressen f\u00fcr diese drei Zust\u00e4nde. Andere Computer h\u00e4tten “Flag” -Register wie positiv, null, negativ, gerade, \u00dcberlauf, \u00dcbertrag, die mit den letzten arithmetischen Operationen verbunden sind, und w\u00fcrden Anweisungen wie “Verzweigen, wenn der Akkumulator negativ ist” und “Verzweigen, wenn der Akkumulator null” oder \u00e4hnliches verwenden. Beachten Sie, dass der Ausdruck ausgewertet wird nur einmalund in F\u00e4llen wie der Ganzzahlarithmetik, in denen ein \u00dcberlauf auftreten kann, w\u00fcrden auch die \u00dcberlauf- oder \u00dcbertragsflags ber\u00fccksichtigt.Objektorientierte Implementierung in Smalltalk[edit]Im Gegensatz zu anderen Sprachen ist die bedingte Anweisung in Smalltalk kein Sprachkonstrukt, sondern in der Klasse definiert Boolean als abstrakte Methode, die zwei Parameter verwendet, beide Abschl\u00fcsse. Boolean hat zwei Unterklassen, True und False, die beide die Methode definieren, True nur die erste Schlie\u00dfung ausf\u00fchren, False nur den zweiten Abschluss ausf\u00fchren.[12]var = condition ifTrue: [ 'foo' ] ifFalse: [ 'bar' ]JavaScript[edit]Zwei Beispiele in JavaScript:if (Math.random() _ifThenElse(_true)(2)(3) )(x => y => x)(x => y => y)(c => x => y => c(x)(y)));Der obige Code mit multivariablen Funktionen sieht folgenderma\u00dfen aus: var computationResult = ((_true, _false, _ifThenElse) => _ifThenElse(_true, 2, 3) )((x, y) => x, (x, y) => y, (c, x, y) => c(x, y));Eine andere Version des fr\u00fcheren Beispiels ohne ein System, bei dem Zahlen angenommen werden, ist unten.Das erste Beispiel zeigt den ersten Zweig, w\u00e4hrend das zweite Beispiel den zweiten Zweig zeigt. ((\u03bbtrue. \u03bbfalse. \u03bbifThenElse. (ifThenElse true (\u03bbFirstBranch. FirstBranch) (\u03bbSecondBranch. SecondBranch)) )(\u03bbx. \u03bby. x)(\u03bbx. \u03bby. y)(\u03bbc. \u03bbl. \u03bbr. c l r)) ((\u03bbtrue. \u03bbfalse. \u03bbifThenElse. (ifThenElse false (\u03bbFirstBranch. FirstBranch) (\u03bbSecondBranch. SecondBranch)) )(\u03bbx. \u03bby. x)(\u03bbx. \u03bby. y)(\u03bbc. \u03bbl. \u03bbr. c l r))Smalltalk verwendet eine \u00e4hnliche Idee f\u00fcr seine wahren und falschen Darstellungen, wobei True und False Singleton-Objekte sind, die auf Nachrichten ifTrue \/ ifFalse unterschiedlich reagieren.Haskell verwendete dieses genaue Modell f\u00fcr seinen Booleschen Typ, aber zum Zeitpunkt des Schreibens verwenden die meisten Haskell-Programme syntaktisches Zucker-Konstrukt “if a then b else c”, das im Gegensatz zu ifThenElse nur komponiert, wenn es entweder in eine andere Funktion eingeschlossen oder neu implementiert wird wie im Abschnitt The Haskell dieser Seite gezeigt.Case- und Switch-Anweisungen[edit]Switch-Anweisungen (in einigen Sprachen, case Aussagen oder Mehrwegverzweigungen) vergleichen Sie einen bestimmten Wert mit bestimmten Konstanten und ergreifen Sie Ma\u00dfnahmen gem\u00e4\u00df der ersten \u00fcbereinstimmenden Konstante. In der Regel ist vorgesehen, dass eine Standardaktion (“else”, “else”) ausgef\u00fchrt wird, wenn keine \u00dcbereinstimmung erfolgreich ist. Switch-Anweisungen k\u00f6nnen Compiler-Optimierungen erm\u00f6glichen, z. B. Nachschlagetabellen. In dynamischen Sprachen sind die F\u00e4lle m\u00f6glicherweise nicht auf konstante Ausdr\u00fccke beschr\u00e4nkt und erstrecken sich m\u00f6glicherweise auf den Mustervergleich, wie im Shell-Skript-Beispiel rechts, in dem ‘*)’ den Standardfall als regul\u00e4ren Ausdruck implementiert, der mit einer beliebigen Zeichenfolge \u00fcbereinstimmt.Pascal:C:Shell-Skript:case someChar of 'a': actionOnA; 'x': actionOnX; 'y','z':actionOnYandZ; else actionOnNoMatch;end;switch (someChar) { case 'a': actionOnA; break; case 'x': actionOnX; break; case 'y': case 'z': actionOnYandZ; break; default: actionOnNoMatch;}case $someChar in a) actionOnA; ;; x) actionOnX; ;; [yz]) actionOnYandZ; ;; *) actionOnNoMatch ;;esacMustervergleich[edit]Der Mustervergleich kann als Alternative zu beiden angesehen werden wenn – dann – sonst, und Fall Aussagen. Es ist in vielen Programmiersprachen mit funktionalen Programmierfunktionen verf\u00fcgbar, wie Wolfram Language, ML und vielen anderen. Hier ist ein einfaches Beispiel in der OCaml-Sprache:match fruit with| \"apple\" -> cook pie| \"coconut\" -> cook dango_mochi| \"banana\" -> mix;;Die Kraft des Mustervergleichs ist die F\u00e4higkeit dazu pr\u00e4gnant passen nicht nur Aktionen, sondern auch Werte zu Datenmustern. Hier ist ein in Haskell geschriebenes Beispiel, das diese beiden Funktionen veranschaulicht:map _ [] = []map f (h : t) = f h : map f tDieser Code definiert eine Funktion Karte, der das erste Argument (eine Funktion) auf jedes der Elemente des zweiten Arguments (eine Liste) anwendet und die resultierende Liste zur\u00fcckgibt. Die beiden Zeilen sind die beiden Definitionen der Funktion f\u00fcr die beiden in diesem Fall m\u00f6glichen Arten von Argumenten – eine, bei der die Liste leer ist (geben Sie einfach eine leere Liste zur\u00fcck), und die andere, bei der die Liste nicht leer ist.Mustervergleich ist streng genommen nicht immer ein Auswahlkonstrukt, da es in Haskell m\u00f6glich ist, nur eine Alternative zu schreiben, die garantiert immer \u00fcbereinstimmt – in dieser Situation wird es nicht als Auswahlkonstrukt verwendet, sondern lediglich als M\u00f6glichkeit, Namen an Werte zu binden. Es wird jedoch h\u00e4ufig als Auswahlkonstrukt in den Sprachen verwendet, in denen es verf\u00fcgbar ist.Hash-basierte Bedingungen[edit]In Programmiersprachen mit assoziativen Arrays oder vergleichbaren Datenstrukturen wie Python, Perl, PHP oder Objective-C ist es idiomatisch, diese zur Implementierung der bedingten Zuweisung zu verwenden.[13]pet = raw_input(\"Enter the type of pet you want to name: \")known_pets = { \"Dog\": \"Fido\", \"Cat\": \"Meowsles\", \"Bird\": \"Tweety\",}my_name = known_pets[pet]In Sprachen, die anonyme Funktionen haben oder die es einem Programmierer erm\u00f6glichen, einer Variablenreferenz eine benannte Funktion zuzuweisen, kann der bedingte Fluss mithilfe eines Hash als Versandtabelle implementiert werden.Pr\u00e4dikation[edit]Eine Alternative zu bedingten Verzweigungsbefehlen ist die Pr\u00e4dikation. Die Pr\u00e4dikation ist eine Architekturfunktion, mit der Anweisungen bedingt ausgef\u00fchrt werden k\u00f6nnen, anstatt den Kontrollfluss zu \u00e4ndern.Querverweis des Auswahlsystems[edit]Diese Tabelle bezieht sich auf die aktuellste Sprachspezifikation jeder Sprache. F\u00fcr Sprachen ohne Spezifikation wird auf die neueste offiziell ver\u00f6ffentlichte Implementierung verwiesen. ^ Dies bezieht sich auf den Mustervergleich als ein eindeutiges bedingtes Konstrukt in der Programmiersprache – im Gegensatz zur blo\u00dfen Unterst\u00fctzung des String-Mustervergleichs, wie beispielsweise der Unterst\u00fctzung regul\u00e4rer Ausdr\u00fccke. 1 2 3 4 5 Das oft angetroffene else if In der C-Sprachfamilie sowie in COBOL und Haskell handelt es sich nicht um ein Sprachmerkmal, sondern um eine Reihe verschachtelter und unabh\u00e4ngiger Sprachen wenn dann sonst Anweisungen kombiniert mit einem bestimmten Quellcode-Layout. Dies bedeutet jedoch auch, dass in diesen Sprachen ein eindeutiges else-if-Konstrukt nicht wirklich ben\u00f6tigt wird. 1 2 In Haskell und F # ist ein separates Konstrukt mit konstanter Auswahl nicht erforderlich, da dieselbe Aufgabe mit dem Mustervergleich ausgef\u00fchrt werden kann. ^ In einem Rubin case Konstrukt, regul\u00e4rer Ausdrucksabgleich geh\u00f6rt zu den verf\u00fcgbaren Alternativen zur bedingten Flusskontrolle. Ein Beispiel finden Sie unter diese Frage zum Stapel\u00fcberlauf. 1 2 SQL verf\u00fcgt \u00fcber zwei \u00e4hnliche Konstrukte, die beide Rollen erf\u00fcllen, die beide in SQL-92 eingef\u00fchrt wurden. A “gesucht CASE” Ausdruck CASE WHEN cond1 THEN expr1 WHEN cond2 THEN expr2 [...] ELSE exprDflt END funktioniert wie if ... else if ... else, w\u00e4hrend ein “einfach CASE” Ausdruck: CASE expr WHEN val1 THEN expr1 [...] ELSE exprDflt END funktioniert wie eine switch-Anweisung. Einzelheiten und Beispiele finden Sie unter Case (SQL). ^ Arithmetik if ist in Fortran 90 veraltet.Siehe auch[edit]Verweise[edit]Externe Links[edit]Nachsehen dann oder sonst in Wiktionary, dem kostenlosen W\u00f6rterbuch. (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4"},{"@context":"http:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki16\/#breadcrumbitem","name":"Enzyklop\u00e4die"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki16\/2020\/12\/31\/bedingt-computerprogrammierung-wikipedia\/#breadcrumbitem","name":"Bedingt (Computerprogrammierung) – Wikipedia"}}]}]