UPN, Stacktiefe

25/02/2008 - 06:06 von Jan Bruns | Report spam
Hallo.

http://de.wikipedia.org/wiki/RPN

schreibt folgendes:

| Es ist erwiesen, dass sich beliebig komplexe mathematische Berechnungen
| mit einem Stapel von nur vier Eintràgen ausführen lassen; dadurch làsst
| sich ein vollwertiger UPN-Taschenrechner mit nur vier Stapelregistern bauen.

Hm, da kommt man aber doch auf jeden Fall ganz schön in den Schweiss,
wenn das so richtig funktionieren soll. Folgendes Beispiel làsst mich zweifeln,
ob das überhaupt geht:

f1(a,b,c,d) := (a*b + c*d); // 3
f2(a,b,c,d,e,f,g,h) := f1(a,b,c,d)/f1(e,f,g,h); // 4?
f3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) := f2(a,b,c,d,e,f,g,h)^f2(i,j,k,l,m,n,o,p) // 5?

Sieht da jemand pauschal 'ne Lösung, oder soll ich jetzt diese wiki-Aussage besser
pauschal erstmal ignorieren?


Gruss

Jan Bruns
 

Lesen sie die antworten

#1 Wolfgang Meiners
25/02/2008 - 13:18 | Warnen spam
Jan Bruns schrieb:
Hallo.

http://de.wikipedia.org/wiki/RPN

schreibt folgendes:

| Es ist erwiesen, dass sich beliebig komplexe mathematische Berechnungen
| mit einem Stapel von nur vier Eintràgen ausführen lassen; dadurch làsst
| sich ein vollwertiger UPN-Taschenrechner mit nur vier Stapelregistern bauen.

Hm, da kommt man aber doch auf jeden Fall ganz schön in den Schweiss,
wenn das so richtig funktionieren soll. Folgendes Beispiel làsst mich zweifeln,
ob das überhaupt geht:

f1(a,b,c,d) := (a*b + c*d); // 3



f1(a,b,c,d) = a*b(1+c*d/a/b); // 2

f2(a,b,c,d,e,f,g,h) := f1(a,b,c,d)/f1(e,f,g,h); // 4?
f3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) := f2(a,b,c,d,e,f,g,h)^f2(i,j,k,l,m,n,o,p) // 5?

Sieht da jemand pauschal 'ne Lösung, oder soll ich jetzt diese wiki-Aussage besser
pauschal erstmal ignorieren?




Vielleicht làsst du dir ein neues Beispiel einfallen.


Gruss

Jan Bruns







Ähnliche fragen