F acciamo il punto. Approfondimenti:
var flag = true
Variabile di tipo logico, o booleano. Assume i valori vero o falso.
flag = controllaDato(a)
Alla variabile flag viene assegnato il valore restituito dalla funzione controllaDato(a).
Notate che la funzione è stata dichiarata come function controllaDato(x). E' come se avessimof(x) = x + 3 Allora, otteniamof(5) = 5 + 3 = 8 Nel nostro caso, se alla richiesta di inserire il coefficiente dell'incognita, scriviamo, ad esempio, 5,
isNaN(5) falso; 5 = '' falso; 5 = null falso.
Dunque controllaDato(5) restituisce vero (true) e, di conseguenza, flag = true.
In questo caso, allora, viene richiesto di inserire il termine noto.
Se invece, ad esempio, sempre se alla richiesta di inserire il coefficiente dell'incognita, premiamo il tasto ANNULLA, null = null vero. Dunque controllaDato(null) restituisce falso (false) e, di conseguenza, flag = false.
In questo caso, allora, non viene richiesto di inserire il termine noto, e si riceve il messaggio 'Non hai immesso valori validi'.
==
Operatore di confronto che significa è uguale a
||
Or - Operatore binario che dà vero se almeno uno degli operandi è vero
isNaN(x)
Funzione globale che valuta se x non è un numero e in tal caso restituisce true, altrimenti restituisce false
x==''
E' vero quando stato premuto il tasto OK nella finestra di dialogo senza immettere alcun valore
x==null
E' vero quando è stato premuto il tasto ANNULLA nella finestra di dialogo
!
not - Operatore unario che cambia il valore di verità dell'operando
if {...} else if {...} else {...}
Selezione binaria nidificata. Si ha la selezione binaria nidificata quando non si effettua solo una scelta fra due alternative, come nella selezione binaria, ma l'else porta a sua volta ad un'altra scelta.
RIGUARDO AL CODICE Ti potrebbero interessare...
Output dello script nel documento
Dove inserire il codice javascript
Esercizi Soluzione
- Scrivi un programma che risolva un'equazione di primo grado numerica intera con l'aiuto di caselle di testo.
|
PERFEZIONIAMO IL CODICE
Variamo la funzione esegui() come nelle righe scritte in blu:
function esegui() {
leggi();
if (!flag){window.alert('Non hai immesso valori validi')}
else {calcola();}
}
flag è una variabile di tipo boolean introdotta allo scopo di controllare in partenza i valori immessi: essa deve diventare falsa quando i dati immessi non siano numerici; la dichiariamo all'inizio del codice:
Variamo poi la funzione leggi() inserendo al suo interno la chiamata alla funzione controllaDato
function leggi() {
a=window.prompt('Coefficiente incognita');
flag=controllaDato(a)
if (flag){
b=window.prompt('Termine noto');
flag=controllaDato(b)
}
}
Alla variabile a viene attribuito il valore che l'utente immette nella finestra di dialogo; subito viene attivata la funzione controllaDato(a)
function controllaDato(x){
if (isNaN(x) || (x=='') || (x==null)) {
return false
}
else return true
}
La funzione restituisce false se l'utente
- scrive un dato non numerico (isNaN(x));
- preme il tasto OK senza immettere alcun valore (x=='');
- preme il tasto annulla (x==null).
Altrimenti restituisce true
Se dunque il valore inserito per a è accettabile si procede a far leggere il valore di b e si ripete il procedimento. Finalmente, se anche in questo caso flag == true, si passa a risolvere l'equazione mediante la chiamata alla funzione calcola().
NOTA BENE Le righe di codice sono commentate singolarmente della sezione "Facciamo il punto" a sinistra della pagina.
METTIAMO INSIEME IL TUTTO
Inseriamo il codice fra i tag <script> e </script>
Abbiamo inserito il codice in un'area di testo (clic sull'area per copiare).
|
IN EVIDENZA DAL SITO

CALCOLATRICE SCIENTIFICA
CON SPIEGAZIONI ED ESEMPI

TARTAMONDO - PER BAMBINI
AREA GIOCHI




|