2017年2月14日火曜日

[UWSC]配列の最大要素を返す関数 [自作関数]

初心者のプログラミング導入のため、簡単な自作関数を作って公開しているブログ。今回は、配列変数の最大要素を返す関数です。

記事の内容

○配列の最大要素を返す関数
戻値(int)=ubound(ARRY)

昔使った開発環境にあった関数で便利なものを移植その2。
配列変数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)


関数群のダウンロードはこちら
func_poku.uwsのコメント欄に呼び出し方が書いてあります。

【関連記事】  [UWSC]日付時刻を文字列で返す関数
[UWSC]よく使う記号をグローバル宣言
[UWSC]タイムアウト関数
[UWSC]文字列操作あれこれ2


スポンサーリンク



blogramのブログランキング

目次
コンピュータ(ハード/ソフト) 映画・ドラマ・芸能 変人のつぶやきとトラブル
ホームへ戻る ページ上部へ


0 件のコメント:

コメントを投稿