![Page 1: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/1.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Strutture di controllo e cicli
Fondamenti di Informatica T (A-K)
AA 2012-2013
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 2: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/2.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
IF logico
L’IF logico rappresenta il tipo piu semplice di istruzionecondizionale
Sintassi IF ( e s p r e s s i o n e l o g i c a ) i s t r u z i o n e
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 3: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/3.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
IF logico
L’IF logico rappresenta il tipo piu semplice di istruzionecondizionale
Sintassi IF ( e s p r e s s i o n e l o g i c a ) i s t r u z i o n e
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 4: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/4.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Costrutto IF
Qualora si debba operare piu di una scelta, si utilizza ilcostrutto IF
Sintassi IF ( e s p r e s s i o n e l o g i c a ) THENi s t r u z i o n e
ELSEi s t r u z i o n e
END IF
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 5: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/5.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Costrutto IF
Qualora si debba operare piu di una scelta, si utilizza ilcostrutto IF
Sintassi IF ( e s p r e s s i o n e l o g i c a ) THENi s t r u z i o n e
ELSEi s t r u z i o n e
END IF
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 6: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/6.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Costrutto IF - Forma generale
IF ( e s p r e s s i o n e l o g i c a ) THENi s t r u z i o n e
ELSE IF ( e s p r e s s i o n e l o g i c a ) THENi s t r u z i o n e
ELSEi s t r u z i o n e
END IF
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 7: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/7.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Costrutto IF - Strutture annidate
IF ( e s p r e s s i o n e l o g i c a ) THENIF ( e s p r e s s i o n e l o g i c a ) THEN
i s t r u z i o n eELSE
i s t r u z i o n eEND IF
ELSEi s t r u z i o n e
END IF
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 8: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/8.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Esercizio
Soluzione di un’equazione di secondo grado
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 9: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/9.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Soluzione di un’equazione di secondo grado
PROGRAM equaz i oneIMPLICIT NONEREAL : : ALFA , BETA, GAMMA, DELTA, XM, XPWRITE(∗ ,∗ ) ’ i n s e r i s c i a l f a , be ta e gamma ’READ(∗ ,∗ ) ALFA , BETA, GAMMADELTA = BETA∗∗2 − 4∗ALFA∗GAMMAWRITE(∗ ,∗ ) ’DELTA = ’ ,DELTAIF (DELTA < 0 . ) THEN
WRITE(∗ ,∗ ) ’DISCRIMINANTE NEGATIVO ! ! ! ’ELSE
XP = (−BETA + SQRT(DELTA))/ (2∗ALFA)XM = (−BETA − SQRT(DELTA))/ (2∗ALFA)WRITE(∗ ,∗ ) ’X+= ’ ,XPWRITE(∗ ,∗ ) ’X−= ’ ,XM
ENDIFEND PROGRAM equaz i one
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 10: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/10.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
SELECT CASE
Il costrutto SELECT CASE e simile al costrutto IF.Risulta particolarmente utile quando una particolare serie diistruzioni va selezionata in base al risultato di un’espressione.
Sintassi SELECT CASE ( e s p r e s s i o n e )CASE ( caso1 )
i s t r u z i o n i caso1CASE ( caso2 )
i s t r u z i o n i caso2. . .
CASE DEFAULTi s t r u z i o n i caso d e f a u l t
END SELECT
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 11: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/11.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
SELECT CASE
Il costrutto SELECT CASE e simile al costrutto IF.Risulta particolarmente utile quando una particolare serie diistruzioni va selezionata in base al risultato di un’espressione.
Sintassi SELECT CASE ( e s p r e s s i o n e )CASE ( caso1 )
i s t r u z i o n i caso1CASE ( caso2 )
i s t r u z i o n i caso2. . .
CASE DEFAULTi s t r u z i o n i caso d e f a u l t
END SELECT
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 12: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/12.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Note su SELECT CASE
L’espressione del SELECT CASE deve essere di tipoINTEGER, LOGICAL o CHARACTER.NB: Non puo essere di tipo REAL!
Ci puo essere un numero a piacere di CASE
Ci puo essere uno e un solo CASE DEFAULT
Dopo l’esecuzione delle istruzioni del caso selezionato, ilprogramma esce dal costrutto, cioe salta all’istruzionesuccessiva ad END SELECT
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 13: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/13.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Note su SELECT CASE
L’espressione del SELECT CASE deve essere di tipoINTEGER, LOGICAL o CHARACTER.NB: Non puo essere di tipo REAL!
Ci puo essere un numero a piacere di CASE
Ci puo essere uno e un solo CASE DEFAULT
Dopo l’esecuzione delle istruzioni del caso selezionato, ilprogramma esce dal costrutto, cioe salta all’istruzionesuccessiva ad END SELECT
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 14: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/14.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Note su SELECT CASE
L’espressione del SELECT CASE deve essere di tipoINTEGER, LOGICAL o CHARACTER.NB: Non puo essere di tipo REAL!
Ci puo essere un numero a piacere di CASE
Ci puo essere uno e un solo CASE DEFAULT
Dopo l’esecuzione delle istruzioni del caso selezionato, ilprogramma esce dal costrutto, cioe salta all’istruzionesuccessiva ad END SELECT
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 15: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/15.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Note su SELECT CASE
L’espressione del SELECT CASE deve essere di tipoINTEGER, LOGICAL o CHARACTER.NB: Non puo essere di tipo REAL!
Ci puo essere un numero a piacere di CASE
Ci puo essere uno e un solo CASE DEFAULT
Dopo l’esecuzione delle istruzioni del caso selezionato, ilprogramma esce dal costrutto, cioe salta all’istruzionesuccessiva ad END SELECT
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 16: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/16.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Esempio
Calcolo del fattoriale
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 17: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/17.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
program f a t t 1 ! c a l c o l o d e l f a t t o r i a l ei m p l i c i t nonei n t e g e r : : i , nr e a l : : f a t tw r i t e (∗ ,∗ ) ’ i n s e r i s c i i l v a l o r e pe r c a l c o l a r e i l f a t t o r i a l e ’read (∗ ,∗ ) ns e l e c t case ( n )case (0 )f a t t = 1 .p r i n t ∗ , ’ F a t t o r i a l e=’ , f a t t
case ( 1 : )f a t t = 1 . ! i n i z i a l i z z a z i o n edo i =1,n , 1
f a t t = f a t t ∗ ienddop r i n t ∗ , ’ F a t t o r i a l e=’ , f a t t
case d e f a u l tw r i t e (∗ ,∗ ) ’ i n s e r i r e n p o s i t i v o o 0 ! ’
end s e l e c tend program f a t t 1
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 18: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/18.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo DO
Il ciclo e un costrutto usato ogni volta che un blocco diistruzioni va ripetuto per un certo numero di volte.
Per evitare la creazione di cicli infiniti, e necessario stabilireuna condizione di uscita (termine, fine) del ciclo.
E possibile distinguere diversi tipi di ciclo a seconda delmeccanismo con cui terminano:
repeat until ripeti le istruzioni finche una particolare condizione non esoddisfatta
DO con indice ripeti le istruzioni un numero predefinito di volte
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 19: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/19.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo DO
Il ciclo e un costrutto usato ogni volta che un blocco diistruzioni va ripetuto per un certo numero di volte.
Per evitare la creazione di cicli infiniti, e necessario stabilireuna condizione di uscita (termine, fine) del ciclo.
E possibile distinguere diversi tipi di ciclo a seconda delmeccanismo con cui terminano:
repeat until ripeti le istruzioni finche una particolare condizione non esoddisfatta
DO con indice ripeti le istruzioni un numero predefinito di volte
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 20: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/20.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo DO
Il ciclo e un costrutto usato ogni volta che un blocco diistruzioni va ripetuto per un certo numero di volte.
Per evitare la creazione di cicli infiniti, e necessario stabilireuna condizione di uscita (termine, fine) del ciclo.
E possibile distinguere diversi tipi di ciclo a seconda delmeccanismo con cui terminano:
repeat until ripeti le istruzioni finche una particolare condizione non esoddisfatta
DO con indice ripeti le istruzioni un numero predefinito di volte
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 21: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/21.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo DO
Il ciclo e un costrutto usato ogni volta che un blocco diistruzioni va ripetuto per un certo numero di volte.
Per evitare la creazione di cicli infiniti, e necessario stabilireuna condizione di uscita (termine, fine) del ciclo.
E possibile distinguere diversi tipi di ciclo a seconda delmeccanismo con cui terminano:
repeat until ripeti le istruzioni finche una particolare condizione non esoddisfatta
DO con indice ripeti le istruzioni un numero predefinito di volte
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 22: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/22.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo DO
Il ciclo e un costrutto usato ogni volta che un blocco diistruzioni va ripetuto per un certo numero di volte.
Per evitare la creazione di cicli infiniti, e necessario stabilireuna condizione di uscita (termine, fine) del ciclo.
E possibile distinguere diversi tipi di ciclo a seconda delmeccanismo con cui terminano:
repeat until ripeti le istruzioni finche una particolare condizione non esoddisfatta
DO con indice ripeti le istruzioni un numero predefinito di volte
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 23: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/23.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo repeat until
Significato: ripeti le istruzioni finche una particolarecondizione (espressione logica) non diventa vera.
Sintassi DOi s t r u z i o n iIF ( e s p r e s s i o n e ) EXITi s t r u z i o n i
END DO
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 24: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/24.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo repeat until
Significato: ripeti le istruzioni finche una particolarecondizione (espressione logica) non diventa vera.
Sintassi DOi s t r u z i o n iIF ( e s p r e s s i o n e ) EXITi s t r u z i o n i
END DO
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 25: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/25.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo repeat until - Esempio 1
WRITE(∗ ,∗ ) ’ i n s e r i s c i i ’READ(∗ ,∗ ) iDO
i = i + 1IF ( i > 100) EXITPRINT∗ , ’ I v a l e ’ , i
END DO! quando i > 100PRINT∗ , ’ C i c l o f i n i t o . Adesso I v a l e ’ , i
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 26: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/26.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo repeat until - Esempio 2
WRITE(∗ ,∗ ) ’ i n s e r i s c i i ’READ(∗ ,∗ ) iDO
IF ( i > 100) EXITi = i + 1PRINT∗ , ’ I v a l e ’ , i
END DO! quando i > 100PRINT∗ , ’ C i c l o f i n i t o . Adesso I v a l e ’ , i
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 27: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/27.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo repeat until
In cosa differiscono gli esempi 1 e 2?
Suggerimento: provare i due esempi assegnando a i il valore101 e confrontare i risultati.
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 28: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/28.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo repeat until
In cosa differiscono gli esempi 1 e 2?
Suggerimento: provare i due esempi assegnando a i il valore101 e confrontare i risultati.
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 29: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/29.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo DO con indice
Significato: ripeti le istruzioni un numero predefinito di volte.
Sintassi DO v = e1 , e2 , e3i s t r u z i o n i
END DO
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 30: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/30.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo DO con indice
Significato: ripeti le istruzioni un numero predefinito di volte.
Sintassi DO v = e1 , e2 , e3i s t r u z i o n i
END DO
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 31: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/31.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo DO con indice
v nome di una variabile, detta variabile del ciclo DO, che puoessere di tipo INTEGER, REAL o DOUBLE PRECISION. Siconsiglia tuttavia di usare sempre variabili INTEGER.
e1 (parametro iniziale) espressione aritmetica che da il valoreiniziale di v
e2 (parametro finale) espressione aritmetica che da il valore che vnon puo superare
e3 (incremento) espressione aritmetica che da l’incremento di vad ogni ciclo. Puo essere omessa. Qualora non sia presente, siassume un incremento pari a 1.
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 32: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/32.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo DO con indice
v nome di una variabile, detta variabile del ciclo DO, che puoessere di tipo INTEGER, REAL o DOUBLE PRECISION. Siconsiglia tuttavia di usare sempre variabili INTEGER.
e1 (parametro iniziale) espressione aritmetica che da il valoreiniziale di v
e2 (parametro finale) espressione aritmetica che da il valore che vnon puo superare
e3 (incremento) espressione aritmetica che da l’incremento di vad ogni ciclo. Puo essere omessa. Qualora non sia presente, siassume un incremento pari a 1.
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 33: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/33.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo DO con indice
v nome di una variabile, detta variabile del ciclo DO, che puoessere di tipo INTEGER, REAL o DOUBLE PRECISION. Siconsiglia tuttavia di usare sempre variabili INTEGER.
e1 (parametro iniziale) espressione aritmetica che da il valoreiniziale di v
e2 (parametro finale) espressione aritmetica che da il valore che vnon puo superare
e3 (incremento) espressione aritmetica che da l’incremento di vad ogni ciclo. Puo essere omessa. Qualora non sia presente, siassume un incremento pari a 1.
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 34: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/34.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Ciclo DO con indice
v nome di una variabile, detta variabile del ciclo DO, che puoessere di tipo INTEGER, REAL o DOUBLE PRECISION. Siconsiglia tuttavia di usare sempre variabili INTEGER.
e1 (parametro iniziale) espressione aritmetica che da il valoreiniziale di v
e2 (parametro finale) espressione aritmetica che da il valore che vnon puo superare
e3 (incremento) espressione aritmetica che da l’incremento di vad ogni ciclo. Puo essere omessa. Qualora non sia presente, siassume un incremento pari a 1.
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 35: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/35.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Schema del ciclo DO
1 Si calcolano i parametri del ciclo DO valutando le espressioni:m1 = e1m2 = e2m3 = e3
2 Si ponev = m1
3 Si calcola il contatoreC = MAX(0, INT((m2 - m1 + m3)/m3))C indica il numero di volte che il ciclo DO viene eseguitoNB: C ≥ 0! Se C = 0 il ciclo non viene mai eseguito!
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 36: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/36.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Schema del ciclo DO
1 Si calcolano i parametri del ciclo DO valutando le espressioni:m1 = e1m2 = e2m3 = e3
2 Si ponev = m1
3 Si calcola il contatoreC = MAX(0, INT((m2 - m1 + m3)/m3))C indica il numero di volte che il ciclo DO viene eseguitoNB: C ≥ 0! Se C = 0 il ciclo non viene mai eseguito!
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 37: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/37.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Schema del ciclo DO
1 Si calcolano i parametri del ciclo DO valutando le espressioni:m1 = e1m2 = e2m3 = e3
2 Si ponev = m1
3 Si calcola il contatoreC = MAX(0, INT((m2 - m1 + m3)/m3))C indica il numero di volte che il ciclo DO viene eseguitoNB: C ≥ 0! Se C = 0 il ciclo non viene mai eseguito!
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 38: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/38.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Schema del ciclo DO
4 Se C > 0 si svolgono le istruzioni contenute nel ciclo,altrimenti l’esecuzione del programma prosegue dall’istruzioneEND DO
5 Si ponev = v + m3
6 Si poneC = C - 1
7 Si torna al punto 4.
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 39: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/39.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Schema del ciclo DO
4 Se C > 0 si svolgono le istruzioni contenute nel ciclo,altrimenti l’esecuzione del programma prosegue dall’istruzioneEND DO
5 Si ponev = v + m3
6 Si poneC = C - 1
7 Si torna al punto 4.
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 40: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/40.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Schema del ciclo DO
4 Se C > 0 si svolgono le istruzioni contenute nel ciclo,altrimenti l’esecuzione del programma prosegue dall’istruzioneEND DO
5 Si ponev = v + m3
6 Si poneC = C - 1
7 Si torna al punto 4.
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 41: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/41.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Schema del ciclo DO
4 Se C > 0 si svolgono le istruzioni contenute nel ciclo,altrimenti l’esecuzione del programma prosegue dall’istruzioneEND DO
5 Si ponev = v + m3
6 Si poneC = C - 1
7 Si torna al punto 4.
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 42: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/42.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Esempio: somma dei primi 10 numeri
sum = 0 . ! I n i z i a l i z z a z i o n e d e l l a sommaDO i =1 ,10
sum = sum + iEND DOWRITE(∗ ,∗ ) ’ r i s u l t a t o d e l l a somma ’ , sum
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli
![Page 43: Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf · Fondamenti di Informatica T (A-K) AA 2012-2013 Fondamenti di Informatica T (A-K) Strutture](https://reader031.vdocuments.mx/reader031/viewer/2022041314/5e15c4a1ddfacd11897a5f20/html5/thumbnails/43.jpg)
Strutture di controllo - Istruzioni condizionaliStrutture di controllo - SELECT CASE
Cicli
Esempio: calcolo del fattoriale
WRITE(∗ ,∗ ) ’ i n s e r i s c i numero d i c u i vuo i &c a l c o l a r e i l f a t t o r i a l e ’
READ(∗ ,∗ ) nn f a t t o r i a l e = 1
DO i =1,nn f a t t o r i a l e = n f a t t o r i a l e ∗ i
END DOWRITE(∗ ,∗ ) ’ i l f a t t o r i a l e d i ’ , n , ’ v a l e ’ , n f a t t o r i a l e
Fondamenti di Informatica T (A-K) Strutture di controllo e cicli