HOME

Contatti

MATEMATICA CON JAVASCRIPT


STRUTTURE FONDAMENTALI DI CONTROLLO: ITERAZIONE A CONTROLLO IN TESTA (CICLO WHILE)


Precedente      Successivo
F
acciamo il punto.
Argomenti correlati:


Parentesi graffe
Racchiudono un blocco di istruzioni e sono usate in molti casi, ad esempio nelle funzioni. In particolare:

  {
indica l'inizio (corrisponde al begin del Pascal

  }
indica la fine (corrisponde all' end del Pascal

Condizione
Espressione che assume solo i valori true (vero) o false (falso)

  document.write(...)
Metodo dell'oggetto document che scrive l'output in una nuova pagina.
In parentesi va scritto quello che deve essere visualizzato sullo schermo, ricordando che:
  • un contenuto fisso va scritto fra apici o virgolette;
  • le variabili vanno scritte senza apici;
  • contenuto fisso e variabili vanno concatenati con il segno +

  document.close()
Metodo dell'oggetto document.
Si comunica al browser che è terminata la procedura di scrittura del documento. Se non si include questa riga di codice non avrà luogo la stampa né altri eventuali comandi sulla pagina che abbiamo appena aperta.

i++
Operatore di incremento.
Equivale all'istruzione di assegnazione i=i+1; in altri termini incrementa di 1 il valore della variabile i

Variabile di controllo
Viene usata per controllare il flusso di un ciclo.
Deve essere inizializzata (cioè le si deve attribuire un valore di partenza) e quindi deve poter variare per permettere l'uscita dal ciclo stesso. Spesso, come variabile di controllo, viene usato un contatore

Contatore
Nome dato abitualmente ad una variabile che viene usata per memorizzare quante volte è stata compiuta un'azione.
Ogni volta che si usa una variabile come contatore essa deve essere inizializzata (cioè le si deve attribuire un valore di partenza) e quindi deve essere incrementata di un valore costante ad ogni passo del ciclo.

<br>
tag del linguaggio HTML che manda il testo a capo.

Tavola di traccia

Si tratta di un metodo molto utile per controllare il funzionamento di un programma.
Si prepara una tabella: nella colonna di sinistra vengono scritte le azioni, quindi si riportano le variabili e le eventuali condizioni; alle variabili si dà un valore iniziale a piacere, quando non altrimenti dichiarato: seguendo le azioni passo per passo, si prevede l'output del programma.


PROVA LA TAVOLA DI TRACCIA

Abbiamo preparato la tavola di traccia del programma, ma immaginando di scrivere solo 3 volte 'CIAO'.

AZIONE VARIABILE
i
CONDIZIONE
while
RISULTATO
Viene posto
i = 1
1
   
Inizia il ciclo:
si controlla se i <=3
 
VERO
Viene scritto 'CIAO <BR>'
i++
2
   
Ricomincia il ciclo:
si controlla se i <=3
 
VERO
Viene scritto 'CIAO <BR>'
i++
3
   
Ricomincia il ciclo:
si controlla se i <=3
 
VERO
Viene scritto 'CIAO <BR>'
i++
4
   
Ricomincia il ciclo:
si controlla se i <=3
 
FALSO
Si esce dal ciclo

 




 

diagramma sintattico del ciclo while

Come si vede dal diagramma sintattico in alto nella pagina, la sintassi del ciclo while è

while (condizione) {
istruzioni da eseguire;
}

Si tratta di eseguire una o più istruzioni (racchiuse fra le parentesi graffe) per un numero di volte che può essere, oppure no, noto a priori.
Le istruzioni vengono eseguite se e soltanto se la condizione posta tra parentesi subito dopo la parola chiave while è vera.
Tale condizione viene valutata prima di eseguire le istruzioni interne al ciclo pertanto può succedere che, se al primo controllo la condizione risulta falsa, il programma esce immediatamente dal ciclo.
NOTA BENE Potrebbe anche succedere che la condizione risulti sempre vera: in tal caso il ciclo non può terminare a meno che non si inseriscano, come vedremo, altre modalità di controllo.
Se un ciclo non termina occorre a volte addirittura riavviare il computer pertanto bisogna stare molto attenti ad evitare questa eventualità. Come fare? Ci si deve attenere alle seguenti regole fondamentali:

  1. Inizializzare le variabili il cui valore determinerà la condizione di uscita dal ciclo (dette variabili di controllo) prima di dichiarare il ciclo;
  2. fare in modo che il blocco delle istruzioni all'interno del ciclo comprenda la modifica delle variabili di controllo;
  3. inserire la condizione di uscita.

 

Abbiamo già risolto il problema con l'uso del ciclo enumerativo for.
La funzione che ci aveva risolto il problema era

<script type="text/javascript">
function scrivi() {
   for (i=1; i <= 20; i++) {
    document.write('CIAO <br>')    }
  document.close()
}
</script>

Ora risolviamolo con l'uso del ciclo while usando, per chiarezza, variabili con lo stesso nome.

  1. Inizializziamo la variabile il cui valore determinerà la condizione di uscita dal ciclo prima di dichiarare il ciclo:
    i=1
  2. Iniziamo il ciclo inserendo la condizione di uscita:
    while (i<=20) {
  3. Inseriamo l'azione da compiere:
    document.write('CIAO <br>')
  4. Modifichiamo la variabilie di controllo:
    i++
  5. Chiudiamo il ciclo
    }
  6. Proseguiamo con il resto del programma.

Prepariamo dunque la funzione JavaScript che ci occorre con il seguente codice, da inserire fra i tags <HEAD> ed </HEAD> :

<script type="text/javascript">
function scriviW() {
   i=1;
   while(i<=20) {
    document.write('CIAO <br>')
    i++
   }
  document.close()
}
</script>

Creiamo un bottone con il seguente codice, da inserire fra i tags <BODY> e </BODY> :

<form name="MioForm">
<input type=button value="Scrivi 20 CIAO" name="bottone" OnClick="javascript:scriviW()">
</form>
Otteniamo il seguente risultato (la scritta si visualizza in una nuova pagina; al termine tornare indietro):

 


 

Vi invitiamo inoltre, se volete provare il vostro codice, a visionare la sezione

PROVA TU

riguardante l'uso della struttura fondamentale di controllo while.
Troverete il programma qui presentato che potete correggere e cambiare come volete


INDICE              STRUTTURE FONDAMENTALI DI CONTROLLO - Precedente -  1  -  2  -  3  -  4  -  5  -  6  -  7  -  8  -  9  -  10   - Successivo

©2002 - 2012 www.webfract.it