FUNCTION RANK01(a(),N,m) !順位 ※ 数 m の大きさの順位を求める LET s=N ! 現時点で暫定 N 位 FOR i=1 TO N IF a(i)m THEN LET s=s+1 ! 小さければ順位を下げる NEXT i LET RANK02=s END FUNCTION FUNCTION RND100(q) ! 1〜100の整数をランダムに出す。重複あり。 LET X=INT(RND*100)+1 LET RND100=X END FUNCTION SUB sort(a(),N) !昇順に並べ替える FOR i=1 TO N-1 FOR j=i+1 TO N IF a(i)>a(j) THEN swap a(i),a(j) NEXT j NEXT i END SUB RANDOMIZE PRINT PRINT " "; DIM T(20),R(20) FOR i=1 TO 20 LET T(i)=RND100(i) NEXT i LET G=T(1) LET T(13)=T(1) FOR i=1 TO 20 PRINT T(i); NEXT i MAT R=T PRINT PRINT PRINT "並び替えると" PRINT PRINT " "; CALL sort(T,20) FOR i=1 TO 20 PRINT T(i); NEXT i PRINT PRINT PRINT PRINT "最初に選ばれた数";G;"は";21-RANK01(R,20,R(1));"番目に小さな数です。" PRINT PRINT "最初に選ばれた数";G;"は";RANK02(R,20,R(1));"番目に大きな数です。" PRINT END