基本情報 プログラミング 言語の選択と学習方法|午後問題の歩き方


2022-11-28 更新

error

この記事は基本情報技術者試験の旧制度( 2022 年以前)の記事です。
この記事の題材となっている「午後問題」は現在の試験制度では出題されません。 ご注意くださいませ。

info

アルゴリズムとプログラミング問題の対策には、新しい擬似言語にリライトした連載「アルゴリズムとプログラミング問題を解くコツ」がオススメです。

プログラミング言語の特徴と選び方

基本情報技術者試験の午後試験では、「 C 言語」「 Java 」「 Python 」「アセンブラ ( CASLⅡ ) 」「表計算」の中から、 1 つを選択しなければなりません。プログラミングの経験がない人は、「どれを選んで、どのように学習すればよいのだろう?」と悩んでしまうでしょう。

そこで、この記事では、それぞれのプログラミング言語の特徴を説明し、それぞれの学習方法をアドバイスします。

 

はじめに、それぞれの言語の特徴を説明しましょう。

「何か 1 つプログラミング言語をマスターしたい」と思っている人は、それぞれの特徴から、自分の好みに合った言語を選んでください。「やってみたい!」と思った言語を選ぶことが重要です。興味がない言語を嫌々学習したのでは、決してマスターできないからです。

C言語 の特徴

C 言語は、 IT 業界の第一プログラミング言語と呼べるものです。英語が世界の共通語であるように、 C 言語は、 IT 業界の共通語であると言えます。

図 1 は、プログラミング言語の人気ランキングを示した TIOBE Index の 2021 年 3 月のランキングを Top 10 まで示したものです。 1 年前の 3 月に 1 位だった Java を抜いて、 C 言語が 1 位になっていることがわかります。

info表は右にスクロールできます

図 1 2021 年 3 月のプログラミング言語の人気ランキング( TIOBE Index より)
Mar-21 Mar-20 Change Programming
Language
Ratings Change
1 2 call_made C 15.33% -1.00%
2 1 call_received Java 10.45% -7.33%
3 3 Python 10.31% 0.20%
4 4 C++ 6.52% -0.27%
5 5 C# 4.97% -0.35%
6 6 Visual Basic 4.85% -0.40%
7 7 JavaScript 2.11% 0.06%
8 8 PHP 2.07% 0.05%
9 12 call_made Assembly language 1.97% 0.72%
10 9 call_received SQL 1.87% 0.03%

Java の特徴

Java は、私が知る限り、現在、最もニーズが高い言語です。

ほとんどの IT 企業が、新人研修で Java を取り上げています。それは、配属後の開発の現場で Java が使われることが多いからです。先ほどの TIOBE Index でも、 Java が第 2 位になっています。

実は、ここ数年、ずっと Java が 1 位だったのですが、最近になって人気に陰りが見えてきました。そのため、第一プログラミング言語である C 言語に 1 位の座を受け渡してしまったのです。

Python の特徴

Python は、現在、最も注目が高まっている言語です。

図 2 は、プログラマ向けの雑誌「日経ソフトウエア」 2021 年 3 月号の表紙です。これを見ると、特集記事も、連載記事も、付録の冊子も、ほとんどが Python 関連になっていることがわかるでしょう。それだけ Python が注目されているからです。

先ほどの TIOBE Index でも、 Python が第 3 位になっています。第 2 位の Java との差は、ほんのわずかです。 Python の台頭によって、 Java の人気に陰りが生じたのです。

図 2 プログラマ向け雑誌「日経ソフトウエア」の表紙

アセンブラ ( CASLⅡ [CASL2] ) の特徴

アセンブラは、コンピュータのハードウエアを直接操作する命令を記述する言語です。

基本情報技術者試験のアセンブラは、 COMETⅡ (コメット・ツー)という架空のコンピュータを対象とした CASLⅡ (キャッスル・ツー)という架空のアセンブラです。したがって、開発の現場で CASLⅡ を使うことはありませんが、ハードウエアの仕組みとプログラムを関連付ける、という学習効果は、大いにあります。

表計算の特徴

表計算は、プログラミング言語ではありませんが、プログラミング言語の選択肢の 1 つになっています。

基本情報技術者試験の表計算は、 Microsoft Excel ではなく、独自仕様のものです。ただし、セルに数式や関数を入れてワークシートを作成することは、 Microsoft Excel と同様です。 Microsoft Excel を使ったことがあるなら、短時間でマスターできるでしょう。

選択のポイント

それぞれのプログラミング言語の特徴から、言語を選ぶポイントをまとめると、以下のようになります。

  • IT業界の第一プログラミング言語を学んでおきたいなら C 言語 です!
  • すぐに開発の現場で使える言語をマスターしたいなら Java です!
  • 近い将来、開発の現場でニーズが高まる言語をマスターしたいなら Python です!
  • ハードウエアの仕組みとプログラムを関連付けて学習したいなら アセンブラ です!
  • 試験までの学習時間がないなら 表計算 です!

プログラミング言語の学習方法

次に、それぞれの言語の学習方法をアドバイスしましょう。

ここでは、試験問題のプログラムを読めるレベルになるには、どのように学習すればよいかを示します。 ただし、プログラムを読めるだけでは、試験問題を解くことはできません。試験問題のテーマは、言語で示されたアルゴリズムを読み取ることだからです。 言語とアルゴリズムの学習を、並行して行ってください。

C 言語 / Java / Python の学習方法

C 言語、Java、Python の学習方法は、どれも同じです。それぞれの言語構文を解説した書籍を購入して、そこに示されたサンプルプログラムを作ってください。

プログラミング言語は、暗記して覚えるものではありません。自分の手でプログラムを作って、自分の目で動作を確認して、体得するものです。

プログラムを作るには、専用のツールが必要です。ほとんどのツールは、インターネットから無償で入手できます。ツールの入手方法とインストール方法が示された書籍を選ぶとよいでしょう。

基本構文だけがわかれば OK なので、「はじめての〇〇」や「〇〇入門」のようなタイトルの書籍がよいでしょう。

searchタグで関連記事をチェックJavaPython

アセンブラ CASLⅡ [ CASL2 ] の学習方法

アセンブラの学習も書籍で行いますが、実在するコンピュータのアセンブラではなく、基本情報技術者試験の架空のアセンブラである CASLⅡ の書籍を購入することに注意 してください。

CASLⅡのプログラムを作って動作を確認するときは、CASLⅡシミュレータを利用できます。インターネットから無償で入手できる CASLⅡ シミュレータがいくつかあります。図3は、船橋情報ビジネス専門学校が公開している CASLⅡ シミュレータです。プログラムによって、 CPU とメモリの内部がどのように変化するかを、ビジュアルに確認できます。

図 3 CASLⅡ シミュレータの例

searchタグで関連記事をチェックCASLⅡ

表計算の学習方法

表計算の学習も書籍で行いますが、 Microsoft Excel ではなく、基本情報技術者試験の表計算の書籍を購入することに注意してください。私の知る限りでは、基本情報技術者試験の表計算のシミュレータはないので、ワークシートやマクロを動作させることはできません。

searchタグで関連記事をチェック表計算

 

どの言語の学習も、書籍を購入して行うことになります。

実際に書店に行って、自分に合った書籍を探してください。書籍を最初から最後までを 1 回学習しただけでは、マスターできなくても当然です。少なくとも、同じ書籍で 3 回は学習してください。そうすれば、きっとマスターできます。

擬似言語のことを考慮すると C 言語 か 表計算 がおススメかも

基本情報技術者試験の午後試験には、 C 言語 、 Java 、 Python 、アセンブラ ( CASLⅡ )、表計算の他に、共通に使用される 擬似言語 というものがあります。

この擬似言語は、午後の選択必須問題である「データ構造およびアルゴリズム」で使われるので、読み方を覚えなければなりません。このことから、プログラミング言語では、表計算がおススメだといえます。なぜなら、表計算の問題の後半部は、擬似言語で記述されたマクロ(ワークシートを操作するプログラム)の内容を読み取るものだからです。

「擬似言語を覚えなければならないのだから、それを使える表計算を選ぶのが得策だ」というわけです。図 4 にマクロの例を示します。

図 4 表計算のマクロは擬似言語で記述されている( 平成 23 年度 秋期 午後 問 13 から抜粋)
○マクロ: BonusCalc
○整数型: row, DeptPoint
■ f
| • DeptPoint ← 0
| ■
| | • DeptPoint ← DeptPoint + 1
| | • 相対(L1, row, 0) ← DeptPoint
| ■ g
| • h

擬似言語の構文は、 C 言語 に似ています。 このことから、プログラミング言語では、 C 言語もおススメだといえます。 C 言語をマスターすれば、擬似言語も容易に理解できるからです。

図 5 に擬似言語と C 言語の構文を対応付けた例を示します。

図 5 擬似言語と C 言語 の構文を対応付けた例
擬似言語の構文

▲ 条件式
|  処理 1
+---
|  処理 2
▼

C 言語の構文

if 条件式 {
    処理 1;
} else {
    処理 2;
}


■ 条件式
|  処理
■


while (条件式) {
    処理;
}

「擬似言語の構文で、黒い三角は C 言語の if 文であり、黒い四角は C 言語の while 文だ」とわかれば、すぐに理解できるでしょう。

Java と Python には、オブジェクトを定義するクラスという構文があります。擬似言語では、クラスが使われません。 C 言語でも、クラスが使われません。この点でも、擬似言語と C 言語は、よく似ています。

searchタグで関連記事をチェック擬似言語

以上で、私のお話は、おしまいです。基本情報技術者試験のプログラミング言語の選択に悩んでいる方々に、少しでもお役に立ったなら幸いです。

それでは、またお会いしましょう!

label 関連タグ
科目A試験は、
免除できます。
独習ゼミで科目A試験を1年間免除して、科目B試験だけに集中しましょう。
免除試験を受けた 74.9% の方が、
科目A免除資格を得ています。
科目A免除試験 最大 2 回の
受験チャンス !
info_outline
科目A免除試験 最大 2 回の
受験チャンス !
詳しく見てみるplay_circle_filled
label これまでの『午後問題の歩き方』の連載一覧 label 著者