-1

Also, funktionale Überschreibung und diskrete Mathematik. Ein Merkmal, über das ich mich im kritischen Systemdesign nicht ganz sicher bin. Nehmen wir an, wir haben eine Funktion, bei der f() fehlschlagen sollte; g() würde überschreiben; wie unten angegeben ...Functional Override: Was passiert und wenn

"g() ⊕ f()"


  • x = 0,1;

  • f (x) x^2, wenn x ∈ ℕ1,

  • g (x) 2x -X, wenn x ∈ ℕ0

Ich verstehe, dass in einer Situation, wo der Eingang (x) ist nicht in den Anwendungsbereich oder die Domäne von F(), wird die Funktion G() soll handeln, wie es überschreiben ist und x wird zu einer Funktion G(), g (x). Aber im obigen Beispiel werden Sie feststellen, dass x außerhalb der Domäne von f() und g() ist.

Also bedeutet dies, dass die Ausgabe nie gegeben ist, weil x eine ungültige Eingabe ist?

Dies scheint unwahrscheinlich, dass eine realistische Ausnahme sein System beschäftigen zu müssen in einem kritischen als ein „g() ⊕ f()“ in der Lage für jeden Eingang zu kompensieren sein erwarten würde; Aber bei einer kürzlichen Untersuchung wurde mir diese Art von Frage gestellt, und ich fand, dass es die Trickfrage war. Wenn jemand etwas Licht darauf werfen könnte, würde es sehr geschätzt werden; Keines meiner Bücher erwähnt irgendetwas über die Handhabung dieser Art von Eingabe, und alle Beispiele, die mir beigebracht wurden, waren immer Fälle, in denen x innerhalb des Bereichs von mindestens g() liegt.

Antwort

0

So stellt sich heraus, dass auch mit g() überschreiben f(), wenn der Eingang außerhalb des Bereichs der ersten und übergeordneten Funktion ist; Die Ausgabe ist ein Fehler, da sie sich für keinen der beiden Tests qualifiziert. Ähnlich, wenn wir versuchen, eine negative Zahl mit einem Taschenrechner zu faktorisieren.