UWSCという開発ソフトを使って作り上げる作業を実際にやってみるカテゴリ。準備した自作関数や使い方、トラブルを記事にしていきます。得るものがあれば幸いです。
今回は、配列変数の最大要素を返す関数です。
今回は、配列変数の最大要素を返す関数です。
記事の内容
○配列の最大要素を返す関数
○配列の最大要素を返す関数
戻値(int)=ubound(ARRY)
昔使った開発環境にあった関数で便利なものを移植。
配列変数A[0]、A[1]、A[2]、A[3]、A[4]、A[5]
とあった場合、その最大要素5を返す関数です。
配列の最大要素番号を返すubound関数
1 2 3 | FUNCTION ubound(d[]) RESULT=LENGTH(d)–1 FEND |
1,3行目 | 1 3 | FUNCTION ubound(d[]) FEND |
ubound(d[])関数宣言:配列の最大要素番号を返す関数。 | ||
2行目 | 2 | RESULT=LENGTH(d)–1 |
通常は当たり前のようにメインプログラム中に、 for i=0 to LENGTH(A)-1 next と書きますが、「あれ?この言語って1引くんだったっけ?」と分からなくなって調べるのが面倒なので関数にしておくと便利です。(この例で対応しているのは1次元配列だけです。) |
呼び出し側からは、例えば、
1 2 3 4 5 | FOR i=0 TO ubound(A) IF A[i]=““ //ここに色んな命令を書く ENDIF NEXT |
1,5行目 | 1 5 | FOR i=0 TO ubound(A) NEXT |
配列Aの全要素番号をスキャンするループ。 for 変数=数1 to 数2 step 数3 next 変数を数1から数3づつ大きくしていって数2までnext文との間をループする命令です。これは大抵の開発環境にあるループ命令です。数3を少数にしてループしていった結果ピッタリ数2にならない場合は…やってみてください。 | ||
2,4行目 | 2 4 | IF A[i]=““ ENDIF |
配列Aのうち空白であるものを選び出す条件。 |
などとして、配列変数の中を順番に調べて判断したりするのに使います。
記事の内容は伝わりましたでしょうか。
○配列の最大要素を返す関数
○配列の最大要素を返す関数
戻値(int)=ubound(ARRY)
コメント