Aufgabe zur Vorrangschreibweise? |
bandchef
Mitglied
Dabei seit: 06.10.2009
Beiträge: 28
|
|
Aufgabe zur Vorrangschreibweise? |
|
Hi Leute!
Ich hab folgende 3 Aufgaben die ich in die Vorrangschreibweise umschreiben soll. Ich hab schon Lösungen aber ich würde jetzt gern wissen ob das soweit richtig ist.
1. a+b-(x<=c|d)*t = -(+(a,b),*t(|d,(x(<=c))))
2. (c*d+a)*e = *(e,+(a,(*(c,d))))
3. a+b+c+d*e*f*g&x!=v = *(e,f,g,(!=(v,(&(x,(a,b,c,d)))))
Das "=" ist als mathematisches Istgleich zu verstehen, da ja quasi der Complier beide Schreibweisen als gleichwertig erkennen sollte...
Könnt ihr mir sagen ob ich korrekt gearbeitet habe?
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von bandchef: 21.10.2010 19:15.
|
|
21.10.2010 19:14 |
|
|
ed209
Routinier
Dabei seit: 07.09.2006
Beiträge: 324
|
|
RE: Aufgabe zur Vorrangschreibweise? |
|
Zitat: |
Original von bandchef
Hi Leute!
Ich hab folgende 3 Aufgaben die ich in die Vorrangschreibweise umschreiben soll. Ich hab schon Lösungen aber ich würde jetzt gern wissen ob das soweit richtig ist.
|
Vorrangsschreibweise sagt mir (oder meiner Suchmaschine) jetzt nichts. Ich nehme an daß polnische Notation (auch Präfix-Notation) gemeint ist.
Zitat: |
1. a+b-(x<=c|d)*t = -(+(a,b),*t(|d,(x(<=c))))
|
Bis zum Minus ist alles richtig.
Aber dann übersetzt du (XXX * t) in *t, als wäre *t ein unärer Operator. Er ist aber binär und müsste *(XXX, t).
Denk auch daran die Reihenfolge nicht zu vertauschen.
Zitat: |
2. (c*d+a)*e = *(e,+(a,(*(c,d))))
|
Auch hier wieder hast du die Reihenfolge der Operanden mehrfach vertauscht. Was da steht bedeutet: e*(a+c*d)
Das ist nicht dasselbe.
Zitat: |
3. a+b+c+d*e*f*g&x!=v = *(e,f,g,(!=(v,(&(x,(a,b,c,d)))))
|
Was soll (a,b,c,d) für eine Operation sein?
Versuch mal in diesem Ausdruck erstmal Klammern zu setzen, so daß die Bedeutung sich nicht ändert.
Gruß,
ED
|
|
26.10.2010 12:30 |
|
|
|