如何编写程序实现fortran语言内部函数epsilon(x)的功能
这是我们老师布置的作业,我是这样编的:

program cal_eps
implicit none
  real(4)::eps
  integer::i
     eps = 1.0
     i = 0
  do while( .true. )
     eps = eps/2 
     i = i+1 
   if (1.0+eps == 1.0) exit
  print * , eps , i
  end do
  eps = eps * 2
  i = i-1
  print*, eps , epsilon(eps),i
  stop   
end

我是初学者,才接触编程没几天,大家能给我这个程序提提意见吗?还有其他什么比较好的方法吗?