Fortran Fixing Fortran DO Command Errors for Visual Fortran (f90)

  • Thread starter Thread starter zandria
  • Start date Start date
  • Tags Tags
    Fortran
Click For Summary
The discussion focuses on resolving errors in a Visual Fortran program related to the DO loop statement. The user initially encounters two errors, which they trace back to the lack of variable declaration for "i." It is emphasized that the "implicit none" statement should remain in the code to enforce explicit variable declaration, preventing potential issues with undeclared variables. Removing this statement may lead to misleading compilations and runtime errors due to misspelled variable names. Properly defining all variables from the start is crucial for maintaining code integrity and avoiding future complications.
zandria
Messages
15
Reaction score
0
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
 
Technology news on Phys.org
nevermind, figured it out. I did not define "i" as a variable in my list of integers
 
Remove (delete) the statement: implicit none
 
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.
 
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.
 
Learn If you want to write code for Python Machine learning, AI Statistics/data analysis Scientific research Web application servers Some microcontrollers JavaScript/Node JS/TypeScript Web sites Web application servers C# Games (Unity) Consumer applications (Windows) Business applications C++ Games (Unreal Engine) Operating systems, device drivers Microcontrollers/embedded systems Consumer applications (Linux) Some more tips: Do not learn C++ (or any other dialect of C) as a...

Similar threads

  • · Replies 12 ·
Replies
12
Views
3K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 5 ·
Replies
5
Views
5K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 17 ·
Replies
17
Views
7K
  • · Replies 20 ·
Replies
20
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 8 ·
Replies
8
Views
2K