スポンサーリンク

38-01.プログラミング・プログラム言語

スポンサーリンク
ITパスポート
スポンサーリンク

プログラミングとは?

プログラミングとは、アルゴリズム(目的を達成するための処理手順)をプログラム言語で記述することです。

例えば、『37-01.アルゴリズム(流れ図/基本構造)』と同様、『1から3までの整数の合計を求める』アルゴリズムは、次のフローチャート(流れ図)になります。

アルゴリズム_フローチャート

このアルゴリズムをプログラム言語(C言語の場合)で記述(プログラミング)すると、以下のようになります。

/*1から3までの整数の合計を求める*/
#include<stdio.h>
int main(void){
	int x, n;
     /*①*/
	x = 0;
	n = 1;
     /*②*/
	for (n = 1; n <= 3; n++){
		x = x + n;
	}		
	printf("%d",x);
	return 0;
}
スポンサーリンク

プログラミンング言語とは?

プログラム言語には、複数の種類があり、目的や用途で使い分ます。 

分類①分類②名称説明
低水準言語機械語
(マシン語)
コンピュータが理解できる2進数の言語
アセンブラ
言語
機械語の命令部分を記号にした言語
高水準言語コンパイラ
言語
C言語UNIX(OSの一つ)の開発のために作られたプログラム言語、利用範囲が広い
Javaコンピュータの機種やOSに依存しないソフトウェアが開発可能な言語
[ジャバ]
COBOL事務処理関連のプログラム開発用言語
[コボル]
Fortran
科学技術関連のプログラム開発用言語
[フォートラン]
インタプリタ
言語
Python
人工知能(AI)の分野で注目されている言語
[パイソン]
JavaScriptブラウザ上で実行される言語(Javaとは別の言語)
Perl
テキスト処理に優れた言語
[パール]

プログラム言語の基本的な特徴と分類が、ITパスポート試験の出題傾向です。

具体的には、『低水準言語/高水準言語』の分類、高水準言語の『コンパイラ言語』と『インタプリタ言語』を抑える必要があります。

低水準言語/高水準言語

高水準言語とは、人間が解釈できる形式で記述するプログラム言語です。

一方、低水準言語は、コンピュータが解釈しやすい形式です。0と1のデジタルデータで記述するプログラム言語を特に、 機械語と呼びます。

高水準言語、低水準言語(機械語)

上の図は、高水準言語で書かれたプログラムは『3までの整数の合計を求める』という指示です。しかし、コンピュータは、0と1のデジタルデータのみ理解できるので、高水準言語で書かれたプログラムを実行できません。

つまり、コンピュータがプログラムを実行するには、低水準言語の機械語である必要があります。

しかしながら、機械語を人間が書くことは困難なので、高水準言語を機械語に変換する仕組み(翻訳)があります。

コンパイラ/インタプリタ

高水準言語で書かれたプログラム(ソースコード)を機械語への変換(翻訳は、『コンパイラ』もしくは、『インタプリタ』が実施します。

コンパイラ、インタプリタ

コンパイラはソースコードの『すべてを一括で機械語に翻訳』します。これに対してインタプリタ『1つずつ翻訳し、並行して命令を実行』します。コンパイラ、インタプリタで翻訳する言語それぞれ、コンパイラ言語インタプリタ言語と呼びます。 

補足ですが、日本語で、コンパイラは「編集者」インタプリタ は「通訳者」の意味です。したがい、編集者であるコンパイラは、機械語に全て翻訳した後にプログラムを実行する。インタプリタは通訳のように1つずつ翻訳し、並行して命令を実行するイメージで理解をしておきましょう。

オブジェクトモジュール/ロードモジュール

オブジェクトモジュール、ロードモジュール、ライブラリ

コンパイラ言語の関連用語として、『オブジェクトモジュール』『ロードモジュール』について補足説明しておきます。

●オブジェクトモジュール/ロードモジュール
・ソースコード→翻訳(コンパイラ)→オブジェクトモジュール
・オブジェクトモジュール+ライブラリ→ロードモジュール(実行ファイル)

オブジェクトモジュールは、ソースコードをコンパイラで翻訳したものです。さらに、プログラムを実行するために必要なオブジェクトモジュールとライブラリ1つにまとめたものロードモジュール(実行ファイル)と呼びます。
※ライブラリ:プログラムの機能を複数まとめて1つのファイルに収納したもの

コンピュータはロードモジュール(実行ファイル)となったソースコードを実行することができます。

スポンサーリンク

【まとめ】プログラミング・プログラム言語

それでは、最後におさらいをしておきましょう!

用語説明
高水準言語人間が解釈しやすい形式で記述するプログラム言語
低水準言語
(機械語)
コンピュータが解釈しやすい形式で記述するプログラム言語
コンパイラ言語高水準言語を機械語に一括で翻訳する言語
インタプリタ言語高水準言語を機械語に少しずつ翻訳、並行してプログラムを実行する言語
ロードモジュールオブジェクトコードやライブラリを一つにまとめた実行可能な形式(実行ファイル)
ソースコード→オブジェクトモジュール→ロードモジュール

コメント

タイトルとURLをコピーしました