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