Introduzione
************

ARcalc e` un programma che simula una calcolatrice scientifica, sviluppato per i computer della serie Amiga. ARcalc puo` essere utilizzata con qualunque modello di Amiga che disponga di una versione di sistema operativo superiore alla 1.3.

La versione 2.1 del Workbench introduce la localizzazione, cioe` la possibilita` di scrivere programmi che comunichino con l'utente nella lingua che questi ha scelto: ARcalc e` in grado di sfruttare questa caratteristica, ed e` distribuito con i files necessari alla localizzazione in numerose lingue. Sono localizzate le voci di menu,e i messaggi di errore della calcolatrice, mentre si e` deciso di non localizzare le etichette dei tasti , in quanto generalmente anche sulle calcolatrici reali queste restano invariate di paese in paese.

Le funzionalita` messe a disposizione da ARcalc sono quelle di calcolo in virgola mobile tipiche di una calcolatrice scientifica, inclusa la capacita` di eseguire calcoli interi in base binaria, ottale ed esadecimale. Le operazioni trigonometriche implementate possono essere eseguite su valori misurati in gradi, radianti o gradi decimali, e i numeri possono essere rappresentati in notazione esponenziale, con punto decimale fisso (indicando il n. di cifre decimali desiderate), o in un modo misto. Indipendentemente dal formato di rappresentazione usato, tutti i calcoli sono svolti in doppia precisione.

ARcalc e` attualmente alla versione 1.1. La versione 1.0, peraltro mai rilasciata, era priva di localizzazione.

Ricordate che ARcalc non funziona nelle versioni di sistema operativo inferiore alla 2.0; se cercate di farla partire in tale caso, semplicemente non accade nulla.

Uso di ARcalc
*************

Il programma puo` essere lanciato tanto da Workbench quanto da Shell,e si presenta visivamente come una calcolatrice posta sullo schermo del Workbench, in cui si possono facilmente distinguere il display e la tastiera. D'ora in poi, per evitare confusione, chiameremo `tasti' quelli della tastiera dell'Amiga, mentre per riferirci a quelli della calcolatrice parleremo di `bottoni'.

ARcalc e` stata progettata in modo da essere font-sensitive: essa cioe` puo` essere visualizzata con qualunque font e dimensione l'utente decida, adattandosi ad esso. Al lancio, il font con cui visualizzare la calcolatrice, cosi` come altre caratteristiche che vedremo piu` avanti, viene determinato grazie ad un file di configurazione presente nella stessa directory di ARcalc, di nome ARcalc.config; se tale file e` assente, e` utilizzato per default lo stesso font usato dal Workbench. E` altresi` possibile specificare un font sulla linea di comando (in caso di lancio da Shell) con la seguente sintassi:

ARcalc <nome font> <dimensione Y>

In questo caso ARcalc cerchera` di usare questo font, anche se fosse presente il file di configurazione. Il font scelto (che puo` essere di bitmap o compugraphic, proporzionale o meno) viene utilizzato per le label associate ai tasti e per il display, ma non per i menu; esso puo` essere modificato anche dopo il lancio, tramite la scelta Cambia font... nel sottomenu Parametri del menu Progetto (see I menu di ARcalc. ).

Il lancio di ARcalc puo` fallire per diversi motivi (mancanza di memoria, scelta di un font troppo grande, errori in apertura di librerie...); in tal caso l'utente viene avvertito tramite un appropriato messaggio di errore.

Una delle peculiarita` di ARcalc e` che permette di introdurre espressioni complesse esattamente come vengono scritte normalmente. Tale operazione puo` essere fatta sia digitando manualmente l'espressione usando la tastiera del computer, che agendo mediante il mouse sui bottoni della calcolatrice. Nella parte superiore del display, che chiameremo in seguito "area di editing", e` visibile l'espressione che si sta introducendo, ed essa puo` essere editata facendo uso dei tipici shortcut degli string gadget Amiga, o mediante gli appositi bottoni di editing.

Per calcolare il valore dell'espressione impostata, e` sufficiente premere il tasto RETURN di Amiga, o il bottone = della calcolatrice; il risultato comparira` nella parte inferiore destra del display, che chiameremo ``area risultati''. Nell'area risultati, oltre ai valori della computazione, possono essere anche visualizzati eventuali errori di sintassi o di calcolo. Se si verifica un errore di sintassi, il cursore dell'area di editing si posiziona sul punto dell'espressione dove si e` riscontrato l'errore, permettendo cosi` di correggerlo; la posizione del cursore non e` invece significativa in caso di errore di calcolo. Per un elenco completo degli errori di sintassi e di calcolo si rimanda alla sezione 5 di questo manuale (see I menu di ARcalc. ).

Descrizione dettagliata dei bottoni di ARcalc
*********************************************

Si dara` ora una descrizione dettagliata della funzione svolta dai bottoni della calcolatrice. I bottoni si dividono nelle seguenti classi:

Bottoni di editing
==================

I Bottoni di editing si trovano nella parte superiore destra della calcolatrice, e servono ad eseguire le piu` comuni operazioni di editing. I bottoni di editing sono i seguenti:

<=
     (freccia sinistra): questo bottone permette di spostare a sinistra di un carattere il cursore dell'area di editing. Analoga funzione puo` essere ottenuta mediante la freccia sinistra della tastiera di Amiga.

=>
     (freccia destra): questo bottone permette di spostare a destra di un carattere il cursore dell'area di editing. Analoga funzione puo` essere ottenuta mediante la freccia destra della tastiera di Amiga.

Del
     (Delete): questo bottone permette di cancellare il carattere su cui si trova il cursore dell'area di editing. Analoga funzione puo` essere ottenuta mediante il tasto Del di Amiga.

Bck
     (Backspace): questo bottone permette di cancellare il carattere alla immediata sinistra del cursore nell'area di editing. Analoga funzione puo` essere ottenuta mediante il tasto <- di Amiga.

Clr
     (Clear): questo bottone permette di cancellare tutta l'espressione. Analoga funzione puo` essere ottenuta mediante la pressione dei tasti Amiga-Left X

Bottoni di stato
================

I Bottoni di stato sono caratterizzati dal fatto di modificare lo stato della calcolatrice. Lo stato complessivo della calcolatrice e` visibile nella parte inferiore sinistra del display, rappresentato da alcune sigle: per comodita` chiameremo ``area di stato'' l'area del display in cui tali sigle compaiono. Si noti che lo stato complessivo al lancio del programma dipende dal contenuto del file di configurazione ARcalc.config; se questo non e` presente, vengono assunti dei valori di default, indicati nel seguito.

I bottoni di stato sono i seguenti:

Bse
     (numeric BaSE): questo bottone permette di scegliere la base in cui si desidera lavorare. La base attuale e` visibile nell'area di stato, mediante uno dei seguenti simboli:

     dec
          base decimale

     hex
          base esadecimale

     oct
          base ottale

     bin
          base binaria

     La pressione del bottone Bse produce il passaggio da una base alla successiva nel seguente ordine:

     ... -> dec -> hex -> bin -> oct -> ...

     Il cambio di base da luogo automaticamente all'annullamento dell'espressione eventualmente presente nell'area di editing, perche` ogni numero nella espressione cambierebbe valore nella nuova base. Si noti che quandola base non e` quella esadecimale alcuni dei bottoni della calcolatrice, pur continuando a funzionare, perdono di significato (p.e. i tasti A, B, C, D, E, F in base decimale non sono utili, anche se continano a funzionare). ARcalc inoltre non e` in grado di utilizzare numeri non interi in basi diverse da quella decimale: cio` comporta anche il fatto che alcune funzioni non siano piu` significative pur continuando ad essere utilizzabili (p.e. la funzione sin(X), pur funzionando perfettamente in ogni base, puo` restituire solo i valori 0 o 1 se la base non e` decimale). Se non e` presente il file ARcalc.config, al lancio del programma viene usata la base decimale.

Fse
     (Fixed,Scientific,normal): questo bottone permette di scegliere la notazione di visualizzazione dei risultati tra le seguenti tre modalita`:

     Fissa: indicato dal sibolo fix nell'area di stato, tale formato prevede la visualizzazione del risultato con un numero fissato di cifre decimali. Il numero di cifre decimali e` definibile mediante il tasto Fix.

     Scientifica: indicato dal simbolo sci nell'area di stato, tale formato prevede la visualizzazione del risultato in notazione scientifica. Si noti che in tale formato il numero di cifre significative fissato con il bottone Fix non e` piu` riferito alle cifre decimali, ma alle cifre componenti la base del numero in notazione scientifica.

     Normale: indicato dal simbolo nor nell'area di stato, tale formato e` un misto dei due precedenti: il risultato verra` visualizzato nel formato che produrra` la stringa piu` piccola, tra quello scientifico e quello a virgola fissa.

     Si noti che nel passaggio da un formato all'altro il risultato dell'ultima espressione viene rivisualizzato nel nuovo formato. Se non e` presente il file ARcalc.config, al lancio del programma viene usata la notazione normale.

Drg
     (Degrees,Radiant,decimal degrees (Grad) ): Questo bottone permette di scegliere l'unita` di misura degli archi per le funzioni trigonometriche. Le possibili unita` di misura sono:

       * Gradi: caratterizzati dal simbolo deg nell'area di stato

       * Radianti: caratterizzati dal simbolo rad nell'area di stato

       * Gradi decimali: caratterizzati dal simbolo Grad nell'area di stato

     Se non e` presente il file ARcalc.config, al lancio del programma gli archi si considerano misurati in radianti.

Fix
     (Fix significant digits): questo bottone permette di fissare, a seconda della notazione attualmente in uso, il numero di cifre dopo la virgola (notazione fissa) o il numero di cifre significative (notazione scientifica o normale). Quando questo bottone viene premuto, nella parte inferiore del display compare la seguente scritta:

     Numero di cifre (0-9)

     a questo punto l'utente dovrebbe premere uno dei bottoni numerici della calcolatrice tra 0 e 9, indicando cosi` il numero di cifre desiderato: qualunque altro bottone venga premuto comporta l'annullamento della operazione, mantenendo invariato il numero di cifre. Si ricorda che qualunque sia il numero di cifre fissato, tutti i calcoli vengono svolti in doppia precisione. Se non e` presente il file ARcalc.config, al lancio del programma viene usato il numero massimo di cifre, cioe` nove.

Inv
     (Inverse function): questo bottone premette di ottenere le funzioni inverse delle funzioni presenti nella tastiera della calcolatrice. Quando viene premuto, nell'area di stato compare il simbolo Inv: se il prossimo tasto premuto sara` un tasto indicante una funzione, allora nell'espressione verra` introdotta la funzione inversa corrispondente, a patto che questa sia definita (p.e. non e` definita la f.ne inversa della funzione fattoriale Fact). La pressione del bottone Inv non produce nessun risultato se il bottone successivo non e` associato ad una funzione, o se tale funzione non ammette funzione inversa.

Hyp
     (Hyperbolic function): questo bottone permette di ottenere le funzioni iperboliche. Quando viene premuto, nell'area di stato compare il simbolo Hyp: se il successivo bottone premuto sara` relativo ad una funzione trigonometrica, verra` inserita nell'espressione la corrispondente funzione iperbolica. Il tasto Inv puo` essere usato insieme a questo tasto per ottenere le funzioni inverse delle funzioni iperboliche. La pressione del bottone Hyp non produce alcun effetto se il successivo premuto non e` associato ad una funzione trigonometrica.

Bottoni di testo
================

I bottoni di testo permettono di inserire nella espressione in editing cifre, funzioni, operatori etc. Tutto cio` che viene inserito mediante i bottoni di testo puo` essere digitato anche tramite la tastiera di Amiga, ma tali bottoni offrono una comoda scorciatoia. Si noti che il parser delle espressioni non e` case sensitive, e quindi queste si possono digitare senza preoccuparsi di usare caratteri maiuscoli o minuscoli. Diamo di seguito l'elenco dei bottoni di testo presenti nella calcolatrice:

log
     da solo produce la stringa Log(, indicante la funzione logaritmo in base 10; in congiunzione con Inv produce la stringa 10^, dove ^ e` il simbolo di elevamento a potenza.

ln
     da solo produce la stringa Ln(, indicante la funzione logaritmo in base e (numero di nepero); in congiunzione con Inv produce la stringa e^.

x2
     da solo produce la stringa ^2, indicante l'elevamento alla seconda potenza; in congiunzione con Inv produce la stringa Sqrt(,indicante la funzione radice quadrata.

mod
     produce la stringa Mod(, indicante la funzione modulo, cioe` il resto nella divisione del primo argomento per il secondo (Mod(11,3) restituisce 2)

sin
     da solo produce la stringa Sin(, indicante la funzione trigonometrica seno. In congiunzone con Inv produce la stringa ArcSin(, indicante la funzione arcoseno. ATTENZIONE: il risultato dell'applicazione di tali funzione dipende dall'unita` di misura scelta per l'arco (RAD, DEG, GRAD). In congiunzione con Hyp produce la stringa Sh(, indicante la funzione seno iperbolico. Se anche Inv era stato premuto viene prodotta la stringa ArcSh(, indicante la funzione settore seno iperbolico

cos
     da solo produce la stringa Cos(, indicante la funzione trigonometrica coseno. In congiunzone con Inv produce la stringa ArcCos(, indicante la funzione arcocoseno. ATTENZIONE: il risultato dell'applicazione di tali funzione dipende dall'unita` di misura scelta per l'arco (RAD, DEG, GRAD). In congiunzione con Hyp produce la stringa Ch(, indicante la funzione coseno iperbolico. Se anche Inv era stato premuto viene prodotta la stringa ArcCh(, indicante la funzione settore coseno iperbolico

tan
     da solo produce la stringa Tan(, indicante la funzione trigonometrica tangente. In congiunzone con Inv produce la stringa ArcTan(, indicante la funzione arcotangente. ATTENZIONE: il risultato dell'applicazione di tali funzione dipende dall'unita` di misura scelta per l'arco (RAD, DEG, GRAD). In congiunzione con Hyp produce la stringa Th(, indicante la funzione tangente iperbolica. Se anche Inv era stato premuto viene prodotta la stringa ArcTh(, indicante la funzione ettore tangente iperbolica

and
     produce la stringa and, indicante l'operatore infisso di and bit a bit. L'uso di questo operatore forza gli argomenti ad interi a 32 bit.

or
     produce la stringa or, indicante l'operatore infisso di or bit a bit. L'uso di questo operatore forza gli argomenti ad interi a 32 bit.

not
     produce la stringa not, indicante l'operatore prefisso di not bit a bit. L'uso di questo operatore forza l'argomento ad intero a 32 bit.

xor
     produce la stringa xor, indicante l'operatore infisso di xor bit a bit. L'uso di questo operatore forza gli argomenti ad interi a 32 bit.

fct
     produce la stringa Fact(, indicante la funzione fattoriale.

rnd
     produce la stringa Rnd(, indicante una funzione ad un argomento per la generazione di un numero pseudocasuale. Se x e` il valore dell'argomento, il numero pseudo casuale viene generato nell'intervallo [0,X] se X>0, nell'intervallo [X,0] altrimenti.

( e )
     (bottoni parentesi aperta e chiusa): producono i corrispondenti caratteri.

Pi
     produce la stringa Pi, che raprresenta la costante simbolica Pi-greco. In fase di calcolo tale costante assume il valore corrispondente in doppia precisione

e
     produce la stringa e, che rappresenta la costante simbolica numero e (di Nepero). In fase di calcolo tale costante assume il valore corrispondente in doppia precisione.

0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
     producono il carattere corrispondente, indicante una cifra. L'interpretazione dei numeri presenti nell'espressione dipende ovviamente dalla base settata; questi tasti restano comunque tutti utilizzabili in ogni base, anche se l'uso di alcuni di essi in basi diverse da quelle esadecimali e` inutile.

Exp
     produce il carattere E, che si usa nella scrittura di un numero in forma esponenziale. Si noti che nella analisi sintattica dell'espressione non si considerano differenti i caratteri E, prodotto dal tasto Exp, ed e, prodotto dal tasto e (costante di Nepero); questi possono apparire in entrambi i casi maiuscoli o minuscoli, e il significato che viene ad essi attribuiti dipende dal contesto.

,
     (virgola): produce il carattere corrispondente. L'unico utilizzo di questo tasto e` nella scrittura della funzione mod(A,B); poiche` tale funzione ha due parametri, e` necessario separarli mediante una ",". La presenza di un apposito tasto garantisce la completa usablita` della calcolatrice via mouse.

+,-,*,/,^
     producono il corrispondente carattere, indicante rispettivamente l'operatore somma, differenza, prodotto, rapporto, elevamento a potenza. Si noti che il - puo` essere anche utilizzato come preoperatore per modificare il segno dell'operando.

v,w,x,y,z
     questi bottoni rappresentano delle variabili utilizzabili nelle espressioni. se Premuti, producono il carattere corrispondente, indicante appunto una variabile. Per l'assegnamento di un valore a queste variabili, vedere il bottone speciale sto.

Bottoni speciali
================

Raggruppiamo in questa classe tutti quei bottoni la cui pressione produce qualche particolare azione non direttamente legata all'editing di un'espressione. Tali bottoni sono:

sto
     consente di memorizzare il valore dell'espressione attuale in una variabile. Quando questo tasto viene premuto, nella parte inferiore del display viene stampato un messaggio, che richiede di scegliere la variable in cui memorizzare il valore:

     Scegli la variabile:

     a questo punto l'utente dovrebbe premere uno dei tasti-variabile persenti alla sinistra della tastiera numerica: l'espressione attualmente in editing verra` valutata, e il valore computato sara` assegnato alla variabile scelta. Quando questa variabile verra` inclusa in un'espressione, il suo valore sara` utilizzato in fase di calcolo.

cpy
     permette di inserire nell'espressione, alla posizione indicata dal cursore, il valore precedentemente calcolato, presente nella area risultati.

get
     permette di copiare dalla clipboard Amiga un'espressione eventualmente postavi da un altra applicazione. Eventuali caratteri con codice ASCII minore di 32 o maggiore di 126 vengono eliminati dalla stringa.

put
     permette di copiare il risultato di una espressione nella clipboard Amiga, rendendola disponibile ad un'altra applicazione.

=
     (uguale): la pressione di questo tasto produce la valutazione dell'espressione attuale, e la visualizzazione del risultato (o di un messaggio di errore) nella area risultati. Dopo la computazione, l'espressione nell'area di editing puo` essere automaticamente cancellata o meno, in funzione dello stato del flag AutoCLR, settabile dall'utente grazie al sottomenu Parametri see I menu di ARcalc.

I menu di ARcalc
****************

ARcalc dispone di due menu, che nella localizzazione italiana sono indicati come Progetto e Clipboard. Il menu Progetto ha le seguenti voci:

Parametri
     questo e` un sottomenu, mediante il quale e` possibile modificare o fissare alcune delle caratteristiche della calcolatrice. Le voci del sottomenu sono le seguenti:

     Cambia font ...
          permette di modificare il font con cui la calcolatrice e` rappresentata, mediante l'uso di un font requester standard Amiga. Se il font scelto risultasse troppo grande, o non esistente, verrebbe visualizzato un appropriato messaggio di errore, e la calcolatrice non varierebbe; in caso contrario verrebbe rivisualizzata utilizzando il nuovo font.

     Usa font WB
          consente di modificare il font come per la voce precedente, ma utilizzando il font di default dello schermo del Workbench.

     AutoCLR
          questa voce permette di attivare o disattivare la funzione di auto-clear della calcolatrice. Quando l'utente preme return, il bottone =,il bottone sto, o il tasto RETURN, l'espressione viene computata e, se la funzione di auto-clear e` attiva, il testo dell'espressione viene cancellato, in modo da permettere immediatamente un nuovo inserimento. Se la funzione di auto-clear e` invece disattivata, il testo della espressione precedente non viene cancellato, e puo` essere ritoccato. La funzione di auto-clear e` attivata quando la voce del menu e` preceduta dal simbolo checkmark Amiga.

     Salva parametri
          Permette di salvare lo stato e i settings della calcolatrice in un file nominato ARcalc.config. Quando la calcolatrice viene lanciata, cerca questo file e, se lo trova, si apre con le caratteristiche in esso fissate. Le caratteristiche che vengono fissate all'atto della scelta della voce Salva parametri sono le seguenti:

            * posizione della calcolatrice sullo screen;

            * font utilizzato;

            * stato del flag AutoCLR.

            * stato della calcolatrice, cioe` base numerica, unita` di misura dell'arco, formato di rappresentazione, numero di cifre significative.

Informazioni ...
     mostra un quadro con le informazioni sul programma e sul suo autore. Analogo risultato si ottiene con la pressione del tasto Inf della calcolatrice.

Termina
     termina l'uso della calcolatrice. Analogo risultato si ottiene premendo il gadget di chiusura della finestra della calcolatrice.

Il menu Clipboard ha le seguenti voci:

Taglia risultato
     copia il risultato dell'ultimo calcolo eseguito nella clipboard Amiga. Analogo risultato si ottiene con la pressione del tasto put della calcolatrice.

Incolla espressione
     copia il contenuto della clipboard Amiga nell'area di editing dell'espressione corrente, eliminando eventuali caratteri non leggibili (come i newline). Analogo risultato si ottiene con la pressione del tasto get della calcolatrice.

I messaggi di errore
********************

Diamo qui un elenco dettagliato dei messaggi di errore che possono comparire nell'area risultati del display, in seguito alla pressione del bottone =, sto, o del tasto RETURN. Per una descrizione generale del fenomeno, see Uso di ARcalc.

Errori di sintassi
==================

  * Operatore non valido: dopo un operando valido, e` presente una sequenza di simboli non riconosciuta come operatore.

  * mancano cifre nel numero: visualizzato quando dopo il punto indicante il termine della parte intera, non sono state digitate le cifre decimali di un numero.

  * Esponente non valido: visualizzato quando l'esponente di un numero espresso in forma esponenziale, supera il valore massimo consentito ( 300 ), o manca, o comunque non e` corretto.

  * Mancano parentesi: mancano parentesi nell'espressione. Parentesi che erano state aperte, non sono mai state chiuse.

  * Operando sconosciuto: dove dovrebbe esserci un operando, vi e` una sequenza di simboli non interpretabile come tale.

  * Manca un operando: l'espressione termina con un operatore, cui non segue un operando.

  * Troppe cifre: nel numero sono presenti troppe cifre.

Errori di calcolo
=================

  * Underflow: una qualche operazione ha prodotto un risultato cosi` piccolo da non essere rappresentabile in doppia precisione.

  * Overflow o numero non valido: una qualche operazione ha prodotto un risultato tanto grande da essere al di fuori del range di numeri rappresentabili in doppia precisione

  * Divisione per zero: si e` prodotta una divisione per zero.

  * Divisione per zero nel modulo: poiche` non si puo` dividere un numero per zero, tantomeno se ne puo` ottenere il modulo nella divisione per zero.

  * Argomento di ArcSin() fuori dal dominio: l'argomento di questa funzione deve cadere nell'intervallo [-1,1]

  * Argomento di ArcCos() fuori dal dominio: l'argomento di questa funzione deve cadere nell'intervallo [-1,1]

  * Argomento di ArcCh() fuori dal dominio: l'argomento di questa funzione deve essere >= 1

  * Argomento di ArcTh() fuori dal dominio: l'argomento di questa funzione deve cadere nell'intervallo (-1,1) (gli estremi sono esclusi).

  * L'argomento del logaritmo deve essere positivo: Indica che e` stata applicata la funzione ln(x) o log(x) ad un valore negativo o nullo, quando entrambe queste funzioni sono definite solo per valori positivi dell'argomento.

  * L'argomento di Sqrt() non puo` essere negativo: la funzione Sqrt() (radice quadrata) e` definita solo per valori non negativi.

  * L'argomento di Fact() non puo` essere negativo: la funzione fattoriale e` definita solo per valori non negativi dell'argomento.

Sviluppi futuri
***************

Se questo programma sara` in qualche misura apprezzato, in futuro mi piacerebbe estenderlo. Vorrei aggiungere una porta AREXX, che consenta ad altri programmi di utilizzare ARcalc per il calcolo delle loro funzioni. C'e` anche l'eventualita` che a questo programma vengano affiancati altri moduli integrati, come per esempio un plotter di funzioni o un programma per il calcolo di funzioni complesse mediante programmi scritti in un piccolo linguaggio ad hoc, che sfrutteranno ARcalc come host di calcolo.

Qualunque altro suggerimento sara` preso in considerazione.

Ringraziamenti
**************

Ringrazio alcune persone, per l'aiuto che mi hanno dato:

  * Marco Caimi, Federica Colla, Paolo Silvera, Marco Zandonadi, per il beta test del programma;

  * Steve McKinty per la revisione della documentazione in inglese (ho modificato qualcosa dopo la sua revisione, per cui forse non e` ancora perfetto)

  * Reinhard Spisser per la documentazione TexInfo e AmigaGuide;

  * Tutti i miei localizzatori ufficiali, che hanno reso possibile la distribuzione di ARcalc con una tale varieta` di linguaggi:

       * Steve McKinty (inglese)

       * Reinhard Spisser (tedesco)

       * Frank Bignone (francese)

       * Fer de Jong (olandese)

       * Hannu Helminen (finlandese)

       * Anders Hammarquist (svedese)

       * Soeren Berg Hansen (danese)

  * Tutta la ``comunita` Amiga'' del Dipartimento di Scienze dell'Informazione della Universita` di Milano, per il loro contagiante entusiasmo, che mi ha aiutato a portare a termine questo progetto.

Note di distribuzione
*********************

ARcalc e` un programma shareware copyright (C) 1992,1993 di Roberto Attias. Potete ridistribuire questo programma liberamente, a patto che tutti i suoi files siano inclusi nella copia nella loro forma originale, senza subire alcuna modifica, e che vi sia un ricarico solo nominale per la sua distribuzione; se vi piace e lo ritenete utile, avete l'obbligo morale di corrispondere all'autore la cifra di $10. Se non ritenete che questo programma sia sufficientemente utile per pagarlo, per favore, mandatemi un e-mail (o una lettera) per farmi conoscere le vostre opinioni.

Questo programma e` distribuito privo di garanzie di qualunque tipo, esplicite o implicite. Nell'usare ARcalc voi accettate qualunque rischio riguardante la qualita` o le prestazioni dello stesso.

Qualunque suggerimento, commento o lamentela e` gradito.

Come raggiungere l'autore
*************************

     e-mail: attias@ghost.sm.dsi.unimi.it

     Posta:Roberto Attias
     Via Lissoni, 5
     20162 Milano (MI)
     Italia

     Tel:02-6470375