Dichiarazione variabile/i |
Costanti |
Lettura (read*, variabile) |
Operazioni |
logical
:: var_log |
.true. .false. |
.t. t .f. f .true.
true .false. false |
.not. .and. .or. .eqv. .neqv. |
character(len=N) :: var_char |
"abcd" 'abcd' 'l''apostrofo' |
"abc" 'abc' abc
(solo le prime 2 se appaiono spazi nella stringa; con l' ultima
forma tutti gli spazi iniziali sono ignorati) |
concatenazione: var_char
// "stringa" sottostringhe: var_char(2:6) var_char(:7) var_char(3:) |
integer ::
var_int |
3 -45 |
3 -45 |
+ - * / **
== /= >=
> <= < (attenzione alla divisione: da' il quoziente della divisione tra interi) REAL(i) trasforma una variabile intera i in numero reale |
real
:: var_real |
3.2 6.022e23 6.022E23 1.054e-27 1.054E-27 |
3.2 6.022e23
1.054e-27 1.054E-27 3 -43 |
+ - * / ** == /= >= > <= < INT(r) trasforma una variabile real r in intero (troncando) NINT(r) trasforma una variabile real r in intero (approssimando all' intero piu' vicino) |
complex :: var_cmplx |
(1.0, 23.0) (2.1e3,1.1e-1) |
(1.0, 23.0) (2.1e3,1.1e-1) |
+ - * / ** == /= CMPLX( 1.2, 3.1) REAL(z) IMAG(z) N.B. (1.2,3.1) è una costante letterale complessa. il cui valore può essere ottenuto anche attraverso la function CMPLX(1.2,3.1). Non è possibile ottenere una variabile complessa a partire da due variabili reali rz e iz attraverso una scrittura come (rz,iz). Occorre sempre usare la function: CMPLX(rz,iz). ATTENZIONE: a differenza della maggioranza delle function intrinseche, CMPLX non ritorna un valore dello stesso tipo e kind dell' argomento ma ritorna un complex con il kind di default. Eventualmente utilizzare il terzo argomento (kind) opzionale. |