FORTRAN プログラミング入門②:書き方のルール 

English

Fortranが高級言語として一番歴史が長い言語です。そのため、年代により変化し、同じことを記述するのに古い書式と新しい書式の2種類の書式が使われています。人間の言語と同じく“昔はこう言う方がありましたが、それは今はもう使わない”のと同じです。Fortranは昔書かれたソースはもちろん新しいコンパイラにも対応していますが、これから新しくソースを書くには新しい書式での記述をお勧めします。

2種類の書式

Fortranの書式には、固定形式(古い形式)と自由形式(新しい形式)の2種類の書式があります。個人的には、書式のルールは両方のルールを覚える必要があると思います。自由形式だけのルールを覚えるのは良いのですが、現在でも多く存在する古いソースを読まなければならない機会があったり、メンテナンスをする必要がある場合のためにも固定形式のルールも覚えておくと良いと思います。はじめは自由形式の書き方を説明します。最後に、参考として、固定形式のルールも説明します。

自由形式

  • 大文字小文字の区別はありません。ProgramもprogramもPROGRAMも全て同じに扱われます。
  • 1行は最大132文字までです。
  • どのカラム(桁)から始めても問題はありません。
  • コメントは「!」を用います。「!」の後から行末までがコメントとなります。
  • 複数行にまたがる場合、行末に「&」を配置して、継続行の先頭にも「&」を記述します。
  • 1行に複数文を書くには、セミコロン「;」を使用し、文と文の間に記述します。

自由形式の例1

    ! どのカラムから書き始めても問題ありません
         program main
      implicit none
            integer      i    ,    j,   k
      print      *, i,j,k
                                end program main

自由形式の例2

! この行はコメントです
      result = 100 / c    !ここ以降もコメントです

自由形式の例3

   ! 一行に入りきらない場合は & を行末に配置して次の行へ継続することが可能です
      a = c + 100 &
      &+ 20

 

自由形式の例4

    ! 以下はセミコロンで文を区切る例です
      a = a + 1; b = 5

固定形式

punch_card

パンチカード例

Fortranは元々パンチカードに書くことを前提としていたため、1行は80文字で構成されていました。桁位置は行の左端からの文字配置に依存しています。これが固定形式と言う形式です。下記は固定形式の主なルールです。

 

  • 1行は最大72文字までで、1行には1文しか記述できません。
  • 1桁から5桁目までは文番号を書きます。1桁目にCを書くとその行はコメント行となります。
  • 6桁目は継続行であるときは、ここに任意の文字(空白又は0は除く)を記述します。
  • 7桁から72桁目まで本文を記述します。
  • 73桁から80桁目までは、行識別をするためのシーケンシャル番号を記述します。シーケンシャル番号は本文には影響はありません。
  • 自由形式と同様に、大文字小文字の区別がありません。ProgramもprogramもPROGRAMも全て同じに扱われます。
  • プログラムの最後には必ず「END」を入力します。また「END」入力後、「リターン」入力して、改行しておきます。

固定形式の例

      PROGRAM MAIN
C  この行はコメント (1桁目にCを書くとその行はコメント行となります)
C  型宣言
      REAL A,B
      A=1, B =2
C 1桁から5桁目までは文番号を書きます
  100 CONTINUE
C  下記は2行にわたって記述する例(継続行の例)
C  自由形式と同様に、大文字小文字の区別がありません
      A = a +
     &B/2
C  プログラムの最後には必ず「END」を入力します
      END

参考文献

FORTRAN言語の仕様

http://www.edu.cc.uec.ac.jp/mce/c1-3m/fortran/basic/syosiki.htm

http://www.eq.db.shibaura-it.ac.jp/fortran/smpl.f

http://www.nag-j.co.jp/fortran/index.html

One thought on “FORTRAN プログラミング入門②:書き方のルール 

Leave a comment