MIKIさんのプログラムを動かせたら、どんな処理をしているか1行ずつ解析していくといろいろ勉強になったりします。 ・def f で定義された関数(ユーザ定義命令)は 素早さ配列を引数に渡すと、素早さ配列の何番目が早いかの配列を返してくれる。 ・def f の中の var で宣言された index と、 def f の外で var で宣言された index は別の変数で宣言される(最後に代入されて同じ内容になるけど) ・rsort tmp, index は、tmpの並び替え結果で index も同じ並び替えをしてくれる このへんを意識しておけば、動きはみえてくるかも。 解析して分かったことをプログラムにコメントで書いたり、紙に書いたり、この変数にこの値が入ってるとすると結果はこう動くはず、って感じで考えると理解しやすくなるかもです。