Fortran (short for Formula Translation) is one of the oldest programming languages, specifically designed for scientific and engineering computations. It remains widely used in high-performance computing, numerical analysis, and simulations. This guide provides an introduction to the basics of Fortran programming to help beginners get started.
Fortran Basics: A Comprehensive Guide for Beginners. |
Fortran was developed in the 1950s by IBM and has evolved through multiple versions, with Fortran 90, 95, 2003, and later versions adding modern programming features. It is known for its efficiency in handling mathematical computations and array operations.
To begin coding in Fortran, you need:
Fortran programs use a structured format with clearly defined sections.
Example - Hello World:
program hello
print *, 'Hello, World!'
end program hello
Explanation:
program hello
: Defines the program name.print *
: Outputs text to the console.end program hello
: Marks the end of the program.Variables and Declarations:
integer :: a, b
real :: x, y
character(len=10) :: name
logical :: flag
integer
: Whole numbers.real
: Floating-point numbers.character
: Strings.logical
: Boolean values (true/false).Reading Input:
integer :: age
print *, 'Enter your age:'
read *, age
print *, 'Your age is', age
Conditional Statements:
integer :: num
print *, 'Enter a number:'
read *, num
if (num > 0) then
print *, 'Positive'
else if (num < 0) then
print *, 'Negative'
else
print *, 'Zero'
end if
Loops:
integer :: i
! For Loop
do i = 1, 5
print *, 'Iteration:', i
end do
! While Loop
integer :: count
count = 0
while (count < 5)
print *, 'Count:', count
count = count + 1
end while
Arrays are fundamental in Fortran for handling large datasets.
Declaring Arrays:
integer, dimension(5) :: arr = [1, 2, 3, 4, 5]
print *, arr(1) ! Access first element
Multidimensional Arrays:
integer, dimension(2, 2) :: matrix
matrix = reshape([1, 2, 3, 4], [2, 2])
print *, matrix
Functions:
function square(x)
integer :: square, x
square = x * x
end function square
Subroutines:
subroutine greet(name)
character(len=20) :: name
print *, 'Hello, ', name
end subroutine greet
Modules allow code reuse and better organization.
Example:
module math_module
contains
function add(a, b)
integer :: add, a, b
add = a + b
end function add
end module math_module
program main
use math_module
print *, add(3, 4)
end program main
Writing to a File:
open(unit=10, file='data.txt', status='replace')
write(10, *) 'Fortran File Handling'
close(10)
Reading from a File:
character(len=50) :: line
open(unit=10, file='data.txt', status='old')
read(10, '(A)') line
print *, line
close(10)
Example:
integer :: io_status
open(unit=10, file='data.txt', status='old', iostat=io_status)
if (io_status /= 0) then
print *, 'Error opening file'
else
print *, 'File opened successfully'
end if
close(10)
Fortran has stood the test of time as a powerful programming language for scientific and engineering computations. Its focus on numerical precision, array handling, and performance optimization makes it a staple in high-performance computing. Whether you’re modeling complex simulations or working with large datasets, Fortran provides the tools necessary for success in computational programming.