module dados

! objetivo: ler e escrever os dados

use variaveis

!-------------------------------------------------

implicit none

contains

!-------------------------------------------------

  subroutine le_dados

    ver = system('notepad programa20a.ent') ! lista dados

    open(7,file='programa20a.ent')

    read(7,*) caso
    read(7,*) N
    read(7,*) matriz
    read(7,*) solver
    read(7,*) iteracao
    read(7,*) Tol
    read(7,*) w
    read(7,*) title

    close(7)

  end subroutine le_dados

!-------------------------------------------------

  subroutine mostra_dados

    integer :: comp

    comp = len(trim(adjustl(caso)))

    write(10,1) trim(adjustl(caso)), N, matriz, solver, iteracao, Tol

    1 format(/,5x,'DADOS',//,  &
                 a<comp>,' = caso',/, &
              i6,' = número de nós',/, &
              i6,' = tipo de matriz: 1 = fonte nulo; 2 = fonte não-nulo',/,  &
              i6,' = tipo de solver: 1=El.Gauss; 2=GS; 3=TDMA',/, &
              i6,' = número de iterações para o GS',/, &
         1pe10.2,' = tolerância sobre o resíduo para o GS')

  end subroutine mostra_dados

!-------------------------------------------------

end module dados
