よく使う処理 :
桁分離|
ポインタ|
ソート|
探索
探索
いくつかの数値データから最大値や最小値、ある範囲内にある値、任意の値などを探し出す処理。
基本的には、繰り返し処理の中に条件分岐を置くことで探索できます。
例:1,4,3,5,7,6,2,8という8つの数値の中から3で割り切れる数を探索
探索と言っても目的によって探索条件が異なりますが、例えば、3で割り切れる数=3の倍数を探したいという場合を考えてみます。この場合の探索条件は「3で割った余りが0」です。この例は簡単なのでtk2000での実際の表示にコメント(文頭に//を入れた部分)を添えた形式で示します。
-------------------------------------------------------------------------------------------------
◆注釈:
:・V[0001]〜V[0008]に、予めデータ1,4,3,5,7,6,2,8がこの順に入っている
:・V[0009] は、判定用数値データを格納する変数
:・V[0010] は、出力先の変数の番号を格納する変数
◆注釈:・V[0011]〜V[0018]は、見つかった「3で割り切れる数」を格納する変数
:・V[0019] は、繰り返し処理を制御する変数(カウンタ)
: 兼 データ格納変数の番号
:とする
◆注釈:
◆変数の操作:[0010]代入, 11 // 出力先先頭変数の番号を代入
◆変数の操作:[0019]代入, 1 // 繰り返し制御用変数に1を代入(初期化)
◆繰り返し処理
◆変数の操作:V[0009]代入, 変数[V[0019]]の値 // 変数19番に入っている値を番号とする変数の
// 値を変数9番に代入
◆変数の操作:V[0009]剰余, 3 // その値を3で割った余りを求める
◆条件分岐:変数[0009]が0
◆変数の操作:[V[0010]]代入, 変数[V[0019]]の値 // 変数10番に入っている値を番号とする変数に
// 変数19番に入っている値を番号とする変数の
// 値を代入する(出力)
◆変数の操作:[0010]加算, 1 // 出力先変数の番号を1増やす
:分岐終了
◆変数の操作:[0019]加算, 1 // 次のデータを判定するためにカウンタに1加算
◆条件分岐:変数[0019]が9 // カウンタに1加算して9になったということは
◆繰り返し処理の中断 // 既に最後のデータ(8つ目)も判定し終わった
◆ // ということなので繰り返し処理終了
:分岐終了
:以上繰り返し
-------------------------------------------------------------------------------------------------
このような具合です。「
ポインタ」を使っている点がみそです。これを使わないと、繰り返し処理の中でカウンタが1の場合、2の場合、3の場合、…、8の場合のそれぞれを条件分岐で記述しなければならなくなり、処理の記述が非常に長くなります。というわけで、この例では「ポインタ」の効用も示しています。
ホーム →
tkool2 →
よく使う処理:探索