基本情報の擬似言語は、科目Bで多くの人がつまずきやすい分野です。問題文を読んでも、変数・配列・ループ・関数が一気に出てきて、「どこから追えばいいのか分からない」と感じることがありますよね。
ただ、擬似言語はセンスで解くものではありません。記法の意味を押さえ、変数の値を1行ずつ追う練習をすれば、プログラミング未経験でも得点源にできます。この記事では、基本情報の擬似言語の読み方、トレース表の作り方、頻出パターン、本番で迷わない時間配分までまとめて解説します。
- 基本情報の擬似言語で最初に見るべき場所がわかる
- 配列・ループ・関数を読み間違えないコツがわかる
- トレース表を使った具体的な解き方がわかる
- 科目B本番で時間を使いすぎない判断基準がわかる
基本情報の擬似言語の読み方

擬似言語の役割を知る
擬似言語は、基本情報技術者試験の科目Bで使われる試験用の表記です。PythonやJavaのような実在のプログラミング言語そのものではなく、アルゴリズムの考え方を表すための共通ルールだと捉えるとわかりやすいですね。特定の言語経験に有利不利が出すぎないように、変数、配列、条件分岐、繰り返し、関数呼び出しなどを試験用の書き方で表しています。
最初に大事なのは、「擬似言語を日本語訳しながら読む」ことです。たとえば「x ← x + 1」は、数学の式として見ると変に感じますが、処理としては「xの現在値に1を足して、結果をxに入れ直す」という意味です。この変換ができるだけで、読みにくさはかなり下がります。
問題文には、変数の型、配列の開始番号、関数の戻り値、クラスやメソッドの説明などが載っています。いきなりプログラム本文に飛び込むと迷いやすいので、まず問題文の仕様を読んで「入力」「処理」「出力」を分けるのがおすすめです。何を受け取り、何を計算し、何を返すプログラムなのかが見えると、空欄補充や戻り値の問題も解きやすくなります。
また、擬似言語は「見たことがある形」に分解できます。if文は条件で道を分ける処理、while文やfor文は同じ処理を繰り返す仕組み、配列は番号付きのデータの並びです。知らない問題に見えても、実際にはこうした部品の組み合わせで作られています。焦って全文を理解しようとするより、部品ごとに意味を確認していく方が安定します。
プログラミング経験がある人ほど、自分の知っている言語の癖で読んでしまうことがあります。基本情報の擬似言語では、配列の添字や関数の書き方などが問題文で定義されるため、普段の言語の常識をそのまま持ち込まない方が安全です。毎問、問題文のルールを確認してから読み始める癖をつけましょう。
科目Bの出題内訳を押さえる
科目Bは、擬似言語だけを勉強すれば終わりという試験ではありません。ただし、得点の中心になるのは間違いなく「アルゴリズムとプログラミング」です。IPAの科目Bサンプル問題では、科目Bは「アルゴリズムとプログラミング」と「情報セキュリティ」の二つの分野で構成され、分野別の出題割合はアルゴリズムとプログラミングが8割、情報セキュリティが2割を想定すると示されています。
科目Bは100分で20問を解く形式なので、単純計算では1問あたり5分です。アルゴリズムとプログラミングが8割なら、20問中おおよそ16問が擬似言語を含む問題、残り4問が情報セキュリティというイメージになります。以前の午後試験のように、苦手なプログラミング問題を避けて別分野を選ぶ戦い方はしにくくなっています。
| 項目 | 押さえる内容 |
|---|---|
| 試験時間 | 科目Bは100分 |
| 問題数 | 20問を解答する形式 |
| 中心分野 | アルゴリズムとプログラミング |
| 擬似言語の比重 | 科目Bの得点を左右しやすい |
| 情報セキュリティ | 取りこぼしを減らしたい分野 |
公式のサンプル問題を確認するなら、IPAの基本情報技術者試験 科目Bサンプル問題が参考になります。実際の問題の雰囲気、空欄補充の出方、配列やクラスを使った問題の読み方を確認できます。
出題内訳を知っておくと、勉強時間の配分も決めやすくなります。たとえば科目Aの知識がある程度固まっているなら、科目Bでは擬似言語のトレース練習に多めの時間を割くべきです。一方で、情報セキュリティを完全に捨てるのは危険です。比較的取りやすい問題もあるため、セキュリティの基礎を押さえながら、擬似言語で大崩れしない状態を作るのが現実的かなと思います。
記法は意味で覚える
擬似言語の記法は、見た目で覚えようとすると苦しくなります。おすすめは、記号や構文を「処理の意味」に置き換えることです。たとえば「if」は条件が成り立つときだけ中の処理を実行する仕組み、「while」は条件が成り立つ間ずっと繰り返す仕組み、「return」は関数の答えを返して処理を終える合図です。
特に重要なのは、代入、比較、繰り返しの三つです。代入は変数の値が変わる瞬間なので、トレース表に記録する必要があります。比較は条件分岐やループ継続の判断に使います。繰り返しは同じ処理を何度も行うため、変数の値が一気に変わりやすい場所です。この三つを雑に読むと、途中から答えが合わなくなります。
| 記法 | 意味 | 読み方のコツ |
|---|---|---|
| 変数名 ← 式 | 代入 | 右側を計算して左側に入れる |
| if 条件 | 選択処理 | 条件が真か偽かを先に決める |
| while 条件 | 前判定の繰り返し | 条件が偽になったら抜ける |
| for 制御記述 | 回数のある繰り返し | 初期値・増え方・終了条件を見る |
| return 値 | 戻り値 | 関数の最終的な答えを確認する |
記法を覚えるときは、1行ごとに「何をしたか」を短い日本語でメモすると効果的です。「iを1増やす」「合計にdata[i]を足す」「条件を満たさないのでループを抜ける」のように書くだけで、プログラムが急に読みやすくなります。頭の中だけで処理すると、似た変数名や配列の添字で混乱しやすいです。
最初から難しいアルゴリズムに挑む必要はありません。料金計算、最大値の探索、配列の合計、文字数のカウントのような短い処理で十分です。簡単な処理を確実に読めるようになると、長い問題でも「今は同じことを少し複雑にしているだけだな」と見抜けるようになります。
配列と添字を見落とさない
基本情報の擬似言語でミスが増えやすいのが、配列と添字です。配列は複数の値を番号で管理する仕組みですが、問題によって添字が1から始まることもあれば、0から始まる前提が説明されることもあります。ここを見落とすと、同じ処理を追っているつもりでも、参照している要素が1つずれてしまいます。
配列問題では、問題文に「配列の要素番号は1から始まる」などの説明がないか最初に確認してください。次に、ループ変数がどの範囲で動くかを見ます。「iを1から配列の要素数まで1ずつ増やす」なら、iは1, 2, 3…と進みます。「iを0から要素数-1まで」と書かれていれば、0始まりの考え方です。
添字の開始番号、終了条件、配列の要素数、二次元配列の行と列を混同すると、答えが大きくずれます。問題文に書かれた定義を先に丸で囲むくらいでちょうどいいです。
二次元配列では、行と列の順番にも注意が必要です。matrix[i, j] のように書かれている場合、iが行、jが列を表すことが多いですが、必ず問題文の説明に従います。表のように手書きして、今どのマスを見ているのかを指で追うとミスが減ります。見た目は地味ですが、科目Bではこの地味な確認が点数に直結します。
配列とループが組み合わさる問題では、ループ1回目、2回目、3回目だけでも実際に値を書いてみてください。すべての回を完璧に表にしなくても、最初の数回を追うだけで規則性が見えることがあります。逆順、合計、最大値、最小値、条件に合う個数のカウントは、どれも配列とループの基本パターンです。
苦手な人は、配列を「箱が横に並んでいる図」として書くと理解しやすいです。data[1]、data[2]、data[3]のように箱を並べ、ループ変数iがどの箱を指しているのかを矢印で示します。抽象的な文字だけで追うより、視覚的に処理を追えるので、添字のずれに気づきやすくなります。
関数と戻り値を追う
関数が出てくる問題では、「何を受け取って、何を返すか」を最初に確認します。関数名、引数、戻り値の型を見れば、その関数の役割がある程度見えてきます。たとえば、整数型: fee(整数型: age) のような形なら、年齢を受け取って整数の料金を返す関数だと読めます。
関数の中では、returnが出てきた時点でその関数の処理が終わります。途中でreturnする問題では、最後の行まで読まなくても処理が終わるケースがあります。条件分岐の中にreturnがある場合は、どの条件に入ったときにどの値が返るのかを表にすると整理しやすいです。
- 引数は関数に渡される入力として見る
- 戻り値は関数が外へ返す答えとして見る
- returnが実行されたら関数の処理はそこで終わる
- 再帰では呼び出しごとの引数を別々にメモする
再帰呼び出しが出てくると、一気に難しく見えます。再帰は「関数が自分自身を呼ぶ処理」ですが、考え方は通常の関数呼び出しと同じです。違うのは、同じ関数が複数回呼ばれるため、呼び出しごとの引数や戻り値を混ぜないようにする必要がある点です。呼び出しの深さごとに行を分けると追いやすくなります。
クラスやオブジェクトが出てくる問題もありますが、深い設計論まで理解する必要はありません。試験では、メンバ変数に何が入っているか、メソッドを呼ぶとどの値が変わるか、参照がどの要素を指しているかを追えれば十分なことが多いです。単方向リスト、スタック、キューのようなデータ構造は、図にするとかなり読みやすくなります。
アルゴリズム全体の考え方を別記事で整理したい場合は、基本情報技術者試験のアルゴリズム対策もあわせて確認してみてください。擬似言語はアルゴリズムを表す道具なので、探索・整列・再帰などの型を知っておくと、読み取り速度が上がります。
基本情報の擬似言語の得点手順

トレース表を作る
基本情報の擬似言語で得点を安定させる一番のコツは、トレース表を作ることです。トレースとは、プログラムを1行ずつ実行したつもりで、変数の値がどう変わるかを追いかける作業です。頭の中だけで追うと、2回目のループあたりから値が混ざりやすいので、最初は必ず手を動かしてください。
トレース表はきれいに作る必要はありません。登場する変数を列にして、処理が進むたびに新しい行へ値を書くだけで十分です。配列がある場合は、配列の中身を横に並べて書き、どの要素を見ているかをiやjの値と一緒に追います。途中で値が変わらない変数は空欄にしても構いません。
i、j、sum、count、配列名など、値が変わりそうなものを書き出します。
「←」の行を見つけたら、右辺を計算して左辺の値を更新します。
ifやwhileでは、今の値で条件が真か偽かを判断して進む先を決めます。
returnや表示処理に到達した時点の値が、設問の答えに直結します。

たとえば、配列dataの合計を求めるような問題なら、iとsumを表にします。iが1のときsumにdata[1]を足し、iが2のときsumにdata[2]を足す、という流れを1行ずつ書けば、最終的なsumが見えます。簡単な処理でも表にすると、ループの終了条件を間違えたときにすぐ気づけます。
| 回 | i | 見ている値 | sum |
|---|---|---|---|
| 初期 | – | – | 0 |
| 1回目 | 1 | data[1] | 0 + data[1] |
| 2回目 | 2 | data[2] | 前回のsum + data[2] |
| 3回目 | 3 | data[3] | 前回のsum + data[3] |
トレース表を作る練習は、最初は時間がかかります。それでも、10問ほど続けると「どの変数だけ追えばよいか」「どこは省略してよいか」が見えてきます。本番で全行を丁寧に書く必要はありません。練習段階で丁寧に追った経験があるからこそ、本番では必要な部分だけを速く追えるようになります。
頻出パターンで練習する
擬似言語の問題は毎回まったく別物に見えますが、よく出る処理パターンがあります。線形探索、二分探索、整列、最大値・最小値の更新、個数のカウント、スタック、キュー、リスト、再帰、二次元配列あたりは優先して慣れておきたいテーマです。これらは、問題文の題材が変わっても中身の動きが似ています。
練習では、最初に「この問題は何のパターンか」を言葉にしてから解くのがおすすめです。最大値を探しているのか、条件に合う要素を数えているのか、配列を並べ替えているのか、リストに要素を追加しているのか。目的が見えれば、プログラムの各行が何のためにあるか判断しやすくなります。
| パターン | 見るポイント | 練習の優先度 |
|---|---|---|
| 線形探索 | 先頭から順に比較しているか | 高 |
| 二分探索 | 中央・左端・右端の更新 | 高 |
| 整列 | 比較と交換のタイミング | 中 |
| スタック・キュー | 取り出す順番の違い | 中 |
| 再帰 | 終了条件と戻り値 | 高 |
| リスト構造 | 参照先とnextの変化 | 中 |
頻出パターンを練習するときは、解説を読んで終わりにしないことが大切です。解説を読んだ直後は理解できた気になりますが、数日後に同じ問題を解くと手が止まることがあります。自分でトレース表を書き、なぜその選択肢になるのかを説明できるか確認してください。
科目B全体の優先順位を整理したい場合は、基本情報科目B対策の進め方も参考になります。擬似言語だけに集中しすぎると、情報セキュリティや時間配分を見落とすことがあるので、全体像とセットで進めるとバランスが取りやすいです。
科目Bが苦手なら
アルゴリズムや擬似言語は、読むだけでなく手を動かして解く量が大切です。科目Bに絞って対策したい人向けです。
空欄補充は逆算する
空欄補充問題では、空欄だけを見て考えると迷いやすいです。先に見るべきなのは、プログラム全体の目的です。何を入力として受け取り、最終的に何を返すのか。目的が分かれば、空欄に入る処理が「条件式」なのか「代入」なのか「戻り値」なのかを絞れます。
次に、空欄の直前と直後を読みます。直前でどの変数が更新され、直後でその変数がどう使われるかを見ると、空欄の役割が見えます。たとえば配列を逆順にする処理なら、左側と右側の添字がどのように対応しているかを確認します。最大値を探す処理なら、現在の最大値と比較対象の関係を見るわけです。
最初にプログラムの目的を読む、次に空欄の前後を見る、最後に選択肢を代入して矛盾しないか確認する。この順番にすると、選択肢に振り回されにくくなります。
選択肢を見るタイミングも重要です。いきなり選択肢から読むと、どれもそれっぽく見えてしまいます。先に自分なりに「ここにはiを増やす処理が入りそう」「ここは条件の上限を見ていそう」と仮説を立ててから選択肢を見ると、不要な選択肢を落としやすくなります。
また、空欄補充では境界値を使って確かめるのが有効です。配列の先頭、最後、要素数が1つだけの場合など、ミスが出やすいケースを小さく試します。二分探索なら、中央の計算と左右端の更新を具体的な数字で確認します。再帰なら、終了条件に到達する一歩手前を確認すると見通しが良くなります。
慣れてくると、空欄の種類ごとに見る場所が決まってきます。条件式なら分岐先、代入式なら更新後に使われる変数、戻り値なら関数の目的、添字なら配列の範囲です。問題を解いた後は、間違えた原因を「条件」「添字」「戻り値」「ループ回数」のように分類しておくと、次の演習で同じミスを減らせます。
本番は5分単位で判断する
科目Bは100分で20問なので、平均すると1問5分です。もちろん、すべての問題をぴったり5分で解く必要はありません。簡単な情報セキュリティ問題や短い擬似言語問題は早めに解き、重いアルゴリズム問題に少し余裕を回すのが現実的です。ただし、1問に10分以上かけ続けると、後半の問題を読む時間がなくなります。
本番では、最初の1〜2分で「何の問題か」「トレースすれば解けそうか」「今すぐ解くべきか」を判断します。問題文の目的が見え、変数も少なく、トレース表を作れば進めそうならそのまま解きます。逆に、仕様が長くて目的が見えない問題は、一度印をつけて後回しにする判断も必要です。
| 経過時間 | 判断 | 行動 |
|---|---|---|
| 1分 | 目的が読める | 変数を表にして続行 |
| 2分 | 目的がぼんやり | 入出力と選択肢を確認 |
| 3分 | まだ何をする問題か不明 | 後回し候補にする |
| 5分 | 解答の根拠が弱い | 深追いせず次へ進む |
目標は、全問を完璧に理解することではなく、取れる問題を確実に取ることです。基本情報技術者試験は各科目の評価点が基準点以上で合格する試験なので、難問に固執して他の問題を落とすのは避けたいですね。特に科目Bでは、読める問題から確実に積み上げる姿勢が大切です。
時間配分の練習は、過去問や演習サイトを使って行うのが効率的です。最初は1問10分かかっても構いませんが、慣れてきたら5分を目安にタイマーを使いましょう。今すぐ問題を解きたい方は、基本情報の過去問アプリで無料演習できます。短い時間で毎日触れる方が、週末にまとめて解くよりトレース力は伸びやすいです。
また、見直しではすべてを読み直すより、添字、条件式、return、選択肢の根拠を確認する方が効果的です。特に「以上」「より大きい」「未満」「以下」の違いは間違えやすいので、条件式の問題では最後に必ず見直しましょう。
基本情報の擬似言語まとめ
基本情報の擬似言語は、最初こそ読みにくく感じますが、対策の方向性ははっきりしています。記法を意味で読み、配列とループを丁寧に追い、関数の引数と戻り値を確認し、トレース表で変数の変化を書き出す。この流れを繰り返せば、科目Bの苦手意識はかなり薄くなります。
- 擬似言語は特定言語ではなくアルゴリズムを表す試験用の記法
- 科目Bは20問100分なので1問5分を目安にする
- 配列の添字、ループ条件、returnは必ず確認する
- トレース表は変数の値を混ぜないための最強ツール
- 空欄補充はプログラムの目的から逆算して考える
- 本番は難問に固執せず、取れる問題を積み上げる
独学で進める場合は、読む勉強と解く勉強のバランスを意識してください。参考書を読んで記法を理解したら、必ず短い問題で手を動かします。手書きトレースを繰り返し、間違えた理由を分類し、数日後にもう一度解く。この地道な流れが、結局いちばん強いです。
演習教材を選ぶときは、解説の詳しさも見てください。答えだけでなく、変数がどう変化したか、なぜその選択肢になるかまで説明されている教材の方が、擬似言語には向いています。科目Bの参考書選びで迷う場合は、基本情報技術者試験の科目B参考書の選び方も見ておくと、今のレベルに合う教材を選びやすくなります。
基本情報の擬似言語は、いきなり速く読む必要はありません。最初は遅くてもいいので、1行ずつ正確に追うことを優先しましょう。正確に追える問題が増えると、自然にスピードも上がります。科目Bで安定して得点するために、今日から1問だけでもトレース練習を始めてみてください。


コメント