klammerungen



  • hallo ich soll als aufgabe folgenden ausdruck klammern:

    a < b/c * d && e-f+g != h || i/j >= -k -l/m

    ich hab grad die lösung von einem freund vor mir der

    Disjunktion liefert logischen Ausdruck
    (a<b/c*d&&e-f+g!=h) || (i/j >= -k –l/m)

    dastehen hat ... ich hätte rein intuitiv mit den operatoren höchster priorität angefangen also

    a < b/c * d && e-f+g != h || i/j >= (-k) -l/m
    und dann
    a < ((b/c) * d) && e-f+g != h || (i/j) >= (-k) - (l/m)

    was entspricht nun der lösung ?
    am schluss komme ich auf

    ((a < ((b/c) * d)) && (((e-f)+g) != (h))) || ((i/j) >= ((-k) - (l/m)))

    er hingegen auf

    [ ( a < [b/ (c*d) ] ) && ( [e- (f+g) ] != h) ] || [ (i/j) >= (- [k – (l/m) ] ) ]



  • also ich komme auf:

    ((a < ((b/c) * d)) && (((e-f)+g) != h)) || ((i/j) >= ((-k) - (l/m)))

    [ ( a < [b/ (cd) ] ) && ( [e- (f+g) ] != h) ] || [ (i/j) >= (- [k – (l/m) ] ) ]
    Enthält meiner Mainung nach Fehler:
    1. [b/ (c
    d) ] das wäre rechtsssoziativr, java ist linksass.
    2. (- [k – (l/m) ] ) die logik versteh ich nicht
    3. [e- (f+g) ] wie 1., kommt aber aufs gleiche raus

    Mfg


Log in to reply