************************************************************************ * File: sortfile.for ************************************************************************ * Scopo: utilizza il modulo realizzato dal file bubsort.for * effettua lettura da file e scrittura su file ************************************************************************ 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) DO 10 j = 1, dim READ (9,*) miovett(j) 10 CONTINUE CLOSE (9) * stampa del vettore su video, un elemento per riga WRITE (*,*) 'Prima dell''ordinamento ...' DO 20 j = 1,dim WRITE (*,*) j, ': ', miovett(j) 20 CONTINUE CALL BubSort (miovett, dim) * stampa il vettore ordinato su file e sul video WRITE (*,*) 'Dopo l''ordinamento ...' OPEN (8, FILE = nomefileout) WRITE (*,*) 'viene anche scritto sul file SORTED.TXT' DO 30 j = 1, dim WRITE (*,*) j, ': ', miovett(j) WRITE (8,*) miovett(j) 30 CONTINUE CLOSE (8) STOP END