! 2.4.f90 ! $Id: 2.4.f90 1.3 2025/07/13 09:40:04 s Exp $ ! module subprog implicit none contains function f(x) result(v) real(8), intent(in) :: x real(8) v v = -1.0d0 + x + x ** 2 end function fd(x) result(v) real(8), intent(in) :: x real(8) v v = 1.0d0 + 2.0d0 * x end end module subprog program ex2_4 use subprog real(8) x0, x1, x2, x3, x4 character * 10 keisen keisen = '----------' ! calculation x0 = 1.0d0 x1 = x0 - f(x0) / fd(x0) x2 = x1 - f(x1) / fd(x1) x3 = x2 - f(x2) / fd(x2) x4 = x3 - f(x3) / fd(x3) ! output write(*,*) '2.4.f90' write(*,'(4a10)') 'k', 'x', 'f(x)', "f'(x)" write(*,'(4a10)') keisen, keisen, keisen, keisen write(*,'(i10,3f10.7)') 0, x0, f(x0), fd(x0) write(*,'(i10,3f10.7)') 1, x1, f(x1), fd(x1) write(*,'(i10,3f10.7)') 2, x2, f(x2), fd(x2) write(*,'(i10,3f10.7)') 3, x3, f(x3), fd(x3) write(*,'(i10,3f10.7)') 4, x4, f(x4), fd(x4) write(*,'(4a10)') keisen, keisen, keisen, keisen end program ex2_4 ! end of 2.4.f90