ゼロから理解する基本情報アルゴリズム
基本情報技術者試験(科目B)は
アルゴリズムの構造理解を問う試験です。
難しい数学ではありません。
重要なのは次の「型」です。
- 上から順に読む
- 条件の順番を守る
- 交換は半分で止める
- 分子と分母をそろえる
- 構造を理解する
IPA公開サンプル問題(問1〜問6)を
IPA擬似言語仕様に準拠して解説します。
目次
サンプル問題
問1:条件分岐(料金判定)
仕様
- 3歳以下 → 100円
- 4〜9歳 → 300円
- 10歳以上 → 500円
IPA準拠の擬似言語
if age <= 3 then
fee ← 100
elseif age <= 9 then
fee ← 300
else
fee ← 500
endif
なぜ「age <= 9」なのか?
擬似言語は上から順に評価されます。
もし
elseif age >= 4 then
と書くと,
10歳以上も「4以上」に含まれてしまいます。
だから
- 3以下
- 9以下
- それ以外
という範囲分割にします。
正解
カ
試験で問われる本質
- if / elseif は上から順番
- 条件の順序が結果を決める
問2:配列の反転
配列 A(添字は1始まり)
A[1] A[2] A[3] A[4] A[5]
反転の擬似言語
n ← length(A)
for i ← 1 to n div 2
temp ← A[i]
A[i] ← A[n - i + 1]
A[n - i + 1] ← temp
endfor
重要
- 添字は1始まり
- n div 2 は整数除算
- 右側の位置 = n – i + 1
なぜ半分で止める?
同じ要素を2回交換すると元に戻るため。
正解
ウ
試験で問われる本質
- 交換は半分まで
- 添字計算を正しく行えるか
問3:連結リストへの追加
構造:
A → B → C → null
擬似言語イメージ
p ← head
while p.next <> null
p ← p.next
endwhile
p.next ← newnode
ポイント
- 配列:添字で直接アクセス
- リスト:順にたどる
正解
ア
試験で問われる本質
- 構造の違いを理解できるか
問4:疎行列
疎行列とは
要素のほとんどが0の行列。
保存方法
0は保存せず,
(行番号, 列番号, 値)
のみ保存する。
正解
イ
試験で問われる本質
- 保存形式の工夫
問5:割合計算
「nの次がf」である割合。
擬似言語イメージ
count_nf ← 0
count_n ← 0
for i ← 1 to length(s) - 1
if s[i] = "n" then
count_n ← count_n + 1
if s[i + 1] = "f" then
count_nf ← count_nf + 1
endif
endif
endfor
ratio ← count_nf / count_n
重要
最後の文字は除外する。
なぜなら
「次の文字」が存在しないから。
正解
ウ
試験で問われる本質
- 分子と分母の対象をそろえる
問6:クラウドの責任分担
基本概念:
| 対象 | 担当 |
|---|---|
| OS・DB | クラウド側 |
| アプリ | 利用者 |
※IaaS / PaaS / SaaS で範囲は変わる。
正解
オ
試験で問われる本質
- 責任境界を理解できるか
まとめ
科目Bは暗記ではありません。
重要なのは:
- 上から読む
- 半分で止める
- 添字は1始まり
- div は整数除算
- 分母を揃える
- 構造を理解する
この「型」を身につければ
確実に得点できます。
訪問数 4 回, 今日の訪問数 4回



ディスカッション
コメント一覧
まだ、コメントがありません