Programming Fundamentals/Loops/Fortran
loops.f90
edit! This program demonstrates While, Do, and For loop counting using
! user-designated start, stop, and increment values.
!
! References:
! https://www.tutorialspoint.com/fortran
! https://en.wikibooks.org/wiki/Fortran
! This program asks the user to select Fahrenheit or Celsius conversion
! and input a given temperature. Then the program converts the given
! temperature and displays the result.
! References:
! https://www.tutorialspoint.com/fortran
! https://en.wikibooks.org/wiki/Fortran
program loops
integer :: get_value
integer :: start, stop, increment
start = get_value("starting")
stop = get_value("ending")
increment = get_value("increment")
call while_loop(start, stop, increment)
call do_loop(start, stop, increment)
call for_loop(start, stop, increment)
end program
function get_value(label) result (value)
character(*) :: label
integer :: value
print ("(a a a)"), "Enter ", label, " value:"
read *, value
end function
subroutine while_loop(start, stop, increment)
integer :: start, stop, increment
integer :: count
print ("(/ a i2 a i2 a i2 a)"), &
"While loop counting from ", start, &
" to ", stop, " by ", increment, ":"
count = start
do while (count <= stop)
print ("(i2)"), count
count = count + increment
end do
end subroutine
subroutine do_loop(start, stop, increment)
integer :: start, stop, increment
integer :: count
print ("(/ a i2 a i2 a i2 a)"), &
"Do loop counting from ", start, &
" to ", stop, " by ", increment, ":"
count = start
do
print ("(i2)"), count
count = count + increment
if (.not. count <= stop) then
exit
end if
end do
end subroutine
subroutine for_loop(start, stop, increment)
integer :: start, stop, increment
integer :: count
print ("(/ a i2 a i2 a i2 a)"), &
"For loop counting from ", start, &
" to ", stop, " by ", increment, ":"
do count = start, stop, increment
print ("(i2)"), count
end do
end subroutine
Try It
editCopy and paste the code above into one of the following free online development environments or use your own Fortran compiler / interpreter / IDE.