![]() |
How i can Write the program in fortran using goto statement? |
[Edit] |
[Edit]
The use of GOTOs in programming is generally considered to be bad form, because it very rapidly leads to "spaghetti code" where it is difficult or impossible to follow the program's logic flow.
However, given Fortran's comparatively weak set of flow controls, there are times when a GOTO is unavoidable or actually clearer than using a more-structured layout. A simple example would be a subroutine that checks its arguments for validity and exits immediately if it finds something incompatible. The alternatives would be
(A) Put a GOTO 99999 after each invalid condition is detected, where 99999 is the program's RETURN statement
(B) Set flags after each condition, falling through and checking more and more flags until you "naturally" reach the module's RETURN.
An example of (A) would be (using slight variations on Fortran 90 syntax)
subroutine foo(x,y)
However, given Fortran's comparatively weak set of flow controls, there are times when a GOTO is unavoidable or actually clearer than using a more-structured layout. A simple example would be a subroutine that checks its arguments for validity and exits immediately if it finds something incompatible. The alternatives would be
(A) Put a GOTO 99999 after each invalid condition is detected, where 99999 is the program's RETURN statement
(B) Set flags after each condition, falling through and checking more and more flags until you "naturally" reach the module's RETURN.
An example of (A) would be (using slight variations on Fortran 90 syntax)
subroutine foo(x,y)
implicit none
real*4 x, y
! Check for negative arguments
if (x < 0.0) then
print *, 'Argument X is negative'
goto 99999
goto 99999
endif
if (y < 0.0) then
print *, 'Argument Y is negative'
goto 99999
goto 99999
endif
! (Code body goes here ....)
99999 continue
return
end
First answer by JayKay. Last edit by JayKay. Contributor trust: 1075 [recommend contributor]. Question popularity: 14 [recommend question]





