
応用情報|科目B プログラミング・アルゴリズム 実戦演習6題・30設問【追跡・穴埋め・全問解説】
添字や参照の追跡で迷い、穴埋めの理由を説明できない方へ。応用情報・科目Bのプログラミング(アルゴリズム)を練習する、6事例・30設問のオリジナル教材です。
買い切り980円。解答例・本文の根拠・誤答例と見直す視点を収録。まず下の無料例題で、説明との相性を確かめてください。基本情報の科目B向けではありません。
無料の記入例|同じ値を数えるか
問題文:測定値A=[5,5,2,7]で、直前より値が下がった回数を数える。最初の要素は比較対象がないので数えない。同じ値が続く場合は「下がった」に含めない。
count ← 0
for i ← 1 to 3
if A[i] < A[i - 1]
count ← count + 1
return count設問:戻り値と、比較演算子を≦へ変えた場合の誤りを説明しなさい。
解答例:戻り値は1。≦にすると5から5の変化も数え、2を返して同値を除く要件に反する。
根拠:比較する組は(5,5)、(2,5)、(7,2)。<が成立するのは2<5だけです。添字iは1から始まるため、i−1が負になることもありません。
誤答例:値が5以上の要素が3個あるので3。
直し方:数える対象は値そのものではなく、隣り合う要素の間の変化です。「何を比較し、どの条件で、何を更新するか」を分けましょう。有料部分でも同じ順序で追跡します。
有料部分の6事例
演習①:重複するキーの先頭を探す|半開区間の二分探索
演習②:区間の合計を繰り返し求める|累積和と境界
演習③:同じキーの順番を守る|安定した併合
演習④:最短の辺数と発見済み管理|幅優先探索
演習⑤:同じ作業を二度選ばない|0/1動的計画法
演習⑥:次の参照を失わない|連結リストの反転
全30設問に解答例・根拠と考え方・誤答例・直す視点を付けています。本文の前提とコードを照らし合わせ、追跡結果、正しさ、計算量を行き来しながら学べます。
使い方・前提
配列・条件分岐・ループ・データ構造の基礎を学んだ方向け。処理前の値・実行した行・処理後の値を残します。1題20〜25分を学習用の目安に、自分の答案と必要な計算式を残してから解説と照合し、翌日・1週間後に解き直します。指定字数と各事例の条件に従ってください。本試験の分量・難度の再現や、公式採点基準ではありません。
疑似コードの約束
共通の約束:配列の添字は0から。←は代入、=は等しいかの比較、floorは小数部分の切捨てです。forの両端は含み、増加方向で開始値が終了値を超える場合、または減少方向で開始値が終了値を下回る場合は0回です。字下げが処理の範囲、同じ行の「;」は左から順の実行を表します。
疑似コードは本教材で定義した独自表記で、特定言語やIPAの表記規則と完全に同一ではありません。空配列は長さ0、nullは参照先なしを表します。容量は必要なだけ確保でき、整数演算・比較・配列参照は一定時間、桁あふれはないものとします。各題固有の前提を優先してください。
購入前の確認・購入済みの方へ
科目Aの4択確認から進み、仕様・追跡・穴埋め・修正理由を記述します。他商品の購入だけで本記事も読めるとは限りません。本記事の購入だけで他商品が読めるわけでもありません。
本記事を購入済みの方は買い直し不要です。月額プラン加入中の方も、現在の対象教材・閲覧可否を先に確認し、対象記事の重複購入は避けてください。必要な練習が手持ちの教材でできる場合は、追加購入不要です。
分野を比較する方は全11分野の一覧と無料例題へ。すべてをそろえる必要はありません。
ここまでが無料です。この下から実戦演習の問題文・設問・解説が始まります。