Introduzione ************ `ARcalc' è un programma che simula una calcolatrice scientifica, sviluppato per i computer della serie Amiga. `ARcalc' può 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, cioè la possibilità di scrivere programmi che comunichino con l'utente nella lingua che questi ha scelto: `ARcalc' è in grado di sfruttare questa caratteristica, ed è 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 è deciso di non localizzare le etichette dei tasti , in quanto generalmente anche sulle calcolatrici reali queste restano invariate di paese in paese. Le funzionalità messe a disposizione da `ARcalc' sono quelle di calcolo in virgola mobile tipiche di una calcolatrice scientifica, inclusa la capacità 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' è attualmente alla versione 2.0. La versione 1.0, peraltro mai rilasciata, era priva di localizzazione. Nella versione 1.11 erano stati eliminati alcuni bug. La versione 1.11 aggiungeva la possibilità di iconizzare il programma (mediante il pulsante "Icn" che rimpiazzava l'"Inf" presente nella versione 1.0). La versione 2.0 consente di aprire `ARcalc' su qualunque schermo pubblico, o di spostarla su un altro schermo una volta aperta. E' ora possibile utilizzare il programma da shell o da script come un comando che valuta direttamente l'espressione passata come argomento e ne restituisce in output il risultato. Tramite la nuova porta ARexx il motore di calcolo di `ARcalc' può essere usato da altre applicazioni o da script ARexx. E` inoltre implementato il parsing degli argomenti mediante le funzioni standard di AmigaDOS. 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 può essere lanciato tanto da Workbench quanto da Shell,e si presenta visivamente come una calcolatrice posta su uno schermo pubblico, 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 `pulsanti'. Puoi lanciare `ARcalc' da shell con il seguente template: `ARcalc FONT/K,SIZE/K/N,SCREEN/K,EVAL/K' Nota che l'uso della convenzione di parsing standard di AmigaDOS è una caratteristica introdotta nella versione 2.0 di `ARcalc'. `ARcalc' è stata progettata in modo da essere font-sensitive: essa cioè può essere visualizzata con qualunque font e dimensione l'utente decida, adattandosi ad esso. Al lancio, il font con cui visualizzare la calcolatrice, così come altre caratteristiche che vedremo più avanti, viene determinato grazie ad un file di configurazione presente nella stessa directory di `ARcalc', di nome `ARcalc.config'; se tale file è assente, è utilizzato per default lo stesso font usato dal Workbench. Lanciando la calcolatrice da shell si può scegliere il font da usare digitando: `ARcalc FONT= SIZE=' In questo caso `ARcalc' cercherà di usare questo font, anche se fosse presente il file di configurazione. Il font scelto (che può 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 può essere modificato anche dopo il lancio, tramite la scelta `Cambia font...' nel sottomenu `Parametri' del menu `Progetto' (*Note I menu di ARcalc::. ). Puoi aprire la calcolatrice su uno schermo pubblico differente dal Workbench usando il parametro SCREEN, come nel seguente esempio: `ARcalc SCREEN mioschermo' Se devi fare un rapido calcolo da shell, puoi usare il parametro EVAL. Digitando `ARcalc EVAL ' il risultato della valutazione sara mostrato sulla shell senza aprire l'interfaccia di `ARcalc'. Il lancio di `ARcalc' può 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 peculiarità di `ARcalc' è che permette di introdurre espressioni complesse esattamente come vengono scritte normalmente. Tale operazione può essere fatta sia digitando manualmente l'espressione usando la tastiera del computer, che agendo mediante il mouse sui pulsanti della calcolatrice. Nella parte superiore del display, che chiameremo in seguito "area di editing", è visibile l'espressione che si sta introducendo, ed essa può essere editata facendo uso dei tipici shortcut degli string gadget Amiga, o mediante gli appositi pulsanti di editing. Per calcolare il valore dell'espressione impostata, è sufficiente premere il tasto `RETURN' di Amiga, o il pulsante `=' della calcolatrice; il risultato comparirà 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 è riscontrato l'errore, permettendo così di correggerlo; la posizione del cursore non è 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 (*Note I menu di ARcalc::. ). Descrizione dettagliata dei pulsanti di ARcalc ********************************************** Si darà ora una descrizione dettagliata della funzione svolta dai pulsanti della calcolatrice. I pulsanti si dividono nelle seguenti classi: Pulsanti di editing =================== I pulsanti di editing si trovano nella parte superiore destra della calcolatrice, e servono ad eseguire le più comuni operazioni di editing. I pulsanti di editing sono i seguenti: `<=' (freccia sinistra): questo pulsante permette di spostare a sinistra di un carattere il cursore dell'area di editing. Analoga funzione può essere ottenuta mediante la freccia sinistra della tastiera di Amiga. `=>' (freccia destra): questo pulsante permette di spostare a destra di un carattere il cursore dell'area di editing. Analoga funzione può essere ottenuta mediante la freccia destra della tastiera di Amiga. `Del' (Delete): questo pulsante permette di cancellare il carattere su cui si trova il cursore dell'area di editing. Analoga funzione può essere ottenuta mediante il tasto Del di Amiga. `Bck' (Backspace): questo pulsante permette di cancellare il carattere alla immediata sinistra del cursore nell'area di editing. Analoga funzione può essere ottenuta mediante il tasto <- di Amiga. `Clr' (Clear): questo pulsante permette di cancellare tutta l'espressione. Analoga funzione può essere ottenuta mediante la pressione dei tasti Amiga-Left X Pulsanti di stato ================= I pulsantii di stato sono caratterizzati dal fatto di modificare lo stato della calcolatrice. Lo stato complessivo della calcolatrice è visibile nella parte inferiore sinistra del display, rappresentato da alcune sigle: per comodità 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 è presente, vengono assunti dei valori di default, indicati nel seguito. I pulsanti di stato sono i seguenti: `Bse' (numeric BaSE): questo pulsante permette di scegliere la base in cui si desidera lavorare. La base attuale è 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 pulsante `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, perchè ogni numero nella espressione cambierebbe valore nella nuova base. Si noti che quandola base non è quella esadecimale alcuni dei pulsanti 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 è in grado di utilizzare numeri non interi in basi diverse da quella decimale: ciò comporta anche il fatto che alcune funzioni non siano più significative pur continuando ad essere utilizzabili (p.e. la funzione `sin(X)', pur funzionando perfettamente in ogni base, può restituire solo i valori 0 o 1 se la base non è decimale). Se non è presente il file `ARcalc.config', al lancio del programma viene usata la base decimale. `Fse' (Fixed,Scientific,normal): questo pulsante permette di scegliere la notazione di visualizzazione dei risultati tra le seguenti tre modalità: `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 è 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 pulsante `Fix' non è più 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 è un misto dei due precedenti: il risultato verrà visualizzato nel formato che produrrà la stringa più 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 è presente il file `ARcalc.config', al lancio del programma viene usata la notazione normale. `Drg' (Degrees,Radiant,decimal degrees (Grad) ): Questo pulsante permette di scegliere l'unità di misura degli archi per le funzioni trigonometriche. Le possibili unità 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 è presente il file `ARcalc.config', al lancio del programma gli archi si considerano misurati in radianti. `Fix' (Fix significant digits): questo pulsante 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 pulsante 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 pulsanti numerici della calcolatrice tra 0 e 9, indicando così il numero di cifre desiderato: qualunque altro pulsante 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 è presente il file `ARcalc.config', al lancio del programma viene usato il numero massimo di cifre, cioè nove. `Inv' (Inverse function): questo pulsante 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 sarà un tasto indicante una funzione, allora nell'espressione verrà introdotta la funzione inversa corrispondente, a patto che questa sia definita (p.e. non è definita la f.ne inversa della funzione fattoriale *Fact*). La pressione del pulsante Inv non produce nessun risultato se il pulsante successivo non è associato ad una funzione, o se tale funzione non ammette funzione inversa. `Hyp' (Hyperbolic function): questo pulsante permette di ottenere le funzioni iperboliche. Quando viene premuto, nell'area di stato compare il simbolo `Hyp': se il successivo pulsante premuto sarà relativo ad una funzione trigonometrica, verrà inserita nell'espressione la corrispondente funzione iperbolica. Il tasto Inv può essere usato insieme a questo tasto per ottenere le funzioni inverse delle funzioni iperboliche. La pressione del pulsante `Hyp' non produce alcun effetto se il successivo premuto non è associato ad una funzione trigonometrica. Pulsanti di testo ================= I pulsanti di testo permettono di inserire nella espressione in editing cifre, funzioni, operatori etc. Tutto ciò che viene inserito mediante i pulsanti di testo può essere digitato anche tramite la tastiera di Amiga, ma tali pulsanti offrono una comoda scorciatoia. Si noti che il parser delle espressioni non è case sensitive, e quindi queste si possono digitare senza preoccuparsi di usare caratteri maiuscoli o minuscoli. Diamo di seguito l'elenco dei pulsanti 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 `^' è 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*, cioè 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'unità 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'unità 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'unità 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 )' (pulsanti 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 è 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 è nella scrittura della funzione `mod(A,B)'; poichè tale funzione ha due parametri, è necessario separarli mediante una ",". La presenza di un apposito tasto garantisce la completa usablità della calcolatrice via mouse. `+,-,*,/,^' producono il corrispondente carattere, indicante rispettivamente l'operatore *somma*, *differenza*, *prodotto*, *rapporto*, *elevamento a potenza*. Si noti che il `-' può essere anche utilizzato come preoperatore per modificare il segno dell'operando. `v,w,x,y,z' questi pulsanti 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 pulsante speciale `sto'. Pulsanti speciali ================= Raggruppiamo in questa classe tutti quei pulsanti la cui pressione produce qualche particolare azione non direttamente legata all'editing di un'espressione. Tali pulsanti 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 verrà valutata, e il valore computato sarà assegnato alla variabile scelta. Quando questa variabile verrà inclusa in un'espressione, il suo valore sarà 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 può essere automaticamente cancellata o meno, in funzione dello stato del flag `AutoCLR', settabile dall'utente grazie al sottomenu `Parametri' *Note 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 è un sottomenu, mediante il quale è 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 è 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 pulsante `=',il pulsante `sto', o il tasto RETURN, l'espressione viene computata e, se la funzione di *auto-clear* è attiva, il testo dell'espressione viene cancellato, in modo da permettere immediatamente un nuovo inserimento. Se la funzione di *auto-clear* è invece disattivata, il testo della espressione precedente non viene cancellato, e può essere ritoccato. La funzione di *auto-clear* è attivata quando la voce del menu è 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, cioè base numerica, unità di misura dell'arco, formato di rappresentazione, numero di cifre significative. `Jump' aggiunto nella versione 2.0 di `ARcalc', sposta la calcolatrice sul successivo schermo pubblico aperto. `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 pulsante `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 pulsante `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 pulsante `=', `sto', o del tasto RETURN. Per una descrizione generale del fenomeno, *Note Uso di ARcalc::. Errori di sintassi ================== * `Operatore non valido': dopo un operando valido, è 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 è 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 è 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 così 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 è prodotta una divisione per zero. * `Divisione per zero nel modulo': poichè non si può dividere un numero per zero, tantomeno se ne può 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 è 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 può essere negativo': la funzione Sqrt() (radice quadrata) è definita solo per valori non negativi. * `L'argomento di Fact() non può essere negativo': la funzione fattoriale è definita solo per valori non negativi dell'argomento. Supporto ARexx ************** A partire dalla versione 2.0 `ARcalc' dispone di una porta ARexx di nome "ARCALCPORT". Puoi scrivere script ARexx o programmi (per es. plotter di funzioni) usando `ARcalc' come motore per la valutazione delle funzioni. `ARcalc' ignora qualunque comando spedito alla sua porta se non viene richiesto l'invio di risultati (in caso di script, se non viene specificato il flag "OPTIONS RESULT"). Alcuni comandi ARexx possono fallire. Un comando fallisce se la variabile RC contiene il valore 0. Se il comando è inviato da uno script ARexx il messaggio di errore si trova nella variabile ARCALC_ERROR dello script. Puoi trovare qualche piccolo script di esempio nella directory AREXX dell'archivio di distribuzione. I comandi supportati da `ARcalc' sono i seguenti: `EVAL' Calcola il valore dell'espressione data. Se RC è zero il risultato si trova nella variabile RESULT; in caso contrario l'errore verificatosi è indicato nella variabile ARCALC_ERROR `SETVAR' Valuta l'espressione data e pone il risultato nella variabile , che può essere una delle seguenti lettere: "u", "v", "w", "x", "y", "z". Puoi usare queste variabili per memorizzare valori temporanei in una computazione complessa. Come per il comando precedente, in caso di errore puoi esaminare il contenuto della variabile ARCALC_ERROR `GETVAR' Restituisce il valore della variabile data nella variabile RESULT dello script. `SETBASE' Setta la base numerica. può essere "dec", "hex", "oct" o "bin". Dopo aver settato una base tutti i numeri implicati nelle espressioni (e i risultati) sono espressi in tale base. `SETDRG' Setta l'unita di misura degli archi per le funzioni trigonometriche. può essere "deg","rad" or "grad". `SETFIX' Setta il numero di cifre decimali. è un numero tra 0 e 9. `SETFSE' Setta la notazione per la visualizzazione dei risultati. può essere "nor","fix" o "sci". `QUIT' Termina `ARcalc' Sviluppi futuri *************** La versione 2.0 implementa la porta ARexx menzionata in questo capitolo nella versione precedente, e la capacità di spostarsi su schermi pubblici richiesta da alcuni utenti. Ora... qualunque altro suggerimento è il benvenuto! 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 è 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 varietà 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 "comunità 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' è 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 è distribuito privo di garanzie di qualunque tipo, esplicite o implicite. Nell'usare `ARcalc' voi accettate qualunque rischio riguardante la qualità o le prestazioni dello stesso. Qualunque suggerimento, commento o lamentela e` gradito. Come raggiungere l'autore ************************* e-mail: attias@ghost.sm.dsi.unimi.it FIDO: 2:331/301.8 Posta:Roberto Attias Via Lissoni, 5 20162 Milano (MI) Italia Tel:(02)-6470375