- 72 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 04:37:49 ]
- 行数、見易さ、変更のしやすさ、処理性能に気をつける。
そのためにアルゴリズムの本も読む。 例えば、3変数x,y,zの最小値を見つける例。 ただし、わざとmin関数は使わない、という条件付。 実装1:素朴な方法 f(x,y,z) if(x<=y)and(x<=z)then return x elsif(y<=x)and(y<=z)then return y else return z end 実装2:再帰を使う f(x,y,z) if(x<=y)and(x<=z)then return x else retrun f(y,z,x) <---ここがポイント end 実装3:if分岐先が比較結果フラグ値で決まっていることを利用 f(x,y,z) retrun (x<=y)*(x<=z)*x + (y<=x)*(y<=z)*y + (z<=x)*(z<=y)*z (ただし、真=1、偽=0の場合)
|

|