## page was renamed from FabioColinelli/Prove #format wiki #LANGUAGE it <
> <> = ISTRUZIONI FONDAMENTALI = == FOR..NEXT == || '''FOR''' ''variabile'' '''=''' ''valore1'' '''TO''' ''valore2'' [ '''STEP''' ''valore3'' ] ''vostro codice'' '''NEXT''' || ||<> ||''Ripete un ciclo incrementando o decrementando un valore'' || ''Esempio 1 - Ciclo crescente semplice'' {{{ DIM variabile AS Integer FOR variabile = 0 TO 10 Message.Info("Numero " & Str$(variabile)) NEXT }}} |||| '''Spiegazione''' |||| Per ogni valore da ''0'' a ''10'' che può assumere ''variabile'', mostra il messaggio "Numero" ed il valore di ''variabile''. In questo caso saranno mostrati tutti i messaggi con i seguenti numeri: 0-1-2-3-4-5-6-7-8-9-10. || ''Esempio 2 - Ciclo crescente con passo'' {{{ DIM variabile AS Integer FOR variabile = 0 TO 10 STEP 2 Message.Info("Numero " & Str$(variabile)) NEXT }}} |||| '''Spiegazione''' |||| Per ogni valore da ''0'' a ''10'' con passo ('''STEP''') 2 che può assumere ''variabile'', mostra il messaggio "Numero" ed il valore di ''variabile''. In questo caso saranno mostrati i messaggi con questi numeri: 0-2-4-6-8-10. || Ovviamente è possibile eseguire dei cicli decrescenti ''Esempio 3 - Ciclo decrescente con passo'' {{{ DIM variabile AS Integer FOR variabile = 10 TO 0 STEP -2 Message.Info("Numero " & Str$(variabile)) NEXT }}} |||| '''Spiegazione''' |||| Per ogni valore da ''10'' a ''0'' con passo ('''STEP''') -2 che può assumere ''variabile'', mostra il messaggio "Numero" ed il valore di ''variabile''. In questo caso saranno mostrati i messaggi con questi numeri: 10-8-6-4-2-0. Siccome per definizione di linguaggio un ciclo '''FOR..NEXT''' è crescente (1-2-3-ecc.) in caso venga omesso il comando '''STEP -2''' non sarà mostrato alcun messaggio in quanto il nostro codice viene soddisfatto immediatamente. || ||<> || Chi ha già esperienza di programmazione in Visual Basic avrà notato che dopo l'istruzione '''NEXT''' non è stato specificato a quale variabile si fa' riferimento: VB=''NEXT variabile'' <> Gambas=''NEXT''. In realtà questo è superfluo per il semplice motivo che un ciclo '''FOR...NEXT''' è fine a se stesso e di tipo concentrico: '''Ogni istruzione FOR deve concludersi con una istruzione NEXT'''.|| ''Esempio 4 - Cicli nidificati'' {{{ DIM variabile AS Integer DIM variabile1 AS Integer DIM variabile2 AS Integer FOR variabile = 0 TO 10 FOR variabile1 = 0 TO 10 FOR variabile2 = 0 TO 10 Message.Info("Numero " & Str$(variabile) & Str$(variabile1) & Str$(variabile2)) NEXT NEXT NEXT }}} |||| '''Spiegazione''' |||| Al primo avvio ''variabile'' assume il valore ''0'', ''variabile1'' assume il valore ''0'' e ''variabile2'' assume il valore ''0''. Il primo valore che viene incrementato è quello riferito a ''variabile2'', quando questa arriva a ''10'' il sistema passa il controllo a ''variabile1'' e così via fino a che ''variabile'' assume valore ''10'', ''variabile1'' valore ''10'' e ''variabile2'' valore ''10''. Possiamo quindi notare che all'interno di un codice '''FOR...NEXT''' composto da vari cicli nidificati la priorità di esecuzione è sempre riferita all'ultimo ciclo scritto. || ''Esempio 5 - Uscita anticipata'' {{{ DIM variabile AS Integer FOR variabile = 0 TO 10 IF variabile = 5 then Message.Info("Esco dal ciclo.") EXIT ENDIF Message.Info("Numero " & Str$(variabile)) NEXT }}} |||| '''Spiegazione''' |||| Il programma mostrerà i messaggi per ogni valore di ''variabile'' da ''0'' a ''4''; quando ''variabile'' raggiunge il valore ''5'' il sistema uscirà ('''EXIT''') dal ciclo e non mostrerà più alcun messaggio. || ---- CategoryHomepage