************************************************************************
* File: bubmain.for
************************************************************************
* Scopo: utilizza il modulo realizzato dal file bubsort.for
************************************************************************

      PROGRAM BubMain

      IMPLICIT NONE
* Subroutine usate:
*     Bubsort (INTEGER(*), INTEGER)

      INTEGER dim
      PARAMETER (dim = 10)

      INTEGER j
      INTEGER miovett(dim)

* inizializza il vettore in ordine decrescente
      DO 10 j = 1, dim
        miovett(j) = dim - j
 10   CONTINUE

* stampa del vettore prima dell'ordinamento
      WRITE(*,*) 'Prima dell''ordinamento ....'
      DO 20 j = 1, dim
        WRITE (*,*) j, ': ', miovett(j)
 20   CONTINUE

      CALL BubSort(miovett, dim)

* stampa del vettore dopo l'ordinamento
      WRITE (*,*) 'Dopo l''ordinamento ....'
      DO 30 j = 1, dim
        WRITE (*,*) j, ': ', miovett(j)
 30   CONTINUE

      STOP
      END