午後試験に出題されるソフトウェアの問題は、意外な点取り問題です。
なぜソフトウェアが点取り問題かというと、
・問題文を解答や図に落とし込むだけ
・基礎的な内容の問題が多い
・計算問題の出題率が低い
といった特徴があるからです。
目次
ソフトウェア問題は、問題に関する知識より、
問題文を読み解く読解力や図の内容を解答に当てはめる応用力が必要になります。
そのためソフトウェア問題で高得点を取るためには、
過去問題の復習を重視して、問題を解き慣れるといった経験を積む方が良いでしょう。

午後試験に出題されるソフトウェア問題は、簡単な問題が多いよね

知識があまり必要なくて、問題文や図の内容を単純に解答に当てはめる問題が多いからな。だが中には例外もある

例えば?

例えば、平成26年春期の設問1とかな。あれは計算問題が苦手な受験者を落としに掛かっている問題だからな

ああ、なるほど。あの問題は数学に強くないとダメな気がする・・・
・プロセスに関する問題が多い

まずソフトウェアの問題において頭に入れておきたいのは、「プロセス」に関する問題が多いという点です。
ちなみに出題傾向がランダムになりやすいソフトウェア問題の中でも、プロセスに関する問題は、平成21年から令和元年の試験において全15回中5回出題されました。
この出題回数はソフトウェアに関する問題の中では、
断トツで高い出題率となっています。
またプロセスの問題は、「制御」「排他処理」「スケジューリング」がメインであり、問題形式も似たようなものが多いという点が特徴です。
例えば、以下の問題をご覧ください。

出典:平成24年秋期 午後試験 問1より抜粋
上記の問題は、プロセスにおける排他処理を題材とした問題ですが、以下のような問題が平成29年秋期にも出題されています。

出典:平成29年秋期 午後試験 問2より抜粋
ちなみに2つの問題の解答群をチェックしてみると、内容はほぼ同じと言っていいようなものが並んでいます。
そのためソフトウェアの勉強をする際には、過去問題の復習を中心に進めるようにしましょう。
他にもプロセスの問題は、プロセスの推移についてもマークしておいてください。


出典:平成30年秋期 午後試験 問2より抜粋
- プロセスがどの内容を実行しているか
- プロセスに割り当てられている時間がどのくらいか
といった内容が出題されるため、過去問題の復習によってプロセスを追う練習をしておいてください。
またプロセスの推移を題材とした問題には種類があり、
- スケジューリング
- 平成30年秋期
- 平成26年秋期
- 排他制御
- 平成29年秋期
- 平成24年秋期
- CPUの割り当て方式
- 平成23年特別
といった具合に分けられます。
内容が完全に同じという訳ではありませんが、似たような問題が出題されているため、試験勉強としてかなり使えるはずです。
加えて問題の難易度としては簡単な部類に入るため、しっかり勉強をして得点を稼いでください。

プロセスに関する問題は、処理の内容を図に当てはめるっていう問題が多いね

あと簡単な問題が多いっていうのも、プロセスに関する問題の特徴だな。内容を図や解答に当てはめるだけでいいからな

そういう問題が出題されたならば、できる限り正解して点数を伸ばしておきたいね
・疑似言語を使った問題も出題される

午後試験に出題されるソフトウェアの問題には、以下のような疑似言語を題材とした問題が出題されます。


出典:令和元年秋期 午後試験 問2より抜粋
ソフトウェアの問題を解くにあたって、疑似言語の習得は必須。
特に頻出する
- 分岐
- 繰り返し
- 配列
といった内容は完ぺきにしておく必要があります。
更にソフトウェアの疑似言語は、午後試験の鬼門であるアルゴリズムでも使用されます。
そのためアルゴリズムの勉強も兼ねると思って勉強を進めてください。
また疑似言語を使用した問題の難易度は、先に解説したプロセスの問題と比較すると、若干難しい部類に入ります。
何故難しいのかというと、
- 問題文の内容をプログラムに落とし込む
- プログラムの実行結果を答える
といった問題がメインになるからです。
単純に疑似言語を覚えているだけでは問題を解くのは難しいため、疑似言語を利用した問題を沢山解いて疑似言語を読むという経験を積んでおいてください。
・問題文を解答や図に落とし込む問題が多い

ソフトウェア問題の難易度が低いといった理由に、
問題文を解答や図に落とし込む問題が多いといった点が挙げられます。
例えば、以下の問題は平成26年秋期に出題された、プロセスごとのターンアラウンドタイムを求める問題ですが、



出典:平成26秋期 午後試験 問3より抜粋
重要なのは、黄色い下線が引いてある、プロセスの割り当て方とターンアラウンドタイムについての内容だけ。
あとはプロセスの到着時間を当てはめると、簡単に解ける問題となっています。
また問題文を解答や図に落とし込む問題は、ソフトウェアに関する知識より、
問題を読み解く能力や内容を理解する能力の方が重要です。

ソフトウェアの問題は、問題文を解答や図に落とし込む問題が多いのは分かったけど、ソフトウェア自体の出題率はどんなもんなの?

平成21年春期から平成30年秋期の試験を調べたところ、全20回中13回でソフトウェアの問題は出題されているぞ

結構出題率は高そうだね。

まあ2回に1回ぐらいのペースで出題されているようだから、ある程度マークしておいて損はない分野だと言えるな
・計算問題の出題頻度が低い

ソフトウェアの問題は、
計算問題の出題比率が低いといった特徴があります。
ソフトウェアの問題において、計算問題が出題されたのは、平成21年から平成30年の試験において、
全13回中3回。
(平成23年春期、平成26年春期、平成27年春期が該当します)
またすべての問題が計算問題であるといったパターンは、今まで出題されていないため、実際ところ計算問題の出題率はもっと低いと言えるでしょう。
ちなみにソフトウェアで出題される計算問題は、
問題によって難易度の差が激しいといった特徴があります。
簡単な四則演算ができれば大丈夫な問題もあれば、キッチリと問題文から式を作るような少し複雑な問題も出題されるようです。

ソフトウェアにおける計算問題は、ソフトウェアの中の1問程度しか出題されないから無視しても良いんじゃないか?

まあ状況を見て、他の問題に自信があるなら無視しても良いかも。

ただ試験時間が余っているようであれば、苦手な問題でも粘る努力を忘れないようにした方が良いな
・問題で出題されやすい重要キーワードについて

最後に午後試験のソフトウェアにおいて、出題率が高い、登場回数が多い重要キーワードについて発表します。
重要キーワード
- 排他制御
- デッドロック
- 2分木
- インタプリタ
- LFU
- LIFO
- LRU
- FIFO
- 状態遷移図
- ラウンドロビン方式
- オーバヘッド
- ターンアラウンドタイム
- タイムクウォンタム
また重要キーワードだけでなく、問題に登場しやすいキーワードも載せておきます。
頻出キーワード
- 原始プログラム
- 構文木
- 2項演算子
- 到着順方式
こちらはあまり問題に直接関わってくる内容ではありませんが、軽く内容だけは把握しておいて、問題を解く際に混乱しないように気をつけましょう。

何だかソフトウェアに出題されるキーワードって、基礎的な内容が多い気がするな

まあ基本情報技術者試験に合格するならば、覚えているべきキーワードが並んでいるね。でも勘違いしやすいキーワードもあるから注意してね
・ソフトウェアの出題率について

基本情報技術者試験では、2020年の試験から午後試験における問題割合が、以下のように改正されます。

もちろん今回解説したソフトウェアも問題比率の改正対象になっているため、試験を受ける前に、必ず改正内容を確認しておくようにしてください。
ちなみにソフトウェアの出題率についてですが、
全22回中15回出題されているようです。(平成21年から令和元年まで)
- 令和元年 秋期
- 平成31年 春期
- 平成30年 秋期
- 平成29年 秋期
- 平成28年 秋期
- 平成28年 春期
- 平成27年 春期
- 平成26年 秋期
- 平成25年 春期
- 平成24年 秋期
- 平成24年 春期
- 平成23年 春期
- 平成22年 春期
- 平成21年 春期
上記の内容だけを見ると出題率が高く感じますが、2020年(令和2年)の試験より試験改正が入っているため、あくまでも参考程度にしておく方が良いと思います。

ソフトウェアに関しては、テクノロジ系の問題の一部として、高い確率で出題されると思っておいた方が良いね

マネジメント系の出題率から比較すると、勉強の配分を変える必要が出てくるかもな
まとめ
基本情報技術者試験におけるソフトウェア問題は、以下のような特徴があります。
- プロセスに関する問題が多い
- 疑似言語を使った問題も出題される
- 問題文を解答や図に落とし込む問題が多い
- 計算問題の出題頻度は低い
- ソフトウェアは、高い確率で出題されると考えて勉強しておく
重要キーワード
- 排他制御
- デッドロック
- 2分木
- インタプリタ
- LFU
- LIFO
- LRU
- FIFO
- 状態遷移図
- ラウンドロビン方式
- オーバヘッド
- ターンアラウンドタイム
頻出キーワード
- 原始プログラム
- 構文木
- 2項演算子
- 到着順方式
ソフトウェア問題の特徴を一言で表すならば、
よく考えれば解ける問題が多い。
また問題文が読み解けるかが重要といった内容になっています。
そのため普段の勉強から、過去問題の復習を中心にこなして、長文をスムーズに読み解ける能力を身に付けておきましょう。
コメント