こたえ:階乗の関数

 integer :: n

 read *, n
 print *, "n! = ", fact(n)

 !--- internal proedures ---
 contains

  function fact(n)
  implicit none
  integer :: n, i
  real(kind=double) :: fact
   fact = 1.0d0
   do i=1,n
      fact = fact*i
   end do
  end function
「作法」さえわかってしまえば、応用は簡単です。 余裕のある人は、ガンマ関数に挑戦してみるといいでしょう。