Iniziali con lettere da I a N | variabili intere, 4 byte in precisione singola |
Iniziali con lettere da A a H oppure da O a Z | variabili reali, 4 byte in precisione singola |
INTEGER A | La variabile A e' definita intera. Aggiungere *8 o *16 dopo INTEGER per la precisione doppia o quadrupla. |
REAL A | La variabile A e' definita reale. Aggiungere *8 o *16 dopo REAL per la precisione doppia o quadrupla. |
COMPLEX A | La variabile A e' definita complessa. Aggiungere *16 COMPLEX per la precisione doppia. |
CHARACTER*N A | La variabile A e' definita come una variabile stringa. La lunghezza in byte della stringa e' data dal numero intero N. |
LOGICAL A | La variabile A e' definita come una variabile logica che puo' assumere solo due valori TRUE o FALSE |
A=.TRUE. | |
A=.FALSE. | |
DIMENSION A(N1),B(N2,N3) | Le variabili A e B sono definite come vettori di dimensioni N1 e N2 x N3 rispettivamente. |
A + B A - B A * B A / B A**B |
somma di A piu' B differenza tra A e B moltiplicazione di A e B divisione di A e B elevamento di A alla potenza B |
ABS(A) | Valore assoluto di A |
ASIN(A) | Arcoseno di A |
ACOS (A) | Arcocoseno di A |
ATAN(A) | Arcotangente di A |
COS(A) | Coseno di A |
SIN(A) | Seno di A |
TAN(A) | Tangente di A |
EXP(A) | Esponenziale di A |
LOG(A) | Logaritmo naturale di A |
LOG10(A) | Logaritmo naturale di A in base 10 |
SQRT(A) | Radice quadrata di A |
MIN(A,B) | Ritorna il valore minimo tra A e B |
MAX(A,B) | Ritorna il valore massimo tra A e B |
A.AND.B | vero se sia A sia B sono vere |
A.OR.B | vero se A e' vaera oppure lo e' B. |
A.EQ.B | vero se A e' uguale a B |
A.GT.B | vero se A e' maggiore di B |
A.GE.B | vero se A e' maggiore o uguale a B |
A.LT.B | vero se A e' minore di B |
A.LE.B | vero se A e' minore o uguale a B |
STOP | Sospende l'esecuzione. |
CONTINUE | Continua l'esecuzione. |
END | Termina il programma, o il sottoprogramma. |
IF(esp) cmd | Se l'espressione esp e' vera allora il comando cmd viene eseguito. |
IF(esp) THEN cmd1 cmd2 .... ENDIF | Se l'espressione esp e' vera allora i comandi cmd1, cmd2, ... fino al comando ENDIF sono eseguiti. |
IF(esp) THEN cmd1 ELSE cmd2 ENDIF | Se l'espressione esp e' vera allora i comandi1 cmd1 fino a ELSE sono eseguiti, altrimenti sono eseguiti i comandi cmd2 fino a ENDIF. |
IF(esp1) THEN cmd1 ELSEIF (esp2) cmd2 ENDIF | Se esp1 e' vera i comandi cmd1 sono eseguiti se invece e' vera l'espressione esp2 sono eseguiti i comandi cmd2 . |
DO INDX=N1,N2,INCR comandi1 ENDDO | Ripete i comandi1 fino a che l'indice INDX non supera il valore N2. Il primo valore di INDX (intero) e' N1 (intero) ad ogni ripetizione del comando questo valore viene incrementato del valore INCR (intero) fino a quando non e' maggiore di N2 (intero). Se INCR non e' esplicitato viene utilizzato il valore di default INDX=1. INCR puo' anche assumere valori interi negativi. In questo caso N2 sara' minore di N1 e la ripetizione dei comandi terminera' quando il valore di INDX sara' minore di N2. |
GOTO nmr | Invia l'esecuzione al comando induviduato dal numero di linea nmr. |
READ(5,1000) A,B | Leggi dall'unita' 5 i valori delle variabili A e B secondo il formato definito dal comando 1000 |
READ(5,*) A,B | Come sopra. Il formato adesso e' libero, fissato dalla dichiarazione delle variabli A e B. |
READ(5,'(f10.5,1x,f10.5)') A,B | Come sopra. In questo caso il formato di lettura e' specificato nel secondo argomento del comando READ. |
WRITE(8,1000) A,B | Scrivi sull'unita' 8 i valori delle variabili A e B secondo il formato definito dal comando 1000. L'utilizzazione dei formati e' analoga a quella del comando READ. |
OPEN (UNIT=8,FILE='fn.dat',STATUS='OLD') | Apri l'unita' numero 8, il cui nome e' fn.dat e il cui status OLD dice che esiste gia'. All'unita' puo' essere assegnato qualsiasi numero intero. Il nome del file puo' essere assegnato anche con una variabile stringa. Le possibili opzioni di STATUS sono: OLD, il file gia' esiste, NEW, il file viene creato durante l'esecuzione, UNKOWN, se il file non esiste viene creato. |
FORMAT | E' il comando che indica il formato di scrittura e/o lettura. |
I5 | Per numeri interi. Il 5 indica che sono allocati 5 spazi per la lettura/scrittura, uno di questi e' utilizzato per il segno. |
F10.5 | Per numeri reali. Sono allocati dieci spazi di cui 5 per i decimali. Bisogna considerare che in questi dieci spazi sono inclusi il punto ed il segno. |
E12.5 | Per numeri reali espressi in notazione scientifica. Sono allocati dodici spazi di cui 5 per i decimali. Nei dodici spazi sono inclusi il punto, il segno, il segno dell'esponente, la E dell'esponente e due cifre dell'esponente. |
A10 | Per caratteri stringa. Sono allocati dieci caratteri. |
FUNCTION name (A,B) |
La FUNCTION restituisce al programma principale un solo valore
numerico che e' associato al nome della function (nell'esempio
name). Nella FUNCTION deve essere presente il comando: name= variabile . Il comando RETURN riporta l'esecuzione al programma principale. A e B sono variabili definite nel programma principale che vengono passate alla FUNCTION. |
SUBROUTINE name (A,B) | La SUBROUTINE restituisce al programma principale varie quantita'. Le quantita' calcolate nella SUBROUTINE che devono essere restituite al programma principale vengono passate nell'argomento della SUBROUTINE, insieme alle variabili di ingresso. |
COMMON /name/ A,B | E' un modo per mettere in comune variabili (A e B nell'esempio) tra vari sottoprogrammi e programma principale. Ogni volta che il valore numerico di A e B verra' modificato, questa modifica sara' registrata in tutti i sottoprogrammi in cui il COMMON/name/ e' presente. |