! Programa que calcula fatorial de vários números até que seja lido
! um número negativo
program fatorial_flag
	implicit none
    integer numero, fator, fatorial

    write (*, *) "Programa que calcula fatorial de varios numeros ate que seja lido"
    write (*, *) "um numero negativo"
    write (*, *)   
    
    write (*, *) "Digite um inteiro (Para encerrar, negativo):"
    read  (*, *) numero   
    do while (numero >= 0)
      fatorial = 1
      do fator = 1, numero, 1
        fatorial = fatorial * fator
      end do
      write (*, *) "Fatorial de ", numero,"   eh ", fatorial
      write (*, *) "Digite um inteiro (Para encerrar, negativo):"
      read  (*, *) numero
   end do

   stop
end program fatorial_flag
