擬似言語トレースドリル
基本情報技術者試験・科目Bの擬似言語を、1行ずつ追って解く練習サイト
科目Bは、プログラムを頭の中で1行ずつ動かす「トレース」が正確にできるかどうかで点が決まります。このサイトでは、同じアルゴリズムを値を変えて何度も追い、全ステップのトレース表で答え合わせができます。
アルゴリズムから選ぶ
入門
- 各桁の和(後判定の繰返し)do〜while と「の商」「の余り」。数を1桁ずつ取り出す定番の処理です。30問+解説
- 最大値の位置最大値そのものではなく「位置」を覚える形。要素番号と値の区別が身につきます。30問+解説
- 最大公約数(互除法)while と mod。3つの変数が1回ごとに入れ替わるので、トレース表の練習に向いています。30問+解説
- 条件に合う要素の合計for と if の組合せ。条件に合う要素だけを足す、いちばん基本の形です。30問+解説
- 累積和1つ前の結果を使って合計を積み上げる処理。配列を書き換えながら進む点に注意します。30問+解説
- 線形探索先頭から順に探す、いちばん単純な探索。and でつないだ条件の読み方が身につきます。30問+解説
基礎
- 二分探索探す範囲を半分ずつ狭める探索。low・high・middle の3変数を正確に追います。30問+解説
- 二次元配列の行ごとの合計二重の繰返しで二次元配列を行ごとに集計。行と列のどちらが先に進むかを追います。30問+解説
- 値ごとの個数を数える値をそのまま要素番号に使って個数を数える処理。配列の入れ子の読み方に慣れます。30問+解説
- 再帰呼出しの戻り値自分自身を呼び出す関数。呼出しの「行き」と「帰り」を分けて追う練習です。30問+解説
- 同じ文字が続く最長の長さ文字の配列を1つ前と比べながら進む処理。「今の長さ」と「最長」の2つを追います。30問+解説
- 配列の並びを逆にする交換(スワップ)と「÷ 2 の商」。繰返しの回数を正しく数える練習になります。30問+解説
- 隣どうしの比較と交換(1巡)隣どうしの比較と交換を1巡。整列アルゴリズムの最初の一歩です。30問+解説
中級
擬似言語の読み方ガイド
- トレース表の書き方 — 変数の変化を表にして追う方法。列の選び方と、速く正確に書くための決まりごと。
- for・while・do〜while の違い — 3つの繰返しの書き方と、条件を調べるタイミングの違い。回数の数え方も。
- 配列と要素番号 — 要素番号が1から始まるか0から始まるかの確かめ方と、要素数・二次元配列の書き方。
- 「÷」「の商」「の余り」「mod」の読み方 — 擬似言語の割り算の読み方。整数の商なのか実数なのかを、書き方から見分けます。
このサイトの問題について
- 値を変えた類題を、アルゴリズムごとに30問用意しています。
- 答え・誤答の選択肢・解説は、すべてプログラムを実際に動かした結果から作っています。
- 書き方は、IPAが公開している「擬似言語の記述形式」に合わせています。