「条件分岐と繰り返しのあれそれ」

能書き

条件分岐と繰り返しは基本的なことさえ押さえれば、あとは知恵と工夫でプログラミングは出来ます。
が、見た目のすっきりした賢そうなプログラムを書けるなら、それに越したことはありません。
多用を勧めるものではありませんが、テクニックを知っておくと良いでしょう。
条件分岐のあれそれ

省略if文

 if (条件式)  命令
if文で行う命令が1つだけの場合、then, end ifを省略することが出来る。
if文が連続して出てくる細かい処理などは、省略すると見た目がすっきりする。

select case文

 select case(変数)
    case(値1)
       {処理1}
    [case(値2)
       {処理2}]
    [...]
    [case default
       {処理 default}]
 end select
『変数』の値が各caseに等しい場合、その処理が実行される。
該当が無い場合、defaultの処理が実行される。
Fortranとしては変則的な文法だが、if文を使うより簡潔に書ける。文字列もしくは整数変数によるスイッチングに使うと便利。
do文のあれそれ

無限ループ

do文の繰り返し条件を省略すると、無限ループになる。
 do
    {処理}
 end do
当然終わらないので、
 if(終了条件)  exit
で明示的に終わらせる必要がある。
do while文で表しにくい複雑なループに使う。

ループ構造名

do文に名前を付けることが出来る。
 ループ構造の名前: do [繰り返し条件]
    {処理}
 end do ループ構造の名前
ただ名前が付いて嬉しいだけではなく、
 exit ループ構造の名前
 cycle ループ構造の名前
を使うことによって多重ループの柔軟な動作制御が可能になる。
最初はdoの前でコロン付き、最後はdoの後でコロン無し。ややこしい。

使用例

多重ループからの脱出
 loop1: do
    {処理}
    loop2: do
       {処理}
       do
          {処理}
          if(条件1) exit loop1
          if(条件2) cycle loop2
       end do
    end do loop2
 end do loop1
名前を付けない場合、exit, cycleは最内ループのみが対象となるため、多重ループを抜けるには各段階にexit文を入れる必要があります。