• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
Cicli con contatore
La struttura ciclica con contatore
Questa struttura è usata
esclusivamente
quando è noto a priori il numero diripetizioni da eseguire; indichiamo con
N
il numero di ripetizioni.Per poter eseguire un numero N di ripetizioni, è necessario utilizzare unavariabile che funga da
contatore
di ripetizioni: ad ogni ciclo, tale variabile deveessere incrementata di 1. Indichiamo, in modo del tutto arbitrario, la variabilecontatore con
cont
.La struttura ciclica con contatore può essere rappresentata graficamente nelmodo seguente:Come potete osservare dalla figura, le azioni fondamentali da compiere sono:
1.Stabilire il valore iniziale del contatore
Il valore iniziale del contatore deve essere assegnato prima di entrare nel ciclo epuò essere un qualunque numero intero positivo. Per il momento utilizzeremo 1come valore iniziale del contatore.
2.Imporre la condizione di terminazione (uscita) del ciclo
Un ciclo deve terminare, prima o poi. In caso contrario si incorre in un problemache viene chiamato
loop infinito
. Un loop infinito è un ciclo che non terminamai, percla condizione di uscita da esso rimane sempre vera. Questasituazione è assolutamente da evitare. Come condizione di terminazione useremoper il momento la seguente:
cont<=N
.
Autore: Cinzia BocchiUltimo aggiornamento: 20/09/11
cont <= N
vero
Istruzioni del ciclo
falso
cont= cont+1cont= 1inizializzazionedel contatorecondizione diterminazionedel cicloincremento delcontatore
1
 
Iniziando con un contatore pari a 1 e imponendo la condizione cont<=N siottengono esattamente
N ripetizioni
, come desiderato. Fate attenzione, però,perché se il valore iniziale del contatore è diverso, questa regola non vale più,ma è necessario fare il seguente calcolo:
N = numero_di_cicli + cont_iniziale -1
Vediamo alcuni esempi:-se numero_di_cicli è 10 e cont_iniziale vale 1, allora N deve valere 10-se numero_di _cicli è 10 e cont_iniziale vale 0, allora N deve valere 9-se numero_di_cicli è 10 e cont_iniziale vale 8, allora N deve valere 17
3.Determinare esattamente quali istruzioni devono essere ripetute4.Incrementare il contatore dopo l’esecuzione di ciascun ciclo
Con il termine incremento si intende l’aumento di 1 unità.
Un esempio
Il seguente diagramma di flusso rappresenta l’algoritmo per risolvere ilproblema:
dati 5 numeri interi calcolarne la somma
.
TABELLA DATIIDDescrizioneI/O/L/CValoreIniz.TipoVincoli
numContiene i numeri inseritidi volta in voltaIinterosommaContiene le somme parzialie la somma totaleOinterocontContatore del cicloLintero
FLOW CHART
Startsomma= 0cont= 1cont<=5somma= somma+numinput(num)cont= cont+1
Vero
output(somma)
1234567
End
Falso
Autore: Cinzia BocchiUltimo aggiornamento: 20/09/11
2
 
TABELLA DI SIMULAZIONE
Supponiamo che i 5 numeri inseriti siano: 1 5 2 0 3. L’output atteso è 11.
cicloistruznumsommacontcondizioneoutput
102113Vera41516223Vera4556633342Vera586443Vera40586553Vera43511663Falsa7
11
Il risultato ottenuto è uguale a quello atteso: l’algoritmo è corretto.
La struttura con contatore in Java
La struttura ciclica con contatore viene realizzata in Java utilizzando lo
statement FOR 
, la cui sintassi è
for
 
(
inizializzazione
;
condizione
;
aggiornamento
){
istruzioni del ciclo
}
Inizializzazione
comprende la dichiarazione e l’inizializzazione del contatore
o
La dichiarazione è necessaria solo se il contatore non è stato dichiaratoin precedenza.
o
Se la variabile contatore è dichiarata all’interno del FOR, essa è visibilesolo all’interno del blocco.es.
int cont = 1
oppure, se cont è già stato dichiarato
cont = 1
Autore: Cinzia BocchiUltimo aggiornamento: 20/09/11
3
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...