Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf ·...

43
Strutture di controllo - Istruzioni condizionali Strutture 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

Transcript of Fondamenti di Informatica T (A-K) AA 2012-2013fimecc.ing.unibo.it/PROGRAMMA/costrutti.pdf ·...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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