Saturday, February 13, 2010

RPN

Alcune settimane fa, mentre seguivo una lezione di esercizi di teoria delle reti elettriche, il prof. seguiva con la voce ciò che batteva sulla calcolatrice in modo non usuale. Diceva ad esempio: "tremilacinquecento enter settanta enter più diviso tre meno" e poi scriveva alla lavagna un bel, quanto altisonante ventidue. Subito quindi mi è saltato un grillo per la teca cranica: che diavolo di calcolatrice usa il prof.? Mi sono risposto avvicinandomi alla sua cattedra alla fine della lezione. Ho notato che lui usa una calcolatrice HP (massì dai, un po' di pubblicità) che a prima (sconcertante ma non troppo) vista è sprovvista di un tasto "uguale". Al suo posto però, regna incontrastato sulla tastiera un ciccioso e rettangolare pulsante con scritto ENTER. Ho fatto alcune ricerche in rete e ho scoperto che il prof utilizza una calcolatrice R.P.N., Reverse Polish Notation, ossia a Notazione Polacca Inversa. A parte questo, passiamo alle cose che importano.
  • Come si scrive un operazione? Copio spudoratamente l'esempio che riporta Wikipedia: L'espressione scritta come noi la conosciamo 5 + ((1 + 2) * 4) − 3 può essere scritta in RPN in questo modo: 5 1 2 + 4 * + 3 − .
  • E le parentesi? La RPN permette di non usare parentesi per ogni operazione comunque complessa sia necessario fare. La calcolatrice non ha quindi i tasti per immettere le parentesi.
  • Perchè? Leggi sotto.
  • Come funziona? Si immagina di avere una pila, in inglese stack, sulla quale si mettono i numeri della vostra operazione, e poi si preme ENTER. E' come se doveste mettere dei piatti uno sopra l'altro. Inserendo invece un segno di operazione, la calcolatrice si prende i primi due numeri in cima alla pila, esegue con essi l'operazione, e rimette il risultato in cima alla pila, avendo avuto cura di cancellarli prima dalla pila stessa.
  • Per chi è consigliata? La RPN è un modo di scrivere le operazioni che costringe chi le fa a dover capire come e quali operatori devono avere la precedenza ed è quindi adatta a chi deve imparare o a chi vuole tenere attivo il cervello pur usando una calcolatrice.
  • E' una variante di altri tipi di notazioni? Sì, ci sono tre tipi di notazione: la notazione infissa, quella che la maggioranza di noi conosce, quella prefissa e quella postfissa, che è poi quella a cui corrisponde la RPN.
  • Da chi fu inventata? La Notazione Inversa fu inventata dall'australiano Charles Hamblin, filosofo ed esperto di computer, e fu chiamata così per similitudine con la notazione polacca, inventata dal matematico polacco del secolo scorso Jan Łukasiewicz. Questa era la notazione prefissa.
C'è molto materiale in giro per la rete che può soddisfare ogni vostra sete di sapere. Inizio ad organizzarvelo.