CALCOLATRICE NUMERICA ARITMETICA CON CONTROLLI SUI TASTI

PRIMA PARTE


F


acciamo il punto.
Argomenti correlati:

 

I NUOVI SIMBOLI
+/-
cambia il segno all'argomento
/
calcola il quoziente
*
calcola il prodotto
-
calcola la differenza
+
calcola la somma
1/x
calcola l'inverso moltiplicativo dell'argomento
mod
calcola il resto (anche se JavaScript usa il simbolo %)
(
apre parentesi
)
chiude parentesi
=
calcola il risultato dell'espressione
Approfondimenti
Uso delle operazioni
Altri simboli
I TERMINI
variabili
Intuitivmente rappresentano il contenitore temporaneo nel quale viene memorizzato un dato
Approfondimento
eval
Metodo che valuta una data stringa trattandola come un'espressione Approfondimento
button
elemento di un form che appare conme un pulsante
Approfondimento
OnClick
Evento del mouse: si attiva ogni volta che si fa click con il mouse su un oggetto come un link, un pulsante...
document.MioForm.a.value
Il contenuto dell'area di testo in alto, che ha nome a, oggetto del form di nome MioForm, a sua volta oggetto del documento aperto
Approfondimento


 
   
   
   
   

Abbiamo già presentato il tastierino numerico di una calcolatrice, ed abbiamo mostrato il necessario controllo sui tasti.
Ora abbiamo aggiunto i tasti per le operazioni aritmetiche.
Abbiamo inoltre aggiunto un'area di testo dove viene visualizzata gradatamente l'espressione che andiamo scrivendo: questo consente un migliore controllo del calcolo.
Noterete poi che la calcolatrice presenta delle zone vuote: abbiamo già lasciato il posto per realizzare in futuro una calcolatrice scientifica.

Come deve funzionare la calcolatrice?
Fino a qundo si scrivono le cifre, queste devono concatenarsi nell'area di testo superiore;
quando invece si preme il tasto di un'operazione, l'area di testo superiore deve svuotarsi e il numero che vi compariva deve aggiungersi all'espressione che si va formando. Inoltre, visto che ogni volta può essere usato un numero in base decimale, ottale oppure esadecimale, ogni volta si devono abiltare o disabilitare i tasti opportuni.

LE VARIABILI


Le variabili che usiamo, oltre a quelle già dichiarate per il funzionamento del tastierino numerico, sono:
var espressione='';
Serve per memorizzare la stringa che contiene l'espressione fino a quando questa non viene calcolata. Inizialmente viene posta uguale a vuoto.
var risultato='';
Serve per memorizzare la stringa che contiene il risultato dell'espressione
var num1='';
Serve per memorizzare un numero per calcolarne, a seconda del testo premuto, l'inverso o l'opposto.

IL CODICE PER LE OPERAZIONI BINARIE E LE PARENTESI

function opera(y) { Il parametro y assume un valore a seconda del tasto premuto (es. +, -, *...).
if (y=='(') {
controlla()
}
Se si preme la parentesi tonda può essere necessario effettuare dei controlli, come vedremo nella seconda parte
espressione=espressione + document.MioForm.a.value + y La variabile espressione si incrementa del numero che è stato scritto nell'area di testo in alto e dell'operatore passato alla funzione.
conta=0 Ogni volta, per l'inserimento di un nuovo numero dopo l'operatore, occorre ripartire da zero. Si può così scegliere la base desiderata.
abilita() Vengono quindi abilitati i tasti eventualmente disabilitati nel corso dell'immissione delle cifre precedenti.
base10=false Si ripristina la base 10 a falso.
document.MioForm.a.value='' L'area di testo in alto viene svuotata.
document.MioForm.b.value=espressione Il contentuto della variabile espressione viene visualizzato nell'area di testo in basso.
} Fine funzione.
NOTA: sarebbe opportuno inserire un controllo per segnalare l'errore se si cerca di dividere per zero. JavaScript infatti segnala Infinity oppure NaN. Ma gli errori saranno trattati tutti insieme.

La funzione function opera(y) viene chiamata alla pressione dei tasti corrispondenti alle operazioni o alle parentesi: ad esempio, il bottone dove compare la parentesi tonda, è scritto con il seguente codice:
<input type="button" name="apri" value=" ( " onClick="opera('(')">

 

IL CODICE PER LE OPERAZIONI INVERSO E OPPOSTO

function inverso(y) { Il parametro y assume il valore del contenuto dell'area di testo in alto.
num1=eval(y) Il parametro y viene considerato come numero ed attribuito alla variabile num1
num1=1/num1 Viene calcolato l'inverso del numero e si assegna tale valore alla variabile stessa.
document.MioForm.a.value=num1 Nell'area di testo in alto (che ha nome a) compare ora l'inverso del numero.
} Fine funzione
NOTA: sarebbe opportuno inserire un controllo per segnalare l'errore se si cerca di calcolare l'inverso di zero. JavaScript infatti segnala Infinity. Ma gli errori saranno trattati tutti insieme.

 

function opposto(y) { Tale funzione è analoga alla precedente e di immediata comprensione.
num1=eval(y)  
num1=-num1
document.MioForm.a.value=num1
}
 

Come esempio presentiamo il codice che attiva la funzione opposto(y), alla pressione del tasto + / -
<input type="button" name="piumeno" value=" +/- " onClick="opposto(MioForm.a.value)">


INDICE

Seconda parte

INDIETRO

©2003 www.webfract.it