こんにちは JAYLOGです。
今回は基本情報技術者試験の午後問題のプログラミング言語はどの分野を選んで対策した方がいいか?というお話です。
基本情報のプログラミングはどんな言語があるの?という概要からから具体的な対策まで一通り書いていますので、初めて基本情報技術者試験を受ける方も、これから選択する言語を見直したいと考えている方も役に立つと思います。

本記事で提供できるメリット。。
・基本情報技術者試験のプログラミングの全体像が分かり、ご自身が選択する言語と対策の判断がつくようになります。
プログラミングの問題と配点は?

プログラミングは全体の1/4を占めるのできちんと対策をしないとね。
基本情報技術者試験の午後問題のプログラミングとは問7-11をさしており、試験対象の言語と配点はこの様になっています。
配点 | プログラミング言語 |
---|---|
25点 | ・java ・アセンブリ ・C言語 ・表計算 ・phyton |
この様に配点は25点なので全体の1/4を占める重要な分野となっているのが実情です。
基本情報の午後問題は難易度が高いですが、その中でもプログラミングは難しく配点を考えると、戦略的に問題を選択して対策を立てていかないと合格が遠のいてしまいます。
また、参考情報ですが、全くプログラミング対策をしない(=問題の選択もしない)場合、他の分野でどのくらいの得点を取る必要があるか試算したのがこちらです。
プログラミングの得点率 | その他の分野で合格に必要な正答率 |
---|---|
0% | 93% |
25% | 85% |
50% | 75% |
75% | 65% |
100% | 60% |
※ここでは安全に合格することを目標として得点率は70%を取ること前提とした試算です。
この様にどの言語を選択するか決めて対策をしないと午後問題で合格するのは無理ゲーになってしまいます。
ですので、適切な問題の選択と対策によってプログラミングを50%-75%くらいのレンジで得点するようにしましょう。
各プログラミング言語の特徴は?

実用的な言語はjava,C言語,phytonで、難易度でとらえると表計算,アセンブラだね。
各プログラミング言語の業務での使われ方と試験におけるポイントを見ていきましょう。
java
モバイル端末のアプリケーションやwebアプリケーション開発など幅広く使用されている言語になります。
特徴はjavaの動作環境(JRE)があればwindows/linux等のプラットフォームに依存せず動作することが出来ることが挙げられます。
javaを理解するためにはオブジェクト指向について理解する必要があり、これが難易度が高くなってしまう原因の一つになります。
javaの出題ポイントとしてはこの様なものを押さえておく必要があります。
- 基本構文を
- オブジェクト指向
- API
C言語
C言語は汎用性が高く業務アプリケーション、ロボット等の組み込み系ソフトウェア、OS、ゲーム開発などに使用されている言語です。
特徴としてはjavaと同様にコンパイラ方式言語でソースコードを最初にすべて翻訳して、機械語になった実行形式プログラムを実行します。このため処理速度が速いという特徴を持ちます。
出題ポイントとしては、こんなものを理解していく必要があります。
- 配列
- 構文
- ポインタ
- 構造体
phyton
phytonは一昔前であればwebアプリケーションで使われていましたが今は人工知能や機械学習の開発に使われていることが多いです。
特徴はシンプルな構文で1行で多くの処理を記述できます。また、外部ライブラリも充実しており、生産性の高い言語だと言えます。
2020年春期より出題されるようになるのですが、一旦は下記のような知識は必要になります。
- 基本的な構文
- ライブラリの知識
表計算
表計算は名前のごとく、表を使って計算する言語で簡単にいうとエクセルを思い浮かべていただければと思います。
出題ポイントとしてはこれらを知っておく必要があります。
- 関数
- マクロ
アセンブラ
アセンブラはコンピューターのハードウェアの動作を指示する言語です。
アセンブラを学ぶことで,OSの機能やOSの役割などコンピュータに何ができるのかが分かる様になります。
用途としては家電製品やパソコンなどのデバイスに関するハードウェア制御に使われています。
機械語と1対1の関係なのでjavaやC言語と比較して分かりやすいです。
種類としてはCOMET IIとCASL IIがありますが午後問題ではCASL IIについて問われます。
出題ポイントはこちらです。
- 1種類の構文と約20種類の命令コード
- 2進数に関する知識
どの言語を選択する?対策は?

価値のある問題が多いのと、解説が丁寧なものであればOK
次にどの言語を選択するかですが、とにかく簡単に点数をとりたいのであればアセンブラか表計算かのどちらかです。
しかし、問題選択の基準として基本情報技術者試験を受験する目的による側面もあってもいいのではと思います。
目的とは例えばこれを機に業務でも使える言語を習得したいであったり、自分の可能性を広げていきたい等です。
そんなパターン別に順位をつけているので、自分が何をしたいかによって参考にしてみてください。
ちなみに全言語の難易度を比較するとこのようになっております。(簡単なものから順に並べています)
No | 言語 | 評価 |
---|---|---|
1 | アセンブラ | ロジックと指令が1:1であり、読みやすいロジックになっている。 1種類の構文と20程度の命令コマンドを覚えてしまえばいい。 |
2 | 表計算 | Excelの日本語版の様になっており、関数などもなじみのあるものが出題されるため、そんな難しくはない。 一方で、マクロの問題が出題されるので難しいと感じる人もいるのでは? |
3 | C言語 | ポインタや配列などの問題が出題され業務でやらないと馴染みがない。 また、アセンブラの様に上から読めばいいものでもないので、難しい。 |
4 | java | オブジェクト指向が理解できないと難しい。 また、オブジェクト指向自体も難しい。 業務で使用して慣れている人でないとそもそも解けない。 |
5 | phyton | 2020春期より導入されて過去事例がないため、一応一番難しいと評価。 |
とにかく受かりたい
とにかく受かりたい人は、『表計算』、『アセンブラ』を選択しましょう。
ちなみにどちらを選択するかの判断は表計算の『マクロが出来るか』で判断すればいいと思います。
対策できそうであれば表計算を選択、それ以外は『アセンブラ』を選択する流れで行きましょう。
業務でプログラミングを組んでいる
『java』『C言語』『phyton』を選択しましょう。
この判断基準は業務で普段使っているものを対策する様にしましょう。
これに該当する方は逆に『表計算』『アセンブラ』を対策すると不要な時間を使ってしまう恐れがあるので注意してください。
これからプログラミングを学ぼうとしている
『java』『C言語』を受けるようにしましょう。これらの言語は現在でも主流で使われております。(難易度としては高い言語ですが、実用性は高いという点でおススメをしています)
基本情報で、各言語の基礎を習得して今後就職した時や転職した時に実務経験を通してブラッシュアップできるようになります。
さいごに
いかがでしたか?
基本情報技術者試験の午後問題でどのプログラミング言語を選択するかは結構重要です。
業務で使用している言語であれば問題はないですが、未経験や初心者の方であれば午後対策の参考書とは別に参考書を使って基礎知識をつける必要があります。
各言語のお勧め参考書と対策についてはこちらにあります。
■アセンブラ
■表計算
■C言語
■java
また、基本情報で必要な参考書/問題集はこちらをご覧ください。
まだ持っていない方はこれらの中から参考書、問題集を各1冊づつ使ってかつ言語用の参考書の計3冊くらいあれば十分対策可能です。