home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dream 52
/
Amiga_Dream_52.iso
/
Amiga
/
Applications
/
Mathematiques
/
RPN.lha
/
RPN
/
LEGGIMI
< prev
next >
Wrap
Text File
|
1991-08-26
|
11KB
|
241 lines
Questa Φ la descrizione del programma
RPN,
aggiornata alla revisione 1.00 del 31 gennaio 1990.
MLO 900131
---------------------------------------------------------------------
1)
Presentazione e storia
RPN
Φ un programma interattivo che permette di eseguire calcoli
aritmetici, trigonometrici e statistici utilizzando tastiera e mouse
di un personal computer Commodore Amiga, e simulando con esso il
funzionamento di un calcolatore da tasca Hewlett-Packard.
RPN
Φ stato
sviluppato originariamente in FORTRAN 77 per un HP21MX, poi
trasportato su VAX, e implementato anche in BASIC su PC IBM prima di
essere tradotto in C (Lattice C V5.04) per l'Amiga; il programma
originale simulava un pocket computer HP-32, e nelle versioni
successive si sono introdotte alcune peculiaritα di modelli
successivi, in particolare dell'HP-11C.
Il funzionamento dei pocket computers Hewlett-Packard Φ fondato
sulla notazione polacca inversa (
RPN)
introdotta da Lukasiewicz nel
1924, il cui principio fondamentale Φ:
si dichiarano le variabili
immediatamente prima delle funzioni che operano su di esse. La maggior
parte delle calcolatrici da tasca segue quasta logica per il calcolo
delle funzioni di una sola variabile: per estrarre una radice quadrata
si introduce l'argomento e poi si preme il tasto appropriato.
RPN
non
complica l'introduzione dei dati usando la notazione inversa per
alcune funzioni e quella algebrica (che Φ pi∙ comoda per la scrittura
su carta ma meno adatta per il calcolo) in altre; ma usa la logica
inversa per tutte le funzioni di due variabili, comprese le 4
operazioni elementari.
2)
Primo contatto
Mandato in esecuzione il programma (comando
RPN
da CLI, o
doppio click sull'icona di
RPN
), si presentano sullo schermo due
finestre: la prima contiene i "tasti" del calcolatore, da puntare e
selezionare con il mouse; la seconda i 4 registri dello stack ed i 16
registri di memoria. Sei di questi, da
A
ad
F
, servono per l'accumulo
dei risultati parziali nei calcoli statistici (media e deviazione
standard, interpolazione lineare); tutti sono comunque usabili
dall'utente per conservarvi dei dati.
L'introduzione dei valori numerici avviene con la tastiera, ed
i caratteri introdotti compaiono nello "string gadget" con la scritta
Input Field
: questo si seleziona automaticamente premendo un tasto
associabile ad un numero floating point (in notazione a virgola fissa
o scientifica); Φ possibile correggere quanto Φ stato introdotto,
perchΦ la traduzione dei caratteri in numero si fa solo o quando si
deseleziona il gadget (premendo il tasto
Return
), o quando si
seleziona un "tasto" od un'opzione dei menu a discesa. Quando questo
avviene, il numero viene depositato nel registro
X
dello stack; e, se
era stata scelta una operazione da eseguire sul numero appena
introdotto, questa viene compiuta subito dopo.
- 1 -
Un'altra delle caratteristiche che rendono
RPN
comodo da usare
Φ il trattamento degli errori: ogni volta che un'operazione di tipo
aritmetico Φ vietata (per esempio si tenta di effettuare una divisione
per zero) compare un
requester
che segnala l'errore ma
nessun
cambiamento Φ operato sui registri e sullo stack, per non danneggiare
eventuali risultati parziali in essi contenuti; e anche quando,
malauguratamente, una operazione sbagliata venisse effettuata,
l'opzione
Last X
dei menu a discesa consentirebbe di riprendere
l'ultimo dato usato e, compiendo l'operazione inversa, di ripristinare
lo stato dello stack e dei registri.
3)
Un esempio
Vediamo ed esempio come si procede per il calcolo del valore di
(Log(X) + 1) / 3.14:
si introduce X, battendo le cifre una dopo l'altra;
si seleziona con il mouse il gadget "Ln" (logaritmo natura-
le): il risultato parziale Log(X) compare sullo schermo nel
registro
X;
si introduce la costante 1 con la tastiera e si seleziona il
gadget "+" (addizione): il risultato parziale Log(X)+1 com-
pare sullo schermo;
si introduce con la tastiera la costante 3.14 (o si usa il
gadget "pi greco" per introdurre la costante matematica con
16 cifre significative): sullo schermo sono visibili i due
fattori;
si seleziona il gadget "/" (divisione) ed il risultato fina-
le compare nel registro
X.
I vantaggi sono evidenti: non si deve mai far uso di parentesi;
non Φ necessario un tasto conclusivo ("uguale") per dire al
calcolatore quando eseguire le operazioni; ed inoltre sono sempre
visibili ed
accessibili
i risultati parziali.
Per un calcolo cos∞ semplice sono sufficienti due dei quattro
registri dello stack; per calcoli pi∙ complessi si rimanda ai manuali
che accompagnano i pocket computers Hewlett-Packard. In questi calcoli
la visibilitα continua dello stack e dei registri di memoria Φ
perticolarmente utile per l'apprendimento della logica
RPN
e quindi
interessante anche dal punto di vista didattico.
- 2 -
4)
Funzioni disponibili
Le quattro operazioni aritmetiche.
Reciproco, radice quadrata, quadrato, potenza, percentuale.
Funzioni esponenziali e logaritmiche, naturali e decimali.
Seno, coseno e tangente trigonometrici ed iperbolici, e loro
funzioni inverse.
Funzioni di conversione: a radianti, a gradi sessagesimali o
centesimali; dal sistema decimale a quello sessagesimale e
viceversa; da coordinate rettangolari a polari e viceversa.
Funzioni statistiche: media, deviazione standard, correla-
zione, interpolazione lineare, calcolo di punti sulla retta
interpolante e dell'errore sulle ordinate dei punti interpo-
lati con la formula di Fisher.
Operazioni aritmetiche dirette sui registri di memoria.
Per le funzioni trigonometriche la misura degli angoli pu≥
essere scelta in radianti, gradi sessagesimali o gradi centesimali;
tutti i calcoli sono eseguiti in doppia precisione (64 bits); il
risultato viene presentato in virgola fissa quando possibile, od
automaticamente convertito in notazione scientifica se l'esponente
supera le capacitα di visualizzazione.
Il tasto
Inv
serve
solo
ad introdurre le funzioni
trigonometriche inverse, e non ha effetto con altre funzioni;
Hyp
poi
introduce le funzioni trigonometriche iperboliche, e
Hyp Inv
(oppure
Inv Hyp) le loro inverse.
Per un buon uso di
RPN
si raccomanda di consultare un manuale
di istruzioni per un pocket computer Hewlett-Packard tipo HP-11C;
nelle pagine seguenti si riassumono le istruzioni per le operazioni
fondamentali.
5)
Brevi note
Il tasto "%" calcola in
X
l'
X
per cento di
Y.
Le sequenze
Recall <operazione> registro
compiono un
Enter,
quindi mettono in
X
il risultato di
X <operazione> registro.
Le sequenze
Store <operazione> registro
mettono nel registro
il risultato di
Registro <operazione> X.
Per media e deviazione standard, si impostano i dati in
X
e
si preme il tasto
Sommatoria +;
in
X
Φ visibile il numero di
dati immessi. Premendo
Mean
la media Φ in
X
e la deviazione
standard in
Y.
- 3 -
Per l'interpolazione lineare, si impostano le ascisse in
X
e le ordinate in
Y;
premendo alla fine
L.R.,
l'intercetta Φ
in
X
e la pendenza in
Y.
I registri di memoria contengono:
A: Numero di dati immessi
B:
Somma delle
X
C:
Somma delle
X
al quadrato
D:
Somma delle
Y
E:
Somma delle
Y
al quadrato
F:
Somma dei prodotti
X
per
Y
e vengono azzerati con l'opzione
Clear accumulator
dei menu
a discesa.
Conversione da coordinate cartesiane a polari e viceversa:
il raggio vettore Φ in
X
e l'azimuth in
Y.
6)
Il programma
RPN
Φ scritto in C per il compilatore SAS-C (una volta
Lattice-C) Versione 5.10; Φ stato sviluppato su di un Amiga 500 con
512 KBytes di chip RAM e 2.5 MBytes di Fast Ram, e non dovrebbe dare
problemi in nessun'altra configurazione. Si schedula da CLI con il
comando
RPN,
o da Workbench selezionando l'icona relativa (beware:
real men don't use icons).
Il programma stesso Φ accluso in sorgente, con il
Makefile
che
Φ servito a compilarlo ed a linkarlo; si dovrebbe trasportare con
minime difficoltα sotto l'Aztec-C della Manx.
Sentitevi liberi di giocare con
RPN
e di diffonderlo a volontα;
ma considerate che, anche se provato a lungo, potrebbe contenere
ancora qualche errore che si manifesti solo in occasioni particolari.
Se per caso apportate dei cambiamenti, per correggere errori o anche
solo perchΦ non vi piace la forma estetica, siete gentilmente pregati
di darne comunicazione al sottoscritto:
Maurizio LORETI (o MLO, o I3NOO)
Via G. Donizetti, 6
35010 CADONEGHE (PD)
ITALY
Sono anche raggiungibile per posta elettronica come LORETI at
IPDINFN (BITNET), o come VAXFPD::LORETI (DECnet); VAXFPD Φ il nodo
numero 38.257 (o anche 39169) della rete. Tutti questi indirizzi
corrispondono allo stesso computer, un VAX 8600 sotto sistema VMS.
HAVE FUN !
by MLO
- 4 -