La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

VARIABILI E COSTANTI LOGICHE LOGICAL :: var LOGICAL, PARAMETER :: cost=… valide cost=.TRUE. cost=.FALSE. non valide cost=TRUE cost=.FALSE In generale var.

Presentazioni simili


Presentazione sul tema: "VARIABILI E COSTANTI LOGICHE LOGICAL :: var LOGICAL, PARAMETER :: cost=… valide cost=.TRUE. cost=.FALSE. non valide cost=TRUE cost=.FALSE In generale var."— Transcript della presentazione:

1 VARIABILI E COSTANTI LOGICHE LOGICAL :: var LOGICAL, PARAMETER :: cost=… valide cost=.TRUE. cost=.FALSE. non valide cost=TRUE cost=.FALSE In generale var = espressione logica

2 Operatori relazionali nuovo vecchio descrizione ==.EQ. uguale /=.NE. diverso >.GT. maggiore >=.GE. maggiore o uguale <.LT. minore <=.LE. minore o uguale

3 Operatori relazionali N.B. non confondere loperatore relazionale di uguaglianza == con loperatore di assegnazione = operazione risultato 6 < 7.TRUE. 6 > 7.FALSE. 6 == 7.TRUE. A < B.TRUE. i caratteri vengono valutati in ordine alfabetico

4 Operatori relazionali gli operatori relazionali sono valutati dopo tutti gli operatori matematici le seguenti espressioni sono equivalenti 7+3 < (7+3) < (10+15)

5 Operatori relazionali se loperazione relazionale riguarda numeri interi e reali gli interi vengono trasformati in numeri reali operazione risultato 6 == 6..TRUE. operazioni relazionali tra dati numerici e dati di tipo carattere non sono ammessi operazione risultato 6 <= S errore

6 Operatori logici operazione descrizione v1.AND.v2 TRUE se v1 e v2 sono TRUE v1.OR.v2 TRUE se v1 o v2 è TRUE v1.EQV.v2 TRUE se v1 e v2 sono concordi v1.NEQV.v2 TRUE se v1 e v2 sono discordi.NOT.v1 TRUE se v1 è FALSE FALSE se v1 è TRUE

7 Gerarchia delle operazioni 1) gli operatori aritmetici (con la loro gerarchia) 2) gli operatori relazionali da sinistra verso destra 3) gli operatori.NOT. da sinistra verso destra 4) gli operatori.AND. da sinistra verso destra 5) gli operatori.OR. da sinistra verso destra 6) gli operatori.EQV. e.NEQV. da sinistra verso destra

8 Gerarchia delle operazioni Esempi: v1=.TRUE. v2=.TRUE. v3=.FALSE. operazione risultato v1.AND.v2.OR.v3.TRUE. v1.AND.(v2.OR.v3).FALSE.

9 Istruzioni di diramazione permettono di selezionare ed eseguire delle particolari parti del codice saltandone altre due tipi: istruzioni IF istruzioni SELECT

10 Istruzione IF IF (espressione logica) THEN istruzione 1 istruzione 2 …………… ENDIF blocco 1 Se lespressione logica è.TRUE. vengono eseguite le istruzione contenute nel blocco 1 Se lespressione logica è.FALSE. si salta alla prima istruzione eseguibile dopo ENDIF

11 Istruzione IF (esempio) READ(*,*) a y=1.D0 IF (a.GE.0.D0) THEN y=DSQRT(a) ENDIF WRITE(*,*) valore di y =,y se a<0 si ha y=1 altrimenti è uguale alla radice quadrata di a

12 Istruzione IF IF (espressione logica) THEN istruzione 1 istruzione 2 …………… ELSE blocco 1 istruzione 3 istruzione 4 …………… blocco 2 END IF

13 Istruzione IF Se lespressione logica è.TRUE. vengono eseguite le istruzione contenute nel blocco 1 e si salta alla prima istruzione eseguibile dopo ENDIF Se lespressione logica è.FALSE. vengono eseguite le istruzione contenute nel blocco 2 e si va alla prima istruzione eseguibile dopo ENDIF

14 Istruzione IF (esempio) READ(*,*) a y=1.D0 IF (a.GE.0.D0) THEN y=DSQRT(a) ELSE y=0.D0 ENDIF WRITE(*,*) valore di y =,y se a<0 si ha y=0 altrimenti è uguale alla radice quadrata di a

15 Istruzione IF IF (espressione logica 1) THEN istruzione 1 istruzione 2 …………… ELSE IF (espressione logica 2) THEN blocco 1 istruzione 3 istruzione 4 …………… blocco 2 END IF ELSE istruzione 5 istruzione 6 …………… blocco 3

16 Istruzione IF Se lespressione logica1 è.TRUE. vengono eseguite le istruzione contenute nel blocco 1 e si salta alla prima istruzione eseguibile dopo ENDIF Se lespressione logica2 è.TRUE. vengono eseguite le istruzione contenute nel blocco 2 e si salta alla prima istruzione eseguibile dopo ENDIF Se le espressioni sono entrambe.FALSE. vengono eseguite le istruzione contenute nel blocco 3 e si va alla prima istruzione eseguibile dopo ENDIF

17 Istruzione IF (esempio) READ(*,*) a IF (a.GE.1.D0) THEN y=1.D0DSQRT(a) ELSE IF (a.GE.0.D0) THEN y=DSQRT(a) ELSE y=0.D0 END IF se a<0 si ha y=0 se 0==1 si ha y=1

18 Istruzione IF con nome IF (espressione logica 1) THEN istruzione 1 istruzione 2 …………… ELSE IF (espressione logica 2) THEN blocco 1 istruzione 3 istruzione 4 …………… blocco 2 END IF ELSE istruzione 5 istruzione 6 …………… blocco 3 [nome]

19 Istruzione IF con nome IF (espressione logica 1) THEN …………... …………… IF (espressione logica 2) THEN …………… END IF …………… [nome1] [nome2] [nome1]

20 Istruzione IF logico IF (espressione logica) istruzione Se lespressione logica è.TRUE. viene eseguita la singola istruzione IF (a>0.d0) y=DSQRT(a)

21 Istruzione GO TO GO TO label si salta alla prima istruzione eseguibile dopo quella preceduta dal label

22 Istruzione SELECT CASE CASE (valori 1) istruzione …………… CASE (valori 2) blocco 1 istruzione …………… blocco 2 END SELECT CASE DEFAULT istruzione …………… blocco default SELECT CASE (espressione CASE) ………………..

23 Se lespressione CASE ha un valore compreso in valori 1 vengono eseguite le istruzione contenute nel blocco 1 Istruzione SELECT CASE Se lespressione CASE ha un valore compreso in valori 2 vengono eseguite le istruzione contenute nel blocco 2 Se lespressione CASE ha un valore che non è compreso in nessuno valori descritti dai vari CASE, vengono eseguite le istruzione contenute nel blocco default

24 Istruzione SELECT CASE Il CASE DEFAULT è facoltativo. Se non è presente e lespressione CASE ha un valore che non è compreso in nessuno valori descritti dai vari CASE non viene eseguita nessuna istruzione.

25 Istruzione SELECT CASE (esempio) CASE (1,3,5,7,9,) write(*,*) valore dispari minore di 10 CASE (2,4,6,8,10) write (*,*) valore pari minore uguale a 10 END SELECT CASE DEFAULT SELECT CASE (valore) CASE (11:20) write (*,*) valore tra 11 e 20 write (*,*) valore negativo, zero oppure & superiore a 20 INTEGER :: valore

26


Scaricare ppt "VARIABILI E COSTANTI LOGICHE LOGICAL :: var LOGICAL, PARAMETER :: cost=… valide cost=.TRUE. cost=.FALSE. non valide cost=TRUE cost=.FALSE In generale var."

Presentazioni simili


Annunci Google