Page 1 of 1

## FORTRAN : The Fibonacci Sequence

### #1 Martyn.Rae

• The programming dinosaur

Reputation: 547
• Posts: 1,420
• Joined: 22-August 09

Posted 02 May 2011 - 11:38 AM

FORTRAN : The Fibonacci Sequence

Introduction

This tutorial introduces you to the ancient world of FORTRAN (only joking ... FORTRAN is alive and well as testified by the FORTRAN 2008). This is not a particularly useful language for developing Windows applications, but has a firm footing in the world of mathematics from whence it originated back in 1954.

The skeleton for a FORTRAN program consists of just three lines, so it is quite compact.

```        PROGRAM    name
IMPLICIT   NONE
END PROGRAM name

```

Basic Data Types

FORTRAN supports integers, reals, logical and character data types. Examples of this would be:

```        INTEGER         :: Counter
REAL            :: Value
LOGICAL         :: Boolean
CHARACTER       :: A, B
CHARACTER*20    :: String

```

In the Fibonacci example below, there are four integers defined, FIRST, SECOND, TEMP and IX.

The DO Loop

The DO loop is equivalent to the for loop in C/C++. it's format is DO index = initial, maximum, step ... END DO. So, in the example below, we have DO IX = 1, 45, 1 which states execute the statements between the DO and END DO setting IX to an initial value of 1, ending the loop when IX reaches 45, and increment IX by one for every loop iteration.

Output To The Display

In the example below, lines 6, 7 and 12 output values to the console display. The format is WRITE (*,*) followed by one or more data fields to write.

The Code

This code has been compiled and tested using the gfortran front-end to the gcc compiler under Linux.

```        PROGRAM    Fibonacci
IMPLICIT   NONE
INTEGER :: FIRST, SECOND, TEMP, IX
FIRST = 0
SECOND = 1
WRITE (*,*) FIRST
WRITE (*,*) SECOND
DO IX = 1, 45, 1
TEMP = FIRST + SECOND
FIRST = SECOND
SECOND = TEMP
WRITE (*,*) TEMP
END DO
END PROGRAM Fibonacci

```

Is This A Good Question/Topic? 0

Page 1 of 1

 .related ul { list-style-type: circle; font-size: 12px; font-weight: bold; } .related li { margin-bottom: 5px; background-position: left 7px !important; margin-left: -35px; } .related h2 { font-size: 18px; font-weight: bold; } .related a { color: blue; }