************************************************************************ * File: counter.for ************************************************************************ * Scopo: realizza un MODULO PER SINGOLO OGGETTO ************************************************************************ * In particolare, l'oggetto e' un CONTATORE INTERO * Le operazioni disponibili sono: * - inizializza a 0 il contatore * - incrementa di 1 il valore del contatore * - restituisci il valore del contatore * Viene realizzato mediante una variabile intera (cont) condivisa * tramite COMMON, e tre unita' di programma ************************************************************************ SUBROUTINE Init () IMPLICIT NONE INTEGER cont COMMON /counter/cont cont = 0 * WRITE (*,*) 'Init: ', cont RETURN END SUBROUTINE Incrementa () IMPLICIT NONE INTEGER cont COMMON /counter/cont cont = cont + 1 * WRITE (*,*) 'Incrementa: ', cont RETURN END INTEGER FUNCTION Valore () IMPLICIT NONE INTEGER cont COMMON /counter/cont valore = cont * WRITE (*,*) 'Valore: ', cont RETURN END