Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "FabioColinelli/Prove0"
Differenze tra le versioni 4 e 18 (in 14 versioni)
Versione 4 del 14/12/2007 11.27.58
Dimensione: 107
Commento:
Versione 18 del 14/03/2011 12.51.59
Dimensione: 4156
Autore: localhost
Commento: converted to 1.6 markup
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from FabioColinelli/Prove
Linea 3: Linea 4:
<<BR>>
<<Indice>>
Linea 4: Linea 7:
## da questo punto in poi non modificare! = ISTRUZIONI FONDAMENTALI =

== FOR..NEXT ==

|| '''FOR''' ''variabile'' '''=''' ''valore1'' '''TO''' ''valore2'' [ '''STEP''' ''valore3'' ] ''vostro codice'' '''NEXT''' ||

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''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. ||

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;"> 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. ||
Linea 6: Linea 80:
 . CategoryNuoviDocumenti CategoryHomepage


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