基本情報技術者試験の科目Bで使うプログラム言語は擬似言語だけで、JavaやPythonで書かれた問題は出ません。IPAの原文を出典に、旧形式との違い、擬似言語とJava・Pythonの書き方の対応表、令和8年度の公開問題を3通りに書き直した例、2027年度の新制度案まで整理します。
目次
結論:基本情報技術者試験の科目Bで使うプログラム言語は、IPAが定めた「擬似言語」だけです。JavaやPython、Cなどの個別の言語で書かれた問題は出ません。IPAは、2023年4月に始まった現行の形式で、個別プログラム言語(C、Java、Python、アセンブラ言語、表計算ソフト)による出題を擬似言語に統一すると発表しています。Javaに慣れている人は、書き方の対応表で読み替えれば、そのまま擬似言語のトレースに進めます。
| 知りたいこと | 答え | 出典 |
|---|---|---|
| 科目Bで使う言語 | 擬似言語のみ | IPA 試験要綱 Ver.5.6 の注記 |
| JavaやPythonで書かれた科目Bの問題 | 現行の形式では出題されない(2023年4月に擬似言語へ統一) | IPA 2022年4月25日の発表 |
| 旧形式の午後試験 | C・Java・Python・アセンブラ言語・表計算ソフトによる出題があった(選択問題あり) | 同上 |
| 科目AでのJava・Python | シラバスの用語例として言語名が載る知識の範囲 | IPA シラバス Ver.9.2 |
| 2027年度の新試験制度(案) | 科目Bは擬似言語を扱う注記が案に残る | IPA 出題範囲等の改定案・シラバス案 |
合格ナビの基本情報技術者試験の問題520問(現行形式の科目A 120問と旧形式の午前問題400問。2026-10-02 集計)のうち、問題文や選択肢に「Java」を含む語が出るのは4問で、すべて平成22〜27年度の旧形式の午前問題です。「Python」が出る問題は0問で、令和5〜7年度とサンプル問題の120問にはJavaもPythonも出ません。なお、科目Bの問題は当サイトにはまだ掲載していません。
科目Bの言語は擬似言語だけ:IPAが示している根拠
IPAの試験要綱(Ver.5.6、2026年10月の試験から適用)は、基本情報技術者試験 科目Bの出題範囲「1 プログラミング全般に関すること」に、次の注記を付けています。
注記 プログラム言語について,基本情報技術者試験では擬似言語を扱う。
出典:IPA 試験要綱 Ver.5.6(基本情報技術者試験の出題範囲、36ページ)。
この方針は、現行の形式に変わった2022年4月25日のIPAの発表に書かれています。
個別プログラム言語(C、Java、Python、アセンブラ言語、表計算ソフト)による出題は、普遍的・本質的なプログラミング的思考力を問う擬似言語による出題に統一します。
出典:IPA 基本情報技術者試験と情報セキュリティマネジメント試験の通年試験化(最終更新日 2023年2月6日。変更後の試験は2023年4月から開始する予定と記載)。
擬似言語について、IPAは「アルゴリズムを表現するための擬似的なプログラム言語」と説明しています(IPA 試験で使用する情報技術に関する用語・プログラム言語など Ver.5.1 3.プログラム言語)。基本情報技術者試験の記述形式は同じ資料の別紙2にあり、問題冊子の冒頭にも同じ表が載っています。問題文に注記がない限り、その記述形式が適用されます。
試験要綱の版:Ver.5.6(2026年10月の試験から適用)。最終確認日:2026-10-02。出典:IPA 試験要綱・シラバス。
以前はC・Java・Pythonなどの問題があった:旧形式の午後試験との違い
「Javaで受けた」「Pythonを選んだ」という話は、旧形式の午後試験のものです。IPAの2022年4月25日の発表にある変更前後の表では、次のように変わりました。
| 比べる点 | 変更前(旧形式の午後試験) | 変更後(現行の科目B) |
|---|---|---|
| 試験時間 | 150分 | 100分 |
| 出題数・解答数 | 11問出題・5問解答(選択問題あり) | 20問出題・20問解答(選択問題なし・全問必須) |
| プログラム言語 | 個別プログラム言語(C、Java、Python、アセンブラ言語、表計算ソフト)による出題 | 擬似言語による出題に統一 |
出典:IPA 基本情報技術者試験と情報セキュリティマネジメント試験の通年試験化(変更前・変更後の表と出題範囲の変更概要)。
旧形式の言語の中身も、時期によって変わっています。試験要綱の改訂履歴には、Ver.4.2(2019年1月24日)で「基本情報技術者試験の〔午後の試験〕で出題するプログラム言語を変更(COBOL を廃止,Python を追加)」と書かれています(IPA 試験要綱 Ver.5.6 の改訂履歴)。
古い参考書やブログに「Javaを選ぶと有利」「Pythonで解く」と書かれていても、現行の科目Bでは言語を選ぶ場面がありません。旧形式の午後問題を練習に使うときの注意点は、科目Bの対策記事にまとめています。
擬似言語とJava・Pythonの書き方の対応表
擬似言語は、IPAが試験用に決めた約束事です。次の表は、IPAの記述形式(別紙2)にJavaとPythonの書き方を並べたものです。右の2列は当サイトが作った読み替えの例で、試験の出題範囲ではありません。
| 擬似言語(IPAの記述形式) | Java | Python |
|---|---|---|
| 変数名 ← 式(代入) | 変数名 = 式; | 変数名 = 式 |
| 整数型: 変数名(変数の宣言) | int 変数名; | 宣言は不要 |
| if (条件式1) … elseif (条件式2) … else … endif | if (…) { … } else if (…) { … } else { … } | if … : / elif … : / else : |
| while (条件式) … endwhile(前判定の繰返し) | while (…) { … } | while …: |
| do … while (条件式)(後判定の繰返し) | do { … } while (…); | 専用の構文はなく、while True: と break で書く |
| for (制御記述) … endfor | for (int i = 1; i <= n; i++) { … } など | for i in range(…): |
| =(等しい)、≠(等しくない) | ==、!= | ==、!= |
| mod(剰余) | % | % |
| 要素の指定 data[i] | data[i](要素番号は0から) | data[i](要素番号は0から) |
| メンバ変数・メソッドのアクセスの「.」 | 「.」 | 「.」 |
出典:擬似言語の列はIPA 用語・プログラム言語など Ver.5.1 別紙2(擬似言語の記述形式・演算子と優先順位・配列)。
Javaに慣れている人がつまずきやすい点は、次の4つです。
- ① 「=」は比較です:擬似言語の関係演算子は「≠ ≦ ≧ < = >」で、代入は「←」を使います。Javaの「=」(代入)と「==」(比較)の使い分けとは対応がずれます
- ② ブロックの終わりは波かっこではなく end で示します:if は endif、while は endwhile、for は endfor で閉じます
- ③ 論理演算は and・or・not です:Javaの &&・||・! に当たります。優先度は高い順に not、乗除(mod × ÷)、加減、関係演算、and、or です
- ④ 配列の要素番号の起点は、問題ごとに指定されます:IPAの記述形式は「要素番号を指定することでアクセスする」と定めるだけで、0からか1からかは決めていません。問題文の「ここで,配列の要素番号は1 から始まる。」のような注記を最初に読みます
同じプログラムを3通りで読む:令和8年度 科目B 問1
IPAが公開している令和8年度の科目B 公開問題 問1は、配列の末尾の要素を先頭に移し、ほかの要素を1つずつ後ろにずらすプログラムです。次の表は、IPAの問題文のプログラム(空欄に正解のエを入れた形)と、当サイトが書き直したPython版・Java版を行ごとに並べたものです。
| 行 | 擬似言語(IPAの原文) | Python(0から数える) | Java(0から数える) |
|---|---|---|---|
| 1 | 整数型の配列: data ← {1, 2, 3, 4, 5, 6, 7, 8, 9} | data = [1, 2, 3, 4, 5, 6, 7, 8, 9] | int[] data = {1, 2, 3, 4, 5, 6, 7, 8, 9}; |
| 2 | 整数型: top, i | (宣言は不要) | int top, i; |
| 3 | 整数型: len ← dataの要素数 | length = len(data) | int len = data.length; |
| 4 | top ← data[len] | top = data[length - 1] | top = data[len - 1]; |
| 5 | for (i を len から 2 まで 1 ずつ減らす) | for i in range(length - 1, 0, -1): | for (i = len - 1; i >= 1; i--) { |
| 6 | data[i] ← data[i - 1] | data[i] = data[i - 1] | data[i] = data[i - 1]; |
| 7 | endfor | (インデントが戻ると終わり) | } |
| 8 | data[1] ← top | data[0] = top | data[0] = top; |
出典:令和8年度 基本情報技術者試験 科目B 公開問題 問1・解答例(独立行政法人情報処理推進機構)。問題冊子の問1の空欄は for の制御記述で、解答例の正解はエ(len から 2 まで 1 ずつ減らす)です。問題文には「ここで,配列の要素番号は1 から始まる。」とあります。Python版とJava版は当サイトの書き直しです。
読み替えで見ておきたいのは、要素番号の起点です。擬似言語の問1は1から数えるので、繰返しは len から 2 まで、最後の代入先は data[1] です。0から数えるPythonやJavaでは、同じ動きが「len - 1 から 1 まで」「data[0]」になります。起点がずれると、1つずれた要素を読み書きしてしまいます。
この問1の解答群のア・イ・ウを順に実行すると、正解のエだけが元の配列 {1, 2, 3, 4, 5, 6, 7, 8, 9} を {9, 1, 2, 3, 4, 5, 6, 7, 8} にします(Pythonで実行した結果)。
- ア(2 から len - 1 まで増やす):{9, 1, 1, 1, 1, 1, 1, 1, 9}
- イ(2 から len まで増やす):{9, 1, 1, 1, 1, 1, 1, 1, 1}
- ウ(len - 1 から 2 まで減らす):{9, 1, 2, 3, 4, 5, 6, 7, 9}
前の要素を先に上書きすると、元の値が消えてしまうのが原因です。後ろから前へ順にずらす理由や、トレース表の書き方は科目Bの対策記事の「解き方の手順」で、同じ問1を1行ずつ解説しています。令和8年度の公開6問の問題文には、クラスやメソッドを扱う記述は見当たりません。
科目Aに出るJava・Python・オブジェクト指向の知識
科目Bでコードが出ない一方で、科目A(知識問題)の出題範囲には、言語の名前が「用語例」として載っています。IPAのシラバス Ver.9.2(中分類2 アルゴリズムとプログラミング)は、4.プログラム言語の「オブジェクト指向言語」の用語例に「Java,C++,Julia,Go」、「スクリプト言語」の用語例に「ECMAScript,Perl,PHP,Python,Ruby」を挙げています。3.プログラミングの「オブジェクト指向プログラミング」の用語例は「コンストラクタ,メンバ変数,オーバーライド,オーバーロード」です。
出典:IPA 基本情報技術者試験 シラバス Ver.9.2(大分類1 基礎理論/中分類2 アルゴリズムとプログラミング)。
用語例は、科目Aで問われる知識の範囲を示すものです。Javaなどのコードを読み書きさせる問題があるという意味ではありません。当サイトに掲載している基本情報の問題で、プログラム言語の知識に関係する問題は次のとおりです。
- インタプリタの説明(2022 サンプル問題 問16)
- データとメソッドをまとめて実装の詳細を隠すこと(2022 サンプル問題 問38)
- 異なるクラスのオブジェクトを同じインタフェースで操作する特徴(令和7年度 科目A 問12)
- オーバーライドの説明(平成29年度 秋期 問7)
- オブジェクトの振る舞いを記述したもの(平成25年度 秋期 問48)
SQLも、プログラム言語とは別の「データベース言語」として出題範囲に入っています。IPAは、試験で使うデータベース言語の仕様を「SQL:JIS X 3005 規格群」としています(IPA 用語・プログラム言語など Ver.5.1 4.データベース言語)。SQL文の読み方はSQL問題の解き方で扱っています。
2027年度の新試験制度(案)でも、科目Bは擬似言語
IPAは、2027年度から新試験制度に移行する予定を公表しています。基本情報技術者試験は継続する試験区分で、試験時間は科目Aが90分、科目Bが100分、出題数は科目Aが60問、科目Bが20問とされています。
科目Bの言語については、IPAの出題範囲等の改定案(Ver.1.0)に、基本情報技術者試験 科目B(技能)の出題範囲の注記として「プログラム言語について,擬似言語を扱う。」があります。2026年9月30日に掲載された基本情報技術者試験 シラバス案(Ver.0.1)にも、技能の項目に同じ注記があります。
一方、シラバス案の知識(科目A)の項目には、プログラム言語の例として「業務システム・基幹系(Java,C#,COBOL など)」「Webアプリケーション(JavaScript(ECMAScript),TypeScript,PHP,Python,Ruby など)」などが挙がっています。現行のシラバスと同じく、言語名は知識の範囲の例で、科目Bの言語を増やす記載ではありません。
新試験制度の予定:基本情報技術者試験は2027年度春頃から新試験制度で実施予定。科目Bは100分・20問。科目Bの出題範囲には「プログラム言語について,擬似言語を扱う。」の注記がある(改定案Ver.1.0・シラバス案Ver.0.1は案であり、変更される場合がある)。最終確認日:2026-10-02。出典:IPA 情報処理技術者試験及び情報処理安全確保支援士試験の見直しの検討状況について、IPA 出題範囲等の改定案(Ver.1.0)、IPA 基本情報技術者試験 シラバス案 Ver.0.1。
言語を先に学ぶ必要はある?擬似言語の練習の進め方
IPAが科目Bの言語として示しているのは擬似言語だけで、出題の前提として決められているのは擬似言語の記述形式です。JavaやPythonといったプログラミング言語の入門そのものを学ぶ価値は試験の外の話なので、この記事では扱いません。試験の準備としては、IPAの公開問題で擬似言語の読み方に慣れる方法が確実です。
IPAは、科目Bのサンプル問題セット(20問)と、令和5〜8年度の公開問題を公開しています。目的別の読み先は次のとおりです。
| 知りたいこと | 読む記事 |
|---|---|
| 科目Bの形式・合格基準・時間配分 | 科目Bの対策 |
| 探索・ソート・スタック・再帰など型ごとの解き方 | 科目B(アルゴリズム・プログラミング)攻略法 |
| 自作の擬似言語の練習問題 | 科目B 練習問題20問 |
| 流れ図から擬似言語への書き換え | 流れ図の読み方 |
| 擬似言語の用語 | 疑似言語とは(用語集)・配列・再帰 |
まとめ
- 科目Bで使う言語は擬似言語だけで、JavaやPython、Cで書かれた問題は出ません(IPA 試験要綱 Ver.5.6 の注記、2022年4月25日の発表)
- C・Java・Python・アセンブラ言語・表計算ソフトによる出題があったのは、旧形式の午後試験です
- Javaの経験者は、代入(←)・比較(=)・end で閉じる書き方・配列の要素番号の起点の4点を読み替えれば、擬似言語を読めます
- 科目Aには、Java・Pythonなどの名前とオブジェクト指向の用語が知識として出ます
- 2027年度の新試験制度の案でも、科目Bの注記は「擬似言語を扱う」です。確定した内容は、IPAの最新の公表で確認してください
よくある質問
Q科目Bの問題を、JavaやPythonを選んで解くことはできますか?
できません。IPAの試験要綱は、科目Bの出題範囲に「プログラム言語について,基本情報技術者試験では擬似言語を扱う。」と注記しています。問題のプログラムはすべて、IPAが定めた擬似言語で書かれています。
Q昔の試験にあったプログラム言語の選択問題は、いつなくなりましたか?
2023年4月に始まった現行の形式で、擬似言語に統一されました。IPAは2022年4月25日の発表で、個別プログラム言語(C、Java、Python、アセンブラ言語、表計算ソフト)による出題を擬似言語による出題に統一すると説明しています。
QJavaの経験があると、科目Bは有利になりますか?
有利になると示したIPAの公式データはありません。擬似言語は試験専用の記法ですが、代入・条件分岐・繰返し・配列といった基本要素はJavaと共通するので、読み替えの対応表を押さえておけば、Javaの経験は読み取りの助けになる可能性があります。ただし、配列の要素番号の起点など、Javaと違う点もあります。
Q2027年度からの新しい試験制度でも、科目Bは擬似言語ですか?
IPAが2026年9月30日に掲載した新試験制度の基本情報技術者試験 シラバス案(Ver.0.1)では、科目Bの出題範囲に「プログラム言語について,擬似言語を扱う。」という注記があります。案の段階なので、確定した内容はIPAの最新の公表で確認してください。
法令や試験の数字は、改正や年度で変わります。この記事の最終確認日は2026年10月2日です。申込みや合格基準は、必ず試験団体の公式情報で確かめてください。

