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

    minger

    User Avatar
    Science Advisor

    DO NOT REMOVE THE IMPLICIT NONE STATEMENT

    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

    jtbell

    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.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Fortran DO command
Loading...