基本情報技術者試験の科目Bで時間が足りない人へ|擬似言語問題を速く読むコツ

公開日: 2026-06-23

基本情報技術者試験の科目Bで、問題を読んでいるうちに時間がなくなる。そんな悩みはかなり多いです。

特に擬似言語の問題は、最初から最後まで丁寧に読もうとすると、すぐに5分、10分と過ぎてしまいます。焦って選択肢を見ると、どれもそれっぽく見えるのもつらいところです。

ただ、時間が足りない原因は、単に読むのが遅いからではありません。多くの場合、読む場所の優先順位が決まっていないことが原因です。

この記事では、IT初心者でも実践しやすいように、科目Bの擬似言語問題を速く読むコツを解説します。文法そのものの説明ではなく、本番で時間を節約するための読み方に絞って進めます。

科目Bで時間が足りなくなるのは自然なこと

IPAの公式ページによると、基本情報技術者試験の科目Bは試験時間100分、出題数20問の多肢選択式です。単純に割ると、1問あたり5分です。

5分と聞くと、意外と余裕がありそうに感じるかもしれません。けれども、擬似言語問題では問題文、処理の説明、プログラム、選択肢をすべて確認する必要があります。

つまり、5分の中に読解、トレース、判断、見直しを入れなければなりません。初心者にとっては、かなり忙しい試験です。

さらに科目Bは、アルゴリズムとプログラミングの問題が中心です。問題によっては、変数の値を追いかけたり、配列の中身を確認したりする必要があります。

ここで大切なのは、全部を完璧に読もうとしないことです。合格を目指すなら、まずは解ける問題を確実に取り、時間を使いすぎる問題から早めに離れる判断も必要になります。

【関連記事】基本情報技術者試験の科目B難易度と合格率を徹底解説|100分の試験を攻略するために

時間が足りない人によくある読み方

では、どんな読み方をすると時間が足りなくなるのでしょうか?これは私が初心者の方に説明するとき、かなりよく見るパターンです。

以下の表に、ありがちな読み方と改善の方向をまとめました。

時間が足りない読み方 起きやすいこと 改善の方向
問題文を最初から全部暗記しようとする 重要でない説明に時間を使う 目的、入力、出力を先に見る
すべての変数を同じ重さで追う メモが増えて混乱する 答えに関係する変数を絞る
ループの中を毎回丁寧に読む 処理回数が多い問題で詰まる 変化する値だけを追う
選択肢を最後まで見ない 何を求める問題か見失う 早い段階で選択肢の型を見る
わからない問題に粘りすぎる 後半の解ける問題を落とす いったん印を付けて次へ進む

この表を見ると、時間不足は知識不足だけではないことがわかります。読み方の型がないまま問題に入ると、毎回ゼロから考えることになります。

本番では、ゼロから悩む時間が一番もったいないです。先に自分なりの読み方を決めておくだけで、かなり楽になります。

擬似言語問題を速く読む基本方針

擬似言語問題を速く読むためには、読む順番を変えるのが効果的です。上から順番に読むのではなく、必要な情報から拾います。

初心者のうちは、コードを見るとすぐに細かい処理を追いたくなります。けれども、最初にやるべきことは細部の理解ではありません。

まず何をするプログラムかをつかむ

最初に見るべきなのは、このプログラムが何をしたいのかです。合計を求めるのか、最大値を探すのか、条件に合う件数を数えるのかで、読むポイントは変わります。

たとえば、件数を数える問題なら、注目するのはカウント用の変数です。最大値を求める問題なら、最大値候補が更新される条件を見ます。

このように、目的がわかると追うべき変数が減ります。全部の行を同じ熱量で読まないことが、速く読む第一歩です。

入力と出力を先に確認する

次に、入力と出力を確認します。入力は問題で与えられるデータ、出力は最終的に答える値です。

擬似言語問題では、途中の処理が難しく見えても、最終的に聞かれていることはシンプルな場合があります。最後に返す値、表示する値、空欄に入る式を先に見ると、問題のゴールがはっきりします。

ゴールがわからないままコードを読むのは、地図を見ずに駅の中を歩くようなものです。迷いやすいですよね。

変数を主役と脇役に分ける

擬似言語では、いくつかの変数が出てきます。ですが、すべてが答えに直結するわけではありません。

主役になるのは、戻り値、表示される値、空欄の前後で使われる値です。脇役になるのは、ループ用の添字や一時的な作業変数です。

もちろん脇役も必要です。けれども、同じ重さで追うとメモが増えすぎます。

私がエンジニアとしてコードを読むときも、最初から全変数を追うことはほとんどありません。まず主役の変数を見つけて、その値がどの条件で変わるかを追います。

擬似言語そのものに苦手意識がある方は、以下の記事もご覧ください。 【関連記事】擬似言語が全くわからない!? IT初心者でも読めるようになる考え方と勉強法

サンプルで見る速い読み方

ここからは、簡単なサンプルで読み方を確認しましょう。文法を覚えることが目的ではなく、どこを見ると速く読めるかをつかむための例です。

次のプログラムは、配列の中から基準点以上の点数を数える処理です。

関数 countPass(scores, border)
    count ← 0

    i を 1 から scores の要素数 まで 1 ずつ増やす
        もし scores[i] >= border なら
            count ← count + 1
        終わり
    終わり

    count を返す

このコードを最初から丁寧に読もうとすると、ループや条件分岐に意識が向きます。もちろんそれも大切ですが、まず見るべき場所は別です。

このプログラムのゴールは、countを返すことです。つまり、速く読むならcountがいつ増えるかに注目します。

条件はscores[i] >= borderです。ここまでわかれば、各点数が基準点以上かどうかを確認するだけになります。

たとえば、scores = [72, 55, 80, 49, 60]border = 60だとします。このとき、全行を追わなくても次のように整理できます。

i scores[i] border以上か count
1 72 はい 1
2 55 いいえ 1
3 80 はい 2
4 49 いいえ 2
5 60 はい 3

答えは3です。ここで大事なのは、iそのものよりも、countが増えるタイミングを見ていることです。

初心者のうちは、iの値、配列の位置、条件、countの値をすべて同じ強さで追おうとして疲れます。慣れてきたら、答えに関係する値だけを太く追うイメージを持つとよいです。

ループは全部読むより変化を見る

科目Bで時間を奪う大きな原因がループです。ループが出てきた瞬間に苦手意識が出る人も多いと思います。

でも、ループは怖いものではありません。見るべきなのは、同じ処理が何回も書かれていることではなく、1回ごとに何が変わるかです。

ループで見るポイントは3つ

ループを読むときは、まず変化する値を探します。多くの場合、添字、合計、カウント、最大値、フラグのどれかです。

次に、更新される条件を確認します。毎回更新されるのか、条件を満たしたときだけ更新されるのかで、トレース量が変わります。

最後に、ループ終了後に使われる値を見ます。終了後に使われない値を細かく追っても、答えにはつながりにくいです。

この3つだけでも、読む量はかなり減ります。問題の全体を理解する前に、まず値の変化に目を向けてみてください。

二重ループは内側から見ない

二重ループが出ると、急に難しく感じます。外側のループと内側のループがあり、処理回数も増えるからです。

ここでやりがちな失敗は、いきなり内側の処理を細かく追うことです。まずは外側のループが何を1単位としているかを見ます。

たとえば、外側が人、内側が科目なら、1人分の点数を集計しているのかもしれません。外側が行、内側が列なら、表や二次元配列を見ている可能性があります。

二重ループは、処理のまとまりを言葉に置き換えると読みやすくなります。コードをそのまま追うより、1周で何をしているかを短くメモするのがおすすめです。

選択肢は早めに見る

意外と効果が大きいのが、選択肢を早めに見ることです。もちろん、選択肢だけで答えを決めるのは危険です。

ただし、選択肢を見ると、問題が何を問っているかがわかります。数値を求めるのか、条件式を選ぶのか、処理の説明を選ぶのかで読み方が変わります。

空欄補充問題なら、空欄の前後を先に確認します。選択肢が条件式なら、比較している変数と演算子に注目します。

出力結果を問う問題なら、最終的に表示される値を追えばよいです。途中のすべての値を完璧に覚える必要はありません。

空欄補充が苦手な方は、以下の記事もご覧ください。 【関連記事】基本情報技術者試験の科目Bの空欄補充問題の解き方を解説|擬似言語で見る判断ポイント

本番での時間配分の考え方

科目Bは1問5分が目安ですが、すべての問題に5分ずつ使う必要はありません。むしろ、均等に使おうとすると難問で崩れます。

おすすめは、最初の1周で解ける問題を拾うことです。読んで方針が立つ問題は進め、方針が立たない問題は印を付けて後回しにします。

目安としては、2分読んでも何を追えばよいかわからない問題は危険です。そのまま粘ると、他の問題の時間を奪います。

もちろん、あと少しで解けそうな問題なら続けてもよいです。大切なのは、粘るか飛ばすかを感覚だけで決めないことです。

次のように、時間の役割を分けて考えると落ち着きます。

時間帯 やること 意識すること
最初の30分 解きやすい問題を拾う 完璧主義にならない
次の50分 標準的な問題を丁寧に解く 主役の変数を追う
最後の20分 印を付けた問題と見直し 空欄、条件、出力を確認

この配分はあくまで目安です。自分の得意不得意に合わせて調整してください。

情報セキュリティ問題が得意なら、そこで時間を短縮できる可能性があります。逆にアルゴリズム問題が得意なら、前半で得点を固めやすくなります。

速読のコツ

私はエンジニアとして10年以上、仕事で多くのコードを読んできました。その経験から言えるのは、コードを速く読む人ほど、最初から全部を読んでいないということです。

実務でも、いきなり細部には入りません。まず、この処理は何のためにあるのか、どのデータが入って、どの値が出ていくのかを見ます。

その後で、値が変わる場所を確認します。バグ調査でも、新しい機能の理解でも、この順番はほとんど変わりません。

科目Bの擬似言語も同じです。試験問題だから特別な読み方が必要に見えますが、基本は実務のコードリーディングに近いです。

初心者の方ほど、1行ずつ正確に訳そうとします。真面目な人ほど、この読み方をしがちです。

でも、本番で必要なのは翻訳ではなく判断です。この行は答えに関係するのか、この条件で値が変わるのかを見極める力が大切です。

練習では時間を測るより読み方を固定する

時間が足りないと感じると、すぐにタイマーを使って速く解く練習をしたくなります。もちろん時間を測る練習は必要です。

ただ、読み方が決まっていない状態で時間だけ測っても、焦る練習になりやすいです。まずはゆっくりでよいので、読む順番を固定しましょう。

おすすめの順番は、問題の目的、入力と出力、主役の変数、変数が変わる条件、選択肢の順です。この型で何問か解くと、問題を見たときの迷いが減ります。

慣れてきたら、1問ごとに使った時間を記録します。正解か不正解だけでなく、どこで時間を使ったかを書いておくと改善しやすいです。

たとえば、問題文の理解に時間がかかったのか、配列の添字で迷ったのか、選択肢の比較で迷ったのかを分けます。原因が違えば、対策も変わります。

よくある失点を減らす見直しポイント

最後に、時間がない中でも見直したいポイントを整理します。全部を見直すのは難しいので、失点しやすい場所に絞ります。

まず確認したいのは、条件の境界です。以上なのかより大きいなのか、未満なのか以下なのかで答えが変わります。

次に、ループの開始と終了です。配列の最初を含むのか、最後まで処理するのかは、典型的なミスになりやすいです。

最後に、最終的に返す値です。途中で正しい値を出していても、返す変数を取り違えると失点します。

この3つは短時間でも確認しやすいです。余裕がないときほど、見直しの範囲を絞ってください。

まとめ:速く読むとは、雑に読むことではない

科目Bの擬似言語問題を速く読むとは、雑に読むことではありません。答えに関係する場所を優先して読むということです。

問題の目的をつかみ、入力と出力を確認し、主役の変数を追う。これだけでも、読み方はかなり変わります。

時間が足りない人は、まず読む順番を決めてください。毎回なんとなく読み始める状態から抜け出すだけで、焦りは減ります。

最初はゆっくりで大丈夫です。型が身につくと、自然に読むスピードは上がっていきます。

基本情報技術者試験の科目Bは、初心者にとって簡単な試験ではありません。ですが、正しい読み方を練習すれば、擬似言語は少しずつ読めるようになります。

本番で必要なのは、すべてを完璧に理解することではありません。限られた時間の中で、取れる問題を確実に取りにいくことです。

ここまでお読みいただきありがとうございました。

擬似言語の基礎から応用まで学べる
Giji Academy

Giji Academyでは、擬似言語の基礎からアーキテクチャなどの応用的な内容まで幅広く学べます。
また、ブラウザ上で直接擬似言語コードを試すことができ、実践的なスキルを身につけることが可能です。

擬似言語の学習を始める