基本情報 過去問 › 科目B 対策
基本情報技術者試験 科目B 対策と過去問(全50問・解説つき)
科目Bは、擬似言語のプログラムを読む「アルゴリズムとプログラミング」と、事例を読む「情報セキュリティ」の2分野から出る試験です。100分で20問、1問あたり5分で解きます(出典:IPA)。出題の約8割がアルゴリズムとプログラミング、約2割が情報セキュリティです(出典:IPA)。
科目Bの過去問は、IPA が公開している公開問題とサンプル問題だけです。当サイトではその全50問に、答え・解き方・ひっかけを付けています。問題を選ぶと、ブラウザでそのまま解けます。
科目Bの解き方:変数の値を表に書いて追う
アルゴリズムの問題は、プログラムを頭の中だけで読むと間違えます。変数ごとに列を作り、1行実行するたびに値を書き足す(トレースする)のが一番確実です。
- 問題文の「入力の例」や小さな値(要素が3つの配列など)を1つ決める
- 変数を横に並べた表を作る。ループの変数(i など)を左端に置く
- 1行ずつ実行し、値が変わったら次の行に書く。条件式の真偽もメモする
- 選択肢を当てはめて、結果が問題文の「期待する出力」と合うかを確かめる
たとえば次のプログラム(基本情報技術者試験 科目B サンプル問題(2022年4月公表) 問1より)はループが無いので、age の値ごとに結果を1行ずつ書けば足ります。境界の値(3・4・9・10)で何円になるかを書き出すと、空欄に入る条件が見えてきます。
○整数型: fee(整数型: age)
整数型: ret
if (age が 3 以下)
ret ← 100
elseif ( )
ret ← 300
else
ret ← 500
endif
return ret
擬似言語の読み方(よく出る書き方)
| 書き方 | 意味 |
|---|---|
| x ← 式 | 式の値を変数 x に入れる(代入) |
| if (条件) … elseif (条件) … else … endif | 上から順に判定し、最初に真になった所だけを実行する |
| while (条件) … endwhile | 条件が真の間、繰り返す(最初に判定する) |
| do … while (条件) | 1回実行してから条件を判定し、真なら繰り返す |
| for (i を 1 から n まで 1 ずつ増やす) … endfor | i を変えながら繰り返す |
| 配列[i]・{1, 2, 3} | 配列の要素と、配列の中身の書き方。要素番号が1から始まるかは問題文に書いてある |
| mod・and・or・not | 割り算の余り・かつ・または・否定 |
記法は IPA が問題冊子に載せている「擬似言語の記述形式」をもとに、当サイトがまとめたものです。試験では問題冊子の記述形式が正です。
情報セキュリティの問題の解き方
セキュリティの問題は、会社の事例を読んで「どの対策が適切か」を選びます。問われる知識は科目Aと同じ(最小権限の原則・職務分離・2要素認証など)なので、科目Aのセキュリティ分野の頻出知識を先に覚えると解きやすくなります。
アルゴリズムとプログラミングの過去問(41問)
- 令和8年度 科目B 公開問題 問1 配列要素のシフト(ずらし)処理の流れ図読解次のプログラムは,整数型の配列 data の末尾の要素の値を先頭の要素に移動する。この際,末尾以外の…
- 令和8年度 科目B 公開問題 問2 全ビット反転操作(XOR FF)関数 complement は,引数として渡された 8 ビット型の値 x について,x に加算すると…
- 令和8年度 科目B 公開問題 問3 再帰関数のトレース計算関数 func1 に与える引数と,関数 func2 に与える引数とが同じとき,二つの関数は同じ値を返…
- 令和8年度 科目B 公開問題 問4 線形リストの構造(データ部とポインタ部)単方向リストを,配列 dataList と配列 pointerList の二つの配列で表現する。da…
- 令和8年度 科目B 公開問題 問5 One-Hot表現(カテゴリの符号化)一つの要素だけが 1 で他の要素が 0 であるような整数型の配列による表現を,本問では One-Ho…
- 令和7年度 科目B 公開問題 問1 剰余(mod)による倍数の個数の数え上げ関数 function1 が受け取る引数と,関数 function2 が受け取る引数とが同じとき,二…
- 令和7年度 科目B 公開問題 問2 繰返しの終了条件と境界値(硬貨の組合せ数)関数 change は,10 より大きい整数を引数 n で受け取り,1 円玉,5 円玉,10 円玉を…
- 令和7年度 科目B 公開問題 問3 スタックのpush/popトレース関数 push は,引数で与えられた整数をスタックに格納する。格納できた場合は true を返し,格…
- 令和7年度 科目B 公開問題 問4 文字列照合(力まかせ法)の比較回数トレース関数 search は,二つの文字型の配列を,それぞれ引数 data 及び key で受け取り,da…
- 令和7年度 科目B 公開問題 問5 理論度数(クロス集計の期待度数)の計算予防接種の病気 X に対する予防効果を調査するために集めたデータの集計結果を基に,病気 X にかかる…
- 令和6年度 科目B 公開問題 問1 条件分岐による三つの値の最大値判定関数 maximum は,異なる三つの整数を引数で受け取り,そのうちの最大値を返す。 〔プログラム〕…
- 令和6年度 科目B 公開問題 問2 2進数文字列の10進変換(左から result×2+桁)関数 convDecimal は,引数として与えられた,“0”と“1”だけから成る,1 文字以上の文…
- 令和6年度 科目B 公開問題 問3 隣接行列とグラフの対応読解図 1 に示すグラフの頂点には,1 から順に整数で番号が付けられている。グラフは無向グラフであり,各…
- 令和6年度 科目B 公開問題 問4 整列済み配列のマージ(併合)処理のトレース関数 merge は,昇順に整列された整数型の配列 data1 及び data2 を受け取り,これら…
- 令和6年度 科目B 公開問題 問5 同時購入の関連度(リフト値)を数えるプログラム一度の注文で購入された商品のリストを,注文ごとに記録した注文データがある。表に,注文データの例を示す…
- 令和5年度 科目B 公開問題 問1 素数判定(平方根までの試し割り)関数 findPrimeNumbers は,引数で与えられた整数以下の,全ての素数だけを格納した配列…
- 令和5年度 科目B 公開問題 問2 手続呼出しの実行順序のトレース次のプログラムにおいて,手続 proc2 を呼び出すと, の順に出力される。 〔プログラム〕 ○pr…
- 令和5年度 科目B 公開問題 問3 クイックソートのアルゴリズム次の手続 sort は,大域の整数型の配列 data の,引数 first で与えられた要素番号から…
- 令和5年度 科目B 公開問題 問4 オープンアドレス法によるハッシュ衝突時の格納位置のトレース関数 add は,引数で指定された正の整数 value を大域の整数型の配列 hashArray に…
- 令和5年度 科目B 公開問題 問5 コサイン類似度の計算(内積とノルム)コサイン類似度は,二つのベクトルの向きの類似性を測る尺度である。関数 calcCosineSimil…
- 科目B サンプル問題セット(2022年12月公表) 問1 代入文のトレースプログラムを実行すると,“ ”と出力される。 〔プログラム〕 整数型: x ← 1 整数型: y ←…
- 科目B サンプル問題セット(2022年12月公表) 問2 条件分岐の判定順序(範囲の狭い条件を先に)関数 fizzBuzz は,引数で与えられた値が,3 で割り切れて 5 で割り切れない場合は“3 で…
- 科目B サンプル問題セット(2022年12月公表) 問3 累積和の配列関数 makeNewArray は,要素数 2 以上の整数型の配列を引数にとり,整数型の配列を返す関…
- 科目B サンプル問題セット(2022年12月公表) 問4 ユークリッドの互除法のトレースと初期値関係関数 gcd は,引数で与えられた二つの正の整数 num1 と num2 の最大公約数を,次の(1)…
- 科目B サンプル問題セット(2022年12月公表) 問5 べき乗関数による平方根の計算(0.5乗)関数 calc は,正の実数 x と y を受け取り,√(x²+y²) の計算結果を返す。関数 ca…
- 科目B サンプル問題セット(2022年12月公表) 問6 ビット並びの反転(シフトとマスク)関数 rev は 8 ビット型の引数 byte を受け取り,ビットの並びを逆にした値を返す。例えば,…
- 科目B サンプル問題セット(2022年12月公表) 問7 階乗の再帰的定義(n×F(n−1))関数 factorial は非負の整数 n を引数にとり,その階乗を返す関数である。非負の整数 n …
- 科目B サンプル問題セット(2022年12月公表) 問8 優先度付きキューの操作トレース優先度付きキューを操作するプログラムである。優先度付きキューとは扱う要素に優先度を付けたキューであり…
- 科目B サンプル問題セット(2022年12月公表) 問9 2分木の巡回順序(通りがけ順)手続 order は,図の 2 分木の,引数で指定した節を根とする部分木をたどりながら,全ての節番号…
- 科目B サンプル問題セット(2022年12月公表) 問10 単方向リストの要素削除(ポインタの付け替え)手続 delNode は,単方向リストから,引数 pos で指定された位置の要素を削除する手続である…
- 科目B サンプル問題セット(2022年12月公表) 問11 ビンソート(分布数え上げ)の前提(値の重複なし・範囲内)関数 binSort を binSort( ) として呼び出すと,戻り値の配列には未定義の要素は含ま…
- 科目B サンプル問題セット(2022年12月公表) 問12 配列要素の比較による一致数カウント関数 simRatio は,引数として与えられた要素数 1 以上の二つの文字型の配列 s1 と s2…
- 科目B サンプル問題セット(2022年12月公表) 問13 2分探索の範囲更新(middle±1)関数 search は,引数 data で指定された配列に,引数 target で指定された値が含ま…
- 科目B サンプル問題セット(2022年12月公表) 問14 パーセンタイル(四分位数)の算出要素数が 1 以上で,昇順に整列済みの配列を基に,配列を特徴づける五つの値を返すプログラムである。 …
- 科目B サンプル問題セット(2022年12月公表) 問15 ミニマックス法による評価値三目並べにおいて自分が勝利する可能性が最も高い手を決定する。次の手順で,ゲームの状態遷移を木構造とし…
- 科目B サンプル問題セット(2022年12月公表) 問16 UTF-8の符号化(6ビットずつ下位から格納)Unicode の符号位置を,UTF-8 の符号に変換するプログラムである。本問で数値の後ろに“(1…
- 科目B サンプル問題(2022年4月公表) 問1 if~elseifの条件判定順と境界値ある施設の入場料は,0 歳から 3 歳までは 100 円,4 歳から 9 歳までは 300 円,10…
- 科目B サンプル問題(2022年4月公表) 問2 配列の逆順(先頭と末尾の要素交換)次のプログラムは,整数型の配列arrayの要素の並びを逆順にする。 〔プログラム〕 整数型の配列: …
- 科目B サンプル問題(2022年4月公表) 問3 単方向リストの末尾への要素追加手続 append は,引数で与えられた文字を単方向リストに追加する手続である。単方向リストの各要素…
- 科目B サンプル問題(2022年4月公表) 問4 疎行列の格納(行番号・列番号・値の3配列)要素の多くが 0 の行列を疎行列という。次のプログラムは,二次元配列に格納された行列のデータ量を削減…
- 科目B サンプル問題(2022年4月公表) 問5 出現割合の計算(分母から末尾の出現を除く)任意の異なる 2 文字を c1,c2 とするとき,英単語群に含まれる英単語において,c1 の次に c…
情報セキュリティの過去問(9問)
- 令和8年度 科目B 公開問題 問6 最小権限の原則によるアクセス権限設計A 社は,従業員 1,000 名の広告代理店である。A 社では,各部署が A 社の社内ネットワークに…
- 令和7年度 科目B 公開問題 問6 事業継続計画の指標(RTO・RPO等)A 社は従業員 200 名の電子機器メーカーである。東京に本社があり,新潟に工場がある。 A 社では…
- 令和6年度 科目B 公開問題 問6 2要素認証の判定(認証要素の種類)A 社は従業員 450 名の商社であり,昨年から働き方改革の一環として,在宅でのテレワークを推進して…
- 令和5年度 科目B 公開問題 問6 フィッシングの定義A 社は,放送会社や運輸会社向けに広告制作ビジネスを展開している。A 社は,人事業務の効率化を図るべ…
- 科目B サンプル問題セット(2022年12月公表) 問17 PaaS利用時の責任分界(OS・ミドルウェアは事業者)製造業の A 社では,EC サイト(以下,A 社の EC サイトを A サイトという)を使用し,個人…
- 科目B サンプル問題セット(2022年12月公表) 問18 BYOD・VPN接続で生じるリスクA 社は IT 開発を行っている従業員 1,000 名の企業である。総務部 50 名,営業部 50 …
- 科目B サンプル問題セット(2022年12月公表) 問19 最小権限の原則によるアクセス権限設計A 社は従業員 200 名の通信販売業者である。一般消費者向けに生活雑貨,ギフト商品などの販売を手掛…
- 科目B サンプル問題セット(2022年12月公表) 問20 職務分離(編集者と承認者を分ける)A 社は栄養補助食品を扱う従業員 500 名の企業である。A 社のサーバ及びファイアウォール(以下,…
- 科目B サンプル問題(2022年4月公表) 問6 PaaS利用時の責任分界(基盤は事業者・アプリは利用者側)製造業の A 社では,EC サイト(以下,A 社の EC サイトを A サイトという)を使用し,個人…
このページの更新日:2026年10月18日
サンプル問題の問1から解く 基本情報技術者試験とは