small

配列の中で小さい方から数えた順位の値を求めます。

構文
small( array, rank )
引数
array
配列
rank
抽出する値の小さい方から数えた順位
戻値

プログラム

//////////////////////////////////////////////////
// 【引数】
//   array : 配列 
//   rank : 抽出する値の小さい方から数えた順位 
// 【戻値】
//   
//////////////////////////////////////////////////
FUNCTION small(array[], rank)
	IFB rank >= 1 AND rank <= LENGTH(array) THEN
		QSORT(array, QSRT_NATURALA)
		RESULT = array[rank-1]
	ELSE
		RESULT = ERR_VALUE
	ENDIF
FEND

解説

  1. 2,5,7行目
    	IFB rank >= 1 AND rank <= LENGTH(array) THEN
    		…
    	ELSE
    		…
    	ENDIF
    もし rank が配列の要素数内にあれば3行目>>>、そうでなければ6行目>>>
  2. 3-4行目
    		QSORT(array, QSRT_NATURALA)
    		RESULT = array[rank-1]
    array を昇順で並び替え、指定された順位の要素を返す。
  3. 6行目
    		RESULT = ERR_VALUE
    エラー値を返す。