shadonvy ha scritto:la notazione rpn dovrebbe essere più semplice dato che è una scrittura al di fuori della notazione infissa che è la notazione standard e che conoscono tutti.
Io ho detto che la notazione rpn è più facile da implementare come programma nel senso che, a quanto ne so, dovrebbe essere più semplice fare un interprete per la notazione rpn rispetto a uno per la notazione infissa, e questo ha poco a che fare con la notazione comunemente usata.
Comunque, sarà che sono un ingegnere, ma l'rpn non è poi così teribbile
Prendi l'espressione seguente:

Per trasformarla in rpn, basta partire dalla parentesi più interna e poi andare verso l'esterno: la parentesi più interna è 4+5 che trasformata diventa
4 5 +
Poi ci sono una moltiplicazione e un rapporto che sono allo stesso livello di precedenza, quindi li possiamo fare da sinistra verso destra:
4 5 + 6 * 2 4 /
sommiamo il risultato...
4 5 + 6 * 2 4 / +
e sottraiamo 8
4 5 + 6 * 2 4 / + 8 -
moltiplichiamo per 7
4 5 + 6 * 2 4 / + 8 - 7 *
e poi facciamo il parziale di 9*15
4 5 + 6 * 2 4 / + 8 - 7 * 9 15 *
che sottraiamo a quanto trovato prima
4 5 + 6 * 2 4 / + 8 - 7 * 9 15 * -
Dividiamo tutto per 7
4 5 + 6 * 2 4 / + 8 - 7 * 9 15 * - 7 /
e, infine, sottraiamo 3
4 5 + 6 * 2 4 / + 8 - 7 * 9 15 * - 7 / 3 -
Scrivendo meglio, questo è il risultato:

In realtà il risultato l'ho scritto subito e tutta la trafila di trasformazioni è piuttosto immediata (tra l'altro, non ho mai avuto una calcolatrice rpn): prova a fare lo stesso conto con una calcolatrice comune che non abbia le parentesi!
Da un punto di vista informatico, un modo per passare da una notazione all'altra è il seguente. Si rappresenta l'espressione in un albero, in cui i numeri stanno nelle foglie e gli operatori nei nodi. Per esempio, per l'espressione sopra, l'albero è (salvo errori dovuti all'ora...)
Ora: se visiti l'albero in pre-ordine, cioè prima i nodi e poi i rami, ottieni la rappresentazione prefissa; se visiti l'albero in-ordine, cioè ramo sinistro, nodo e poi ramo destro, ottieni la rappresentazione infissa (ma devi ripristinare le parentesi); e, infine, se visiti l'albero in post-ordine, cioè prima i rami e poi i nodi, ottieni la rappresentazione post-fissa.

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)
instead of
(Anonimo).
ain't
, right?
in lieu of
.
for
arithm.






