ループ文と分岐

最初に断っておきます。

IDLにはC言語と同じように数種類のループと分岐の構文がある。

しかし、私の経験上5つあれば、大概の処理は大丈夫。

なので以下の5つしかここでは説明しません。あしからず。

For文,  Repeat文, If文,  Else文, Goto文

 

■Forによるループ文■

これは、基本中の基本です。でもわたくしはあんまりつかわない。

意味は、i = 0 から始まり、i に1ずつ足していき100になるまでForループ文以下の処理を繰り返えしを意味する。

処理命令のはじめにdo beginを書き、終わりには必ずEndforと書く。カウント値は別に i である必要はなし。

//////////////////

For i = 0 , 100 do begin  i が int型だと32767までしかカウントされない。

・・・処理命令・・・

Endfor

/////////////////

 

■Repeatによるループ文■

もっとも使いやすく、意味がわかりやすいループ文。

特徴は、いつになったらループが終了するのかの条件を構文に書くところにある。

処理命令のはじめにRepeat beginと書き、終わりには必ずEndrep Until (終了の条件)を書く。

終了の条件とは、例えばEndrep Until ( i EQ 100 or n GT 200などと書く。

//////////////////

Repeat begin

・・・処理命令・・・

Endrep Until ( 終了の条件式)

//////////////////

 

■If 文、Else 文による分岐■

もし・・・ならば・・・である、を実行する分岐構文。Else文を付け加えることにより、もし・・・ならば・・・であり・・・でなければ・・・である、という意味になる。

基本的な意味合いはC言語と同じである。

//////////////////

If ( 条件式 ) then begin

・・・処理命令・・・

Endif

//////////////////

 

Else文を交えたIf文は以下のようになる。

//////////////////

If ( 条件式 ) then begin

・・・処理命令・・・

Endif Else begin

・・・処理命令・・・

Endelse

//////////////////

これらも、命令の終わりには忘れず、EndifEndelseを書く。

 

■Goto文による分岐■

これはどうしても、うまく分岐のつじつまが合わない場合に使われる分岐文である。つまり、条件が合えば、目的のプログラム行へ強制的に移動させる。

あんまり使わないけど、使ったら心のもやもやが簡単に晴れる時もある。多様はされるなかれ。

Gotoのあと****の所には、好きな変数を書く。処理がGotoのところまできたら、****:と書かれたところに処理が移行する。

//////////////////

Goto, ****

****: ・・・処理命令・・・

//////////////////

 

以上。上の5つを覚えたらもう十分。