条件文・ループ文

if文

 if a eq 5 then begin
 (処理)
 endif else begin
 (処理)
 endelse
a=5の時と、そうでない時の処理。

a=5の時だけで良いなら
 if a eq 5 then begin
 (処理)
 endif
とする

a=5かつb=5の時なら
 if a eq 5 and b eq 5 then begin
 (処理)
 endif
とする
andの他にorなども。

if文(1行)

 if a eq 5 then (処理)

複雑な条件

()を使えば下のような複雑な条件も指定できる
if ((a eq1)xor(b eq 1)) and (c eq 1) 以下略
普段から()を使った方が良い?

goto文

ある行にラベルを作り、そのラベルへ飛ぶ
便利だが、多用は禁物。
ifやloopが使えるならそちらで済ませた方が安全。
a=1
if a eq 1 then goto, alpha
print,'miss'
alpha: ;ここがラベル
この場合、printは実行されずに飛ばされる。

case文

case A of
   0: print, 'yes'
   1: print, 'no'
   else : begin
              print,'error'
            end
endcase
Aが0の場合は 'yes',1のときは 'No' を表示する.その他の場合は 'error' を表示する.

case 1 of
  (a gt 10) : print,'yes'
  (a lt 10) : print,'No'
  else : print,'error'
endcase
この例の場合,a > 10のときに 'yes' を表示し,a <10 のときは 'No' を表示する.それ意外の場合は 'error' を表示する。

repeat文

repeat begin
処理
endrep until(終了条件)
for文でループ回数が多すぎるとか言われたときでも使える。for文などにも言えるが,ループ回数を多くすると膨大な時間がかかるので.できる限りベクトル計算させる必要がある。

for文

 for a=0,9 do begin
 (処理)
 endfor
a=0からa=9で繰り返し処理

for文(1行)

 for a=0,9 do (処理)

while loop


break文

for, while, repeat, caseから抜けられる。使用例は以下。
i=0  
repeat begin
  k=i*50+10
  if (k gt 1000) then break
  i=i+1
endrep until (i eq 100)
最終更新:2012年04月29日 16:07
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。