Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Fortran DO command

  1. Jun 3, 2009 #1
    I am working with visual Fortran (f90 I believe)

    I have the following program and it says that I have 2 errors. I have narrowed it down to having something to do with my loop statement in bold. Is there something wrong that I'm not getting?

    program exercise1

    implicit none

    integer :: limit, f1, f2, f3
    read*, limit

    f1 = 1
    if (limit >= 1) then
    print*, f1
    end if

    f2 = 1
    if (limit >= 2) print*, f2

    do i= 3, limit
    f3 = f1 + f2
    print*, f3
    f1 = f2
    f2 = f3
    end do

    end program exercise1
  2. jcsd
  3. Jun 3, 2009 #2
    nevermind, figured it out. I did not define "i" as a variable in my list of integers
  4. Jul 28, 2009 #3
    Remove (delete) the statement: implicit none
  5. Jul 28, 2009 #4


    User Avatar
    Science Advisor


    Having that in forces the user to explicitly define their variables. Removing that statement to get a program to compile will nearly always cause problems later down the line.

    Simply put: fix it right the first time.
  6. Jul 28, 2009 #5


    User Avatar

    Staff: Mentor

    Without the IMPLICIT NONE, if you mis-spell the name of a variable once, the compiler doesn't catch it for you, as an undeclared variable. Instead, it cheerfully allocates a new variable with that name, which has no connection with the variable you meant to use. Your program compiles "successfully," but when you run it, it either produces incorrect results or crashes with a run-time error that can be very difficult to track down.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook