
Supponiamo di avere due parametri alfa e beta utilizzati dalle nostre subroutine. Il seguente esempio mostra come la condivisione di tali parametri può essere fatta utilizzando i blocchi comuni.
program main
some declarations
real alpha, beta
common /coeff/ alpha, beta
statements
stop
end
subroutine sub1 (some arguments)
declarations of arguments
real alpha, beta
common /coeff/ alpha, beta
statements
return
end
subroutine sub2 (some arguments)
declarations of arguments
real alpha, beta
common /coeff/ alpha, beta
statements
return
end
Nella subroutine appena vista si definisce un blocco comune con il nome coeff. Il contenuto del blocco comune è rappresentato dalle due variabili alfa e beta. Un blocco comune può contenere un qualsiasi numero di variabili. E tali varibili non devono necessariamente essere dello stesso tipo.
Ogni subroutine che vuole utilizzare una qualsiasi delle variabili del blocco comune deve dichiarare l’intero blocco. Si noti che in questo esempio si sarebberero potuti facilmente evitare i blocchi comuni passando alfa e beta come parametri (argomenti). Una buona regola è quella di cercare di evitare i blocchi comuni, se possibile. Tuttavia, esistono rari casi in cui non esiste altra soluzione.

Giuseppe Ciaburro








