dbo:abstract
|
- Zkrácené vyhodnocování označuje v programování způsob vyhodnocování složených výrazů, kdy se jednotlivé podvýrazy vyhodnocují pouze v případě, že je jejich výsledek potřebný pro získání celého výsledku. Tato metoda se uplatňuje zejména u vyhodnocování logických výrazů, u kterých platí, že
* PRAVDA <a href="/wiki/Disjunkce" title="Disjunkce">nebo</a> <i>x</i> je určitě PRAVDA, aniž by bylo nutno znát (vyhodnocovat) x,
* NEPRAVDA <a href="/wiki/Konjunkce_(logika)" title="Konjunkce (logika)">a zároveň</a> <i>x</i> je určitě NEPRAVDA, aniž by bylo nutno znát (vyhodnocovat) x. Zkrácené vyhodnocování (anglicky short-circuit evaluation) nelze zaměňovat s odloženým vyhodnocováním (anglicky lazy evaluation, česky též líné vyhodnocování) používaným v generátorech a iterátorech a často používaným ve funkcionálním a logickém programování; zatímco při zkráceném vyhodnocování se určité části výrazů nevyhodnocují, protože výsledný výraz nemohou ovlivnit (a již vyhodnocovány nebudou), při odloženém vyhodnocování bude výraz (typicky prvek posloupnosti) vyhodnocen až v okamžiku, kdy bude jeho hodnota skutečně potřeba. (cs)
- Kurzschlussauswertung (auch bedingte Auswertung, englisch short-circuit evaluation) ist ein Begriff aus der Informatik und bezeichnet eine Strategie der Auswertung von booleschen Ausdrücken. Im Allgemeinen steht das Ergebnis eines booleschen Ausdrucks ohne die Verwendung von Kurzschlussauswertung erst nach der Auswertung aller Teilausdrücke fest. Kurzschlussauswertung ermöglicht das vorzeitige Abbrechen einer Auswertung eines booleschen Ausdrucks, sobald das Auswertungsergebnis durch einen Teilausdruck eindeutig bestimmt ist. Die Konjunktion im Ausdruck soll von links nach rechts ausgewertet werden. Hat den Wert „wahr“, so muss zudem ausgewertet werden, um den Wert für bestimmen zu können. Falls jedoch den Wert „falsch“ hat, steht bereits fest, dass der Gesamtausdruck nicht mehr den Wert „wahr“ annehmen kann. Die Auswertung kann also an dieser Stelle abgebrochen werden, ohne auswerten zu müssen. 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 Teilausdrücke kann dadurch oft verzichtet werden. Auch bedingt auftretende Ausführungsfehler können auf diese Weise unterdrückt werden. (de)
- La evaluación de corto-circuito, evaluación mínima, o evaluación McCarthy (por el científico John McCarthy) denota la semántica de algunos operadores booleanos en algunos lenguajes de programación en los cuales el segundo argumento no se ejecuta o evalúa si el primer argumento de la función <a href="/wiki/Conjunci%C3%B3n_l%C3%B3gica" title="Conjunción lógica">AND</a> evalúa y el resultado es falso, el valor total tiene que ser falso; y cuando el primer argumento de la función <a href="/wiki/Disyunci%C3%B3n_l%C3%B3gica" title="Disyunción lógica">OR</a> evalúa y el resultado es verdadero, el valor total tiene que ser verdadero. En algunos lenguajes de programación, como Lisp, los operadores booleanos usuales son corto-circuito. En otros (Java, Ada), tanto los corto-circuito y los operadores booleanos están disponibles. Para algunos operadores booleanos, como <a href="/wiki/Disyunci%C3%B3n_exclusiva" title="Disyunción exclusiva">XOR</a>, no le es posible evaluar por corto-circuito, porque ambos operadores están obligados a determinar el resultado. La expresión de corto-circuito <i>x</i> Sand <i>y</i> (usando Sand para denotar la variedad de corto-circuito) es equivalente a la sentencia condicional if <i>x</i> then <i>y</i> else false; la expresión <i>x</i> Sor <i>y</i> es equivalente a if <i>x</i> then true else <i>y</i>. Los operadores corto-circuito son estructuras de control en vez de simples operadores aritméticos, al igual que no son . ALGOL 68 usó "Proceduring" para lograr operadores y procedimientos de corto-circuito definidos por los usuarios. En lenguajes aproximados o imprecisos, los cuales tienen más de dos valores de verdad Verdadero y Falso, los operadores corto-circuito podrían devolver la última subexpresión evaluada, de esta manera <i>x</i> Sor <i>y</i> y <i>x</i> Sand <i>y</i> son equivalentes a if <i>x</i> then <i>x</i> else <i>y</i> y if <i>x</i> then <i>y</i> else <i>x</i> respectivamente (sin evaluar <i>x</i> dos veces). Esto es llamado "el último valor" en la tabla de abajo. En lenguajes que emplean una evaluación perezosa por defecto, como Haskell, todas las funciones son efectivamente de "corto-circuito", y no son necesarios operadores especiales de corto-circuito. (es)
- Short-circuit evaluation, minimal evaluation, or McCarthy evaluation (after John McCarthy) is the semantics of some Boolean operators in some programming languages in which the second argument is executed or evaluated only if the first argument does not suffice to determine the value of the expression: when the first argument of the AND function evaluates to false, the overall value must be false; and when the first argument of the OR function evaluates to true, the overall value must be true. In programming languages with lazy evaluation (Lisp, Perl, Haskell), the usual Boolean operators are short-circuit. In others (Ada, Java, Delphi), both short-circuit and standard Boolean operators are available. For some Boolean operations, like exclusive or (XOR), it is not possible to short-circuit, because both operands are always required to determine the result. Short-circuit operators are, in effect, control structures rather than simple arithmetic operators, as they are not strict. In imperative language terms (notably C and C++), where side effects are important, short-circuit operators introduce a sequence point – they completely evaluate the first argument, including any side effects, before (optionally) processing the second argument. ALGOL 68 used proceduring to achieve user-defined short-circuit operators and procedures. The use of short-circuit operators has been criticized as problematic: The conditional connectives — "cand" and "cor" for short — are ... less innocent than they might seem at first sight. For instance, cor does not distribute over cand: compare (A cand B) cor C with (A cor C) cand (B cor C); in the case ¬A ∧ C , the second expression requires B to be defined, the first one does not. Because the conditional connectives thus complicate the formal reasoning about programs, they are better avoided. — Edsger W. Dijkstra (en)
- La valutazione a corto circuito, valutazione minima o valutazione di McCarthy è un meccanismo relativo agli operatori booleani binari per cui il secondo operando viene valutato unicamente se il valore del primo operando non è sufficiente da solo a determinare il risultato dell'espressione: quando il primo argomento dell'operatore logico AND è falso, il valore dell'intera espressione dovrà essere necessariamente falso; e quando il primo argomento dell'operatore logico OR è vero, il valore dell'intera espressione dovrà essere necessariamente vero. In alcuni linguaggi di programmazione (Lisp), i normali operatori booleani sono cortocircuitati. In altri (Ada, Java), sono disponibile sia operatori cortocircuitati che non. Per alcuni operatori booleani, come Disgiunzione esclusiva (XOR), non è possibile cortocircuitare, perché entrambi gli operandi sono sempre richiesti per determinare il risultato. La valutazione a corto circuito, prevista in numerosi linguaggi di programmazione, è usata sia per sveltire il calcolo del risultato delle espressioni, sia come forma compatta di un'istruzione condizionale qualora la valutazione del secondo operando produca degli effetti collaterali. (it)
- 短絡評価(たんらくひょうか、英: short-circuit evaluation)または最小評価(さいしょうひょうか、英: minimal evaluation)とは、多くのコンピュータプログラミング言語の論理演算子における左辺(第一引数)と右辺(第二引数)の式の評価法のひとつである。 (ja)
- Avaliação de curto-circuito, avaliação mínima ou avaliação de McCarthy especifica a semântica de alguns em algumas linguagens de programação na qual o segundo argumento é apenas executado ou avaliado se o primeiro argumento não for suficiente para determinar o valor da expressão: quando o primeiro argumento de uma função AND é avaliado como falso, o valor global deve ser falso e quando o primeiro argumento da função OR for avaliado como verdadeiro, o valor global deve ser verdadeiro. Em algumas linguagens de programação (Lisp), os operadores booleanos usuais são de curto-circuito. Em outras (Java, ), os operadores booleanos padrões e de curto-circuito estão disponíveis. O operador de curto-circuito <i>x</i> Sand <i>y</i> é equivalente à expressão condicional if <i>x</i> then <i>y</i> else false. <i>x</i> Sor <i>y</i> é equivalente à if <i>x</i> then true else <i>y</i>. (pt)
- Вычисления по короткой схеме (англ. short-circuit evaluation), также известны как вычисления Маккарти (англ. McCarthy evaluation, в честь американского информатика Джона Маккарти) — это стратегия в некоторых языках программирования, при которой второй логический оператор выполняется или вычисляется только в том случае, если первого логического оператора недостаточно для определения значения выражения. Таким образом, после того, как результат выражения становится очевидным, его вычисление прекращается. Примеры:
* Если левый операнд AND имеет значение false, то общее значение выражения также false.
* Если левый операнд OR имеет значение true, то общее значение выражения также true. Более общо, в выражениях вида либо вычисление продолжается слева направо, пока одно из не даст false или true соответственно. Наличие или отсутствие вычисления по короткой схеме особенно важно, если члены выражения — действия с возможными побочными эффектами (помимо вызова функций это может быть останов программы при делении на ноль или выход за пределы массива). Например, код вида if (n != 0) and (k/n > 17) ... является корректным только, если язык (или компилятор) гарантирует вычисление по короткой схеме. В языках программирования с ленивыми вычислениями (Lisp, Perl, Haskell) логические операторы используются по короткой схеме. В других (Ada, Java, Delphi) доступны как операторы по короткой схеме, так и стандартные логические операторы. Для некоторых логических операций, таких как исключающее «или» (XOR), использование короткой схемы невозможно, потому что для определения результата всегда требуются оба операнда. (ru)
- Обчислення за короткою схемою, мінімальне обчислювання або обчислювання Маккарті (за Джоном Маккарті) — це семантика деяких булевих операторів у деяких мовах програмування, в яких другий аргумент виконується або обчислюється лише в тому випадку, якщо значення першого аргументу недостатньо для визначення загального значення виразу. Інакше кажучи, для функції AND значення false першого аргументу достатньо, щоб отримати загальне значення false; і для функції OR значення true першого аргументу достатньо, щоб отримати загальне значення true. У мовах програмування з лінивими обчислюваннями (Lisp, Perl, Haskell) звичайні булеві оператори обчислюються за короткою схемою. В інших (Ada, Java, Delphi) доступні як оператори мінімального обчислювання, так і стандартні булеві оператори. Для деяких булевих операцій, таких як виключне «або» (XOR), неможливо здійснити мінімальне обчислювання, оскільки для визначення результату завжди потрібні обидва операнди. (uk)
- 短路求值(Short-circuit evaluation; minimal evaluation; McCarthy evaluation; 又称最小化求值),是一种逻辑运算符的求值策略。只有当第一个运算数的值无法确定逻辑运算的结果时,才对第二个运算数进行求值。例如,当AND的第一个运算数的值为false时,其结果必定为false;当OR的第一个运算数为true时,最后结果必定为true,在这种情况下,就不需要知道第二个运算数的具体值。在一些语言中(如Lisp),默认的逻辑运算符就是短路运算符,而在另一些语言中(如Java,Ada),短路和非短路的运算符都存在。对于一些逻辑运算,如XOR,短路求值是不可能的 。 短路表达式<i>x</i> AND y,事实上等价于条件语句:if <i>x</i> then <i>y</i> else false。短路表达式<i>x</i> OR <i>y</i>,则等价于条件语句:if <i>x</i> then true else <i>y</i>。 (zh)
|
rdfs:comment
|
- 短絡評価(たんらくひょうか、英: short-circuit evaluation)または最小評価(さいしょうひょうか、英: minimal evaluation)とは、多くのコンピュータプログラミング言語の論理演算子における左辺(第一引数)と右辺(第二引数)の式の評価法のひとつである。 (ja)
- 短路求值(Short-circuit evaluation; minimal evaluation; McCarthy evaluation; 又称最小化求值),是一种逻辑运算符的求值策略。只有当第一个运算数的值无法确定逻辑运算的结果时,才对第二个运算数进行求值。例如,当AND的第一个运算数的值为false时,其结果必定为false;当OR的第一个运算数为true时,最后结果必定为true,在这种情况下,就不需要知道第二个运算数的具体值。在一些语言中(如Lisp),默认的逻辑运算符就是短路运算符,而在另一些语言中(如Java,Ada),短路和非短路的运算符都存在。对于一些逻辑运算,如XOR,短路求值是不可能的 。 短路表达式<i>x</i> AND y,事实上等价于条件语句:if <i>x</i> then <i>y</i> else false。短路表达式<i>x</i> OR <i>y</i>,则等价于条件语句:if <i>x</i> then true else <i>y</i>。 (zh)
- Zkrácené vyhodnocování označuje v programování způsob vyhodnocování složených výrazů, kdy se jednotlivé podvýrazy vyhodnocují pouze v případě, že je jejich výsledek potřebný pro získání celého výsledku. Tato metoda se uplatňuje zejména u vyhodnocování logických výrazů, u kterých platí, že
* PRAVDA <a href="/wiki/Disjunkce" title="Disjunkce">nebo</a> <i>x</i> je určitě PRAVDA, aniž by bylo nutno znát (vyhodnocovat) x,
* NEPRAVDA <a href="/wiki/Konjunkce_(logika)" title="Konjunkce (logika)">a zároveň</a> <i>x</i> je určitě NEPRAVDA, aniž by bylo nutno znát (vyhodnocovat) x. (cs)
- Kurzschlussauswertung (auch bedingte Auswertung, englisch short-circuit evaluation) ist ein Begriff aus der Informatik und bezeichnet eine Strategie der Auswertung von booleschen Ausdrücken. Im Allgemeinen steht das Ergebnis eines booleschen Ausdrucks ohne die Verwendung von Kurzschlussauswertung erst nach der Auswertung aller Teilausdrücke fest. Kurzschlussauswertung ermöglicht das vorzeitige Abbrechen einer Auswertung eines booleschen Ausdrucks, sobald das Auswertungsergebnis durch einen Teilausdruck eindeutig bestimmt ist. Die Konjunktion im Ausdruck (de)
- La evaluación de corto-circuito, evaluación mínima, o evaluación McCarthy (por el científico John McCarthy) denota la semántica de algunos operadores booleanos en algunos lenguajes de programación en los cuales el segundo argumento no se ejecuta o evalúa si el primer argumento de la función <a href="/wiki/Conjunci%C3%B3n_l%C3%B3gica" title="Conjunción lógica">AND</a> evalúa y el resultado es falso, el valor total tiene que ser falso; y cuando el primer argumento de la función <a href="/wiki/Disyunci%C3%B3n_l%C3%B3gica" title="Disyunción lógica">OR</a> evalúa y el resultado es verdadero, el valor total tiene que ser verdadero. En algunos lenguajes de programación, como Lisp, los operadores booleanos usuales son corto-circuito. En otros (Java, Ada), tanto los corto-circuito y los operadore (es)
- Short-circuit evaluation, minimal evaluation, or McCarthy evaluation (after John McCarthy) is the semantics of some Boolean operators in some programming languages in which the second argument is executed or evaluated only if the first argument does not suffice to determine the value of the expression: when the first argument of the AND function evaluates to false, the overall value must be false; and when the first argument of the OR function evaluates to true, the overall value must be true. The use of short-circuit operators has been criticized as problematic: — Edsger W. Dijkstra (en)
- La valutazione a corto circuito, valutazione minima o valutazione di McCarthy è un meccanismo relativo agli operatori booleani binari per cui il secondo operando viene valutato unicamente se il valore del primo operando non è sufficiente da solo a determinare il risultato dell'espressione: quando il primo argomento dell'operatore logico AND è falso, il valore dell'intera espressione dovrà essere necessariamente falso; e quando il primo argomento dell'operatore logico OR è vero, il valore dell'intera espressione dovrà essere necessariamente vero. In alcuni linguaggi di programmazione (Lisp), i normali operatori booleani sono cortocircuitati. In altri (Ada, Java), sono disponibile sia operatori cortocircuitati che non. Per alcuni operatori booleani, come Disgiunzione esclusiva (XOR), non è p (it)
- Avaliação de curto-circuito, avaliação mínima ou avaliação de McCarthy especifica a semântica de alguns em algumas linguagens de programação na qual o segundo argumento é apenas executado ou avaliado se o primeiro argumento não for suficiente para determinar o valor da expressão: quando o primeiro argumento de uma função AND é avaliado como falso, o valor global deve ser falso e quando o primeiro argumento da função OR for avaliado como verdadeiro, o valor global deve ser verdadeiro. Em algumas linguagens de programação (Lisp), os operadores booleanos usuais são de curto-circuito. Em outras (Java, ), os operadores booleanos padrões e de curto-circuito estão disponíveis. (pt)
- Вычисления по короткой схеме (англ. short-circuit evaluation), также известны как вычисления Маккарти (англ. McCarthy evaluation, в честь американского информатика Джона Маккарти) — это стратегия в некоторых языках программирования, при которой второй логический оператор выполняется или вычисляется только в том случае, если первого логического оператора недостаточно для определения значения выражения. Таким образом, после того, как результат выражения становится очевидным, его вычисление прекращается. Примеры: (ru)
- Обчислення за короткою схемою, мінімальне обчислювання або обчислювання Маккарті (за Джоном Маккарті) — це семантика деяких булевих операторів у деяких мовах програмування, в яких другий аргумент виконується або обчислюється лише в тому випадку, якщо значення першого аргументу недостатньо для визначення загального значення виразу. Інакше кажучи, для функції AND значення false першого аргументу достатньо, щоб отримати загальне значення false; і для функції OR значення true першого аргументу достатньо, щоб отримати загальне значення true. (uk)
|