!
!  programa exemplo de grafico - diagrama P x V de motor ICO
!
use msflib ! biblioteca que contem o comando systemqq

! implicit real *8 (a-h,o-z)
logical chamada
!
!  arquivo de leitura de dados
      open (1,file='input.txt') 
!
!	arquivo de saida com dados lidos
      open (2,file='out_read.txt') 

!     arquivo de saída com os dados para o grafico
!
      open (4,file='out_pontos.txt') 
!
!
!******************************
!
!
!     ler entrada de dados
!
	read(1,*)npontos
	write(2,*)"npontos=",npontos
	read(1,*)xmin_c1
	write(2,*)"xmin_c1=",xmin_c1
	read(1,*)xmax_c1
	write(2,*)"xmax_c1=",xmax_c1
	read(1,*)xmin_c2
	write(2,*)"xmin_c2=",xmin_c2
	read(1,*)xmax_c2
	write(2,*)"xmax_c2=",xmax_c2
	read(1,*)xmin_comb
	write(2,*)"xmin_comb=",xmin_comb
	read(1,*)xmax_comb
	write(2,*)"xmax_comb=",xmax_comb
	read(1,*)xmin_exp
	write(2,*)"xmin_exp=",xmin_exp
	read(1,*)xmax_exp
	write(2,*)"xmax_exp=",xmax_exp


!	Construir 1a parte do grafico - compressao 1

	dc1=(xmax_c1-xmin_c1)/npontos
	x=xmin_c1
      do i=1,npontos+1
		p=1.31-0.128*(x-10.42)
         write(4,*) x,p
		 x=x+dc1
      enddo

!	Construir 2a parte do grafico - compressao 2

	dc2=(xmax_c2-xmin_c2)/npontos
	x=xmin_c2
      do i=1,npontos+1
		p=2.26-1.14*(x-3.)+3.21*(x-3.)*(x-2.5)
         write(4,*) x,p
		 x=x+dc2
      enddo

!	Construir 3a parte do grafico - combustao

	dcomb=(xmax_comb-xmin_comb)/npontos
	x=xmin_comb
      do i=1,npontos+1
		p=19.5+60.*(x-0.61)-340.*(x-0.61)*(x-0.71)
         write(4,*) x,p
		 x=x+dcomb
      enddo

!	Construir 4a parte do grafico - expansao

	dexp=(xmax_exp-xmin_exp)/npontos
	x=xmin_exp
      do i=1,npontos+1
		p=24.7-2.78*(x-0.81)+0.255*(x-0.81)*(x-9.07)
         write(4,*) x,p
		 x=x+dexp
      enddo



close(1)
close(2)
close(4)

chamada = systemqq('notepad out_read.txt')       ! listagem dos dados lidos
chamada = systemqq('notepad out_pontos.txt')       ! listagem dos dados

 chamada = systemqq('wgnuplot dados.gnu')  ! gráfico
      stop
      end



