Fixing Fortran DO Command Errors for Visual Fortran (f90)

  • Context: Fortran 
  • Thread starter Thread starter zandria
  • Start date Start date
  • Tags Tags
    Fortran
Click For Summary
SUMMARY

The discussion focuses on resolving errors related to the DO command in Visual Fortran (f90). The primary issue identified was the lack of variable declaration for the loop index "i," which led to compilation errors. The user emphasized the importance of retaining the "implicit none" statement to enforce explicit variable declaration, preventing potential runtime errors caused by undeclared variables. The conclusion stresses the necessity of fixing code correctly from the outset to avoid complications later.

PREREQUISITES
  • Understanding of Visual Fortran (f90) programming language
  • Knowledge of variable declaration and scope in Fortran
  • Familiarity with the DO loop structure in Fortran
  • Experience with debugging compilation errors in Fortran code
NEXT STEPS
  • Learn about variable scope and declaration in Fortran
  • Explore best practices for error handling in Fortran programming
  • Study the implications of using "implicit none" in Fortran
  • Investigate common compilation errors and their resolutions in Visual Fortran
USEFUL FOR

Programmers and developers working with Visual Fortran, particularly those involved in numerical computing or scientific programming, will benefit from this discussion. It is also valuable for educators teaching Fortran programming concepts.

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.
 

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