Seite 1 von 1

Theorie #2a Invariante ungenau

Verfasst: 20. Mai 2017 11:14
von goerlibe
Die Invariante ist, dass nach h >= 0 Iterationen die Elemente A[0]...A[h−1] aufsummiert wurden und in sum enthalten sind.
(AUD_UE2A_V7 - Seite 6)

Für h=0 wären doch dann in sum die Elemente A[0] ... A[-1] aufsummiert.

Für A = {1,2,3} hätte ich doch dann sum = 1+(A[-1] undefiert / IndexOutOfBounds).

Daher halte ich die Formulierung für falsch, oder täusche ich mich?
Sollte man in so einem Fall nicht lieber sagen: Die Invariante ist, dass für h=0 auch sum=0, für h>0 ist sum = SUMME von A[0] bis A[h-1]


btw hab den Code nicht angeschaut - vielleicht wird sum ja mit A[0] initalisiert - in dem Fall könnte man sagen:
für h>=0 Iterationen ist sum = SUMME A[0] bis A[h]

Re: Theorie #2a Invariante ungenau

Verfasst: 20. Mai 2017 15:17
von invariant
Mit \(A[0]...A[h-1]\) sind die Elemente \(A[x]\) gemeint mit \(x \in [a,b]\) mit \(a = 0\) und \(b = h-1\) also \(\{x \in \mathbb{N}| a <= x <= b\}\) - wenn \(a > b\) gilt, was bei \(a = 0\) und \(b = -1\) ja der Fall ist, ist das die leere Menge. Nach der Iteration \(h = 0\) haben wir noch kein Element aufaddiert, also ist das genau das was wir wollen.

Entschuldigung falls das oben mathematisch ein bisschen unsauber sein sollte. Hoffe es wird trotzdem verständlicher.

Habe gerade nur wikipedia zur Hand was das angeht.
https://de.wikipedia.org/wiki/Intervall_(Mathematik)

Gruß