基本テクニック



テクニックその1
制限時間は35分

アルゴリズム問題に使える時間は35分が限度。
通常のトレース方法では時間が足りなくなってしまいますので、簡略化した方法を使います。

テクニックその2
トレースとは「表を作る」ということ
トレースは本来プログラムの動きをシミュレートすること全般を意味するのですが、 試験中は問題とメモ用紙しかないので、基本的には「表」を作ることで対処します。

テクニックその3
「引数」と「大域変数」を用意する。
プログラムに必要な「引数」はプログラムの冒頭に「○○型:プログラム名( , , )」という書式で宣言されていますので用意します。
大域変数は説明文に説明があります。
プログラムによっては「引数」を使わないものもありますし、「大域変数」を使わないものもありますし、両方を必要とするものもあります。

テクニックその4
「設問」の数値を使う
プログラムの「説明文」にも引数が使われているときもありますが、トレースに使う引数は必ず「設問」にある数値を使います。 二度手間をしている時間的余裕は一切ありません。


テクニックその5
「引数」が用意されてない問題もある
問題文に引数がないときは自分で作ります。適切な引数を用意させることで回答に導く出題形式の問題もあります。

テクニックその6
表に書くのは数値が書き換わったときだけ
プログラムによっては、繰り返しによって数百行実行されることもあり、 すべての処理を表に書き加えていては、一枚の紙に収まりきらないようなケースもでてきます。
プログラムのうち「数値を参照」してるだけの処理は頭の中で行い、「数値の書き換え」が行われたときのみ表に書き込みます。

テクニックその7
「i」と「j」
「i」「j」のように一文字の関数は、処理専用の数値を格納するために用意された関数です。
「i」「j」を1づつ足したり引いたりすることによって繰り返し処理を行います。
トレースによって作る表はこのような一文字の関数を軸にして作っていきます。

テクニックその8
「x」と「y」
関数名に「x」「y」を使っているとき、出題者は座標を意識して問題を作成しています。
表を作るとき通常は上から下に書いていくと思いますが、この場合「y」軸を上に伸ばすことも場合によっては考えておきます。

テクニックその9
「c」と「cnt」
変数名が「c」や「cnt」だったら、それは count の略で、何かの数をかぞえています。
何を数えているのか、何に利用するためなのかを考えると、処理の内容が見えてきます。

テクニックその10
「n」と「num」
変数名が「n」や「num」だったら、それは number の略で、何かの個数(特に最大個数を表すことが多い)です。
さらに、項目がふたつある場合は「m」と「n」を使います。

テクニックその11
「p」と「ptr」
変数名が「p」だったらポインターのことかも知れません。
ある配列の順番や順位を表しています。

テクニックその12

配列を使った関数
配列を表にするとき、数値を参照しやすいように「表1」のように表記したほうがよい場合もありますが、時間を短縮するために「表2」のように簡単に表記することもできます。

表1
x[1] x[2] x[3] x[4] x[5]
h e l l o


表2
x[1 2 3 4 5]
h e l l o

基本的なやり方がわかったら実際に過去問をトレースしてみて応用テクニックを身につけましょう。

ホームに戻るボタン↓