program main external xsquare ! Hier steht external, nicht der Rückgabewert! call summ ( xsquare, 0, 10 ) end program integer function xsquare ( x ) integer x; xsquare = x**2; return; end function subroutine summ ( f, start, ende ) integer f, start, ende integer k do k=start, ende write (*,*) f(k) enddo end subroutine