************************************************************************ * File: sortfil2.for ************************************************************************ * Scopo: utilizza il modulo realizzato dal file bubsort.for * effettua lettura da file * simile al file sortfile.for, ma: * - usa DO IMPLICITI per operazioni di I/O * - usa istruzioni FORMAT ************************************************************************ PROGRAM SortFile * Istruzioni dichiarative IMPLICIT NONE * Dichiarazioni di tipo per le costanti INTEGER dim CHARACTER*12 nomefilein, nomefileout * Definizioni delle costanti PARAMETER (dim = 10) PARAMETER (nomefilein = 'VETT.TXT', nomefileout = 'SORTED.TXT') * Dichiarazioni delle variabili INTEGER j INTEGER miovett(dim) * Subroutine usate: * BubSort (INTEGER(*), INTEGER) * Istruzioni esecutive * lettura vettore da file OPEN (9, FILE = nomefilein) READ (9,*) (miovett(j), j=1,dim) CLOSE (9) * stampa del vettore su video, tutti gli elementi SULLA STESSA riga WRITE (*,*) 'Prima dell''ordinamento ...' WRITE (*,100) (miovett(j), j=1,dim) CALL BubSort (miovett, dim) * stampa il vettore ordinato sul video WRITE (*,*) 'Dopo l''ordinamento ...' WRITE (*,100) (miovett(j), j=1,dim) * stampa il vettore ordinato su file e su video per conferma WRITE (*,*) 'Viene scritto sul file SORTED.TXT' OPEN (8, FILE = nomefileout) WRITE (8,100) (miovett(j), j=1,dim) CLOSE (8) STOP * Istruzioni FORMAT 100 FORMAT(10I6) END