Calcoli con le quattro operazioni -Seconda versione
La variante proposta in questa seconda versione consiste nell'interporre il segno di
operazione tra i due operandi, invece che posporlo, come nella prima versione. Questo richiede un
algoritmo completamente diverso: il codice non deve venire eseguito alla pressione del tasto di
operazione, ma alla pressione del tasto " = ", per cui il programma deve, alla pressione
del tasto di operazione, semplicemente "memorizzare" quale dei quattro tasti è stato
premuto. Abbiamo volutamente scelto un'implementazione un po' prolissa e sicuramente
migliorabile, con lo scopo di esplorare diverse funzionalità di Javascript.
Il codice è costituito dal seguente script:
var segno="";
var primo="";
var secondo="";
function modifica(simbolo) {
segno=simbolo;
}
function calcola() {
primo=document.getElementById('primo').value;
secondo=document.getElementById('secondo').value;
document.getElementById('risultato').value=eval(primo+segno+secondo);
}
function resetta() {
segno="";
primo="";
document.getElementById('primo').value=primo;
secondo="";
document.getElementById('secondo').value=secondo;
document.getElementById('risultato').value="";
}
Commenti
- Le variabili segno, primo, secondo, dichiarate all'inizio dello
script, sono globali, cioè sono comuni a tutte le funzioni dello script (ed eventualmente
del documento). Le funzioni successive possono modificare, ciascuna per proprio conto, i valori di
queste variabili. Per contro le variabili definite all'interno delle funzioni hanno validità
solo per le funzioni stesse e si dicono locali.
- La funzione modifica(simbolo) ha lo scopo di modificare il valore della variabile
segno, a seconda di quale segno di operazione viene premuto: se si preme sull'area
sensibile in cui compare il numero più viene invocata la funzione modifica(), e le viene
passata la stringa '+'; analogamente se si preme sulle altre aree sensibili. In questo caso
la funzione viene chiamata e le viene anche passato un valore.
- Abbiamo anche preferito scrivere una funzione per resettare tutto quanto immesso: il bottone di
tipo "reset" che abbiamo usato nella prima versione, infatti, resetta solo i
valori delle caselle di testo, ma non il valore della variabile segno in cui abbiamo tenuto
memoria del tasto di operazione che è stato premuto. Questo fatto non influisce comunque
sull'esecuzione del programma: è solo una questione di "gusto".
copyright 2000 et seq. maddalena falanga & luciano battaia