PROGRAM pgplot_ex1
  integer, parameter :: nmax=500
  integer :: pgopen,i,n,n0
  real (kind=4) :: xs(nmax),ys(nmax),xr(nmax),yr(nmax),yrmax
  ! n0 : inteiro : pequeno numero de pontos
  ! n  : inteiro : grande numero de pontos
  n0=20
  n=200
  ! este programa plotarah o grafico de (x,x^2*exp(-x)) para x entre 0 e 2
  do i=0,n0
    xs(i+1)= (2.0*i)/n0
    ys(i+1)=xs(i)*xs(i)*exp(-xs(i))
  end do
  yrmax=0.
  do i=0,n
    xr(i)=(2.0*i)/n
    yr(i)=xr(i)*xr(i)*exp(-xr(i))
    yrmax=max(yrmax,yr(i))
  end do
  ! jah temos as estruturas de dados para plotar. Agora
  ! abriremos o grafico (que pode ser um dispositivo em geral)
  if (pgopen('?').lt.1) stop
  !
  call pgenv(0.,2.0,0.,yrmax,0,0)
  !
  call pglab('x','y','Grafico criado por PGPLOT: y=x^2 exp(-x)')
  ! plotaremos as linhas
  call pgline(n,xr,yr)
  ! plotaremos os pontos
  call pgpt(n0+1,xs,ys)
  ! agora fecharemos o grafico
  call pgclos

END PROGRAM
