ࡱ > > @ = M ) bjbj== .. W W 6 l
8 D
X
$ D$ h
g g g # # # # # # # $ % ' v # g c g g g # y
# y
y
y
g 8
# y
g # y
X y
C" h #
|
@(- &
-
" # D $ 0 D$ " B( -
L B( # y
JavaScript
[ciclo for]
Il ciclo di istruzioni permette di ripetere un blocco di istruzioni pi volte.
Ogni ripetizione delle istruzioni viene detta loop.
I linguaggi di programmazione forniscono diversi tipi di ciclo.
Il ciclo for viene di solito usato quando si conosce quante volte ripetere le istruzioni del ciclo
Sintassi del ciclo for
for (espressione iniziale; condizione di terminazione; espressione di fine loop)
{
istruzioni da eseguire
}
Dove
lespressione iniziale viene valutata prima dellingresso nel ciclo; di solito assegna il valore iniziale alla variabile contatore (se c); la condizione di terminazione una espressione booleana che controlla quando il ciclo deve terminare; viene valorizzata ad ogni passaggio nel ciclo: se vera fa un altro loop, se falsa esce dal ciclo;
lespressione di fine loop viene seguita al termine di ogni passaggio nel ciclo; di solito listruzione che aumenta il valore del contatore.
Esempio 1
for (i=1; i<=10; i++) // scrive i dieci numeri interi da 1 a 10 uno sotto laltro
document.write(i+
); // in fase di caricamento del documento
lespressione iniziale d alla variabile i il valore 1; la condizione di terminazione controlla che i minore o uguale a 10; se vera fa un altro loop, se falsa esce dal ciclo;
lespressione di fine loop incrementa il contatore i
Esempio 2
x=prompt('introduci un intero',' '); // x lintero introdotto dallutente e di cui lo script d i divisori
document.write("i divisori di "+ x+"
");
for (i=1; i<=x; i++) // il ciclo controllato da una variabile che va da 1 a x
if (x%i == 0) // % calcola il resto della divisione; se il resto 0, x multiplo di i
document.write(i+"
"); // scrive i, cio il divisore
Spiegare perch nel for e nellif non vengono usate parentesi graffe.
Esempio 3 Potenze del 2
// scrive le potenze del 2 da 21 a 210
p=1;
for (i=1; i<=10; i++) {
p = p*2;
document.write(p+
);
}
Generalizzare
Riscrivere lo script facendo introdurre allutente la base e lesponente massimo di cui vuole visualizzare la potenza.
INTERESSANTE
Il ciclo for pu essere utilizzato anche se non si conosce il numero di ripetizioni, senza cio luso di un contatore.
In questo caso funziona come un ciclo while (fintantoch).
Come poter usare il ciclo for e farlo funzionare fino a che non diventa falsa una certa condizione booleana
Nellesempio: viene ripetutamente chiesto di scrivere un numero in una finestra di prompt e, se questo vale 10, esce dal ciclo.
for (i = true; i == true ; ) // la variabile prende inizialmente il valore di stringa vuota
{ // e confronta con la stringa vuota
x=prompt("Introduci un numero","");
if (x == 10) // se indovina ...
{
alert("Hai indovinato"); // ... glielo comunica
i = false; // e mette nella variabile del ciclo una stringa non vuota, cos esce dal ciclo
}
}
Nel ciclo for
lespressione iniziale d alla variabile i il valore true;
la condizione di terminazione controlla che i sia true; se quindi false, esce dal ciclo;
lespressione di fine loop non c, cio dopo un loop non controlla niente; ovviamente impostante listruzione i = false nel loop che fa uscire dal ciclo quando il numero inserito 10.
2^C Esercitazione di Laboratorio n. 2a 14/10/08
A X Y c ~ 1 I m n p # ; T U V W ` a K L W d e l y ú ú óçççó̺óóÝÝÐ CJ OJ QJ ^J mH sH CJ H*OJ QJ ^J 6CJ OJ QJ ]^J OJ QJ ^J CJ OJ QJ ^J CJ OJ QJ ^J 5CJ OJ QJ \^J 5CJ OJ QJ \ CJ OJ QJ CJ OJ QJ mH sH CJ mH sH mH sH 8 h @ X Y /
&