2021.03.22  2021.04.09

プログラミングのアルゴリズムとデータ構造。オブジェクト指向とは何かを説明する

皆さんこんにちは!マコブログです!
今回は、プログラミングのアルゴリズムとデータ構造。オブジェクト指向とは何かについて紹介していきたいと思います。


プログラミング


システムの設計後、作成した設計書に従って、システムを構成するソフトウェアを作成します。ソフトウェアの作成とは、具体的にはソフトウェアの元になるプログラムを作ることです。プログラムとは、コンピュータに処理させたい内容を記述したもので、プログラムを作成することをプログラミングといいます。
プログラムに処理させたい内容を記述するといっても、単純に「データAとデータBを合計する」などと記述してもコンピュータには内容が理解できません。プログラムは、コンピュータが理解できる二進数で表現する言語によって記述する必要があります。しかし、処理内容を全て二進数で記述するのは物理的に難しいので、実際はもう少し人間にとって理解しやすい言語であるプログラム言語によって記述します。プログラム言語で記述したプログラムをソースコードといいます。ソースコードは、コンパイラと呼ばれる専用のソフトを使用して機会語に変換(コンパイル)してから、コンピュータで実行します。

プログラム言語の種類

プログラム言語には、さまざまな種類があります。開発するソフトウェアの内容によって適切なものを選びます。
アセンブラ…機械語に近い言語
C言語…多くのOSやアプリケーションソフトウェアの開発に使われている
Java…アプリケーションソフトウェアの他に、Webサーバ上で動作するソフトウェアであるWebアプリケーションソフトの開発などに使われている。コンピュータの機種やOSに依存しないソフトウェアが開発できます。


オブジェクト指向とは?

オブジェクト指向とは、データと、データに関する処理を1つのまとまり(オブジェクト)として管理し、それらのオブジェクトを組み合わせて開発する技法です。プログラムをオブジェクト単位で管理できる為、一部の仕様に変更があっても他の部分へ影響が出にくく、独立性が高いのが特徴です。
また、オブジェクト単位で呼び出して利用できるため、オブジェクトの内部構造を知る必要がありません。
再利用性や生産性が高く、小規模なシステムから大規模なシステムの開発まで行えます。

マークアップ言語

コンピュータに処理させる処理手順ではなく、コンピュータで扱う文書を記述する言語としてマークアップ言語というものもあります。マークアップ言語では、支持を「<>」で囲んだタグによって記述し、文書の構造や見せ方を定義します。
マークアップ言語の種類は、以下のとおりです。

HTML(Hyper Text Markup Language)…Webページを記述するための言語、タグを使用してWebページのレイアウトや論理構造を指定する。
XML(Extensible Markup Language)…Webページのほか、さまざまなものを記述できる。HTMLが決まったタグにしか使用できないのに対し、XMLは独自のタグを使用することができる。
CSS(Cascading Style Sheets)…マークアップ言語と組み合わせて、文書の見栄えを定義する言語をスタイルシートといいます。HTMLと組み合わせて、Webページの文字サイズや色、背景色等、デザインを定義するスタイルシートをCSS(カスケーティングスタイルシート)といいます。CSSを使うと、Webサイト全体のデザインに統一性を持たせることができます。

アルゴリズム

プログラムを書く際、最終的に処理させたい内容が同じであったとしても、それまでには何通りもの処理手順が考えられます。例えば、膨大な量のデータから目的のデータを探す処理の場合、端から順に探す方法やランダムに探す方法など、いくつもの手順があります。この何通りもある処理手順の1つをアルゴリズムといいます。より良いアルゴリズムを使ってプログラミングすることによって、処理が速く、無駄のないプログラムを作ることができます。


フローチャート

アルゴリズムは、複雑になってくると頭の中だけで整理するのは難しい為、図式化して把握します。アルゴリズムは、フローチャート(流れ図)と呼ばれる図に表すことができます。

データ構造

コンピュータは、プログラムの内容に従ってメモリからデータを取り出し、処理します。そのため、適切なアルゴリズムでプログラミングを行うためには、データがメモリ上にどのような構造で保存されているかという事も考慮しなければなりません。代表的なデータ構造には、以下のものがあります。

配列…データを順番に並べた構造。目的のデータが「何番目にあるか」を指定することで、データを取り出すことができる。データの順番を表す数を添字(そえじ)という。
キュー…先に入れたデータから先に取り出す、先入れ先出し。またはFIFO(First-In First-Out)と呼ばれる構造。先頭のデータを取り出すのに効率的な構造となっている。
スタック…最後に入れたデータから先に取り出す。後入れ先出し、またはLIFO(Last-In First-Out)と呼ばれる構造。積み上げ形式の構造で、よく使うデータは常に上にあるので、効率よく取り出せる。データを入れることをPush(プッシュ)、出すことをPOP(ポップ)という


まとめ

いかがでしたか?
今回は、プログラミングのアルゴリズムとデータ構造。オブジェクト指向とは何かについて説明しました。
是非こちらの記事も是非チェックしてみてください↓
ブログ開設から1カ月以内にグーグルアドセンスの審査に合格した話

あなたにオススメの記事
マコブログ
Makoto
高校卒業と同時にプログラミングを学習しはじめ、今年で4年目になります。
普段はフロント周りで作業をしていて、WordPressの開発とSEO対策には自信があります。
マコブログでは、プログラミングやSEO対策についての情報を発信しています。

よく読まれる記事

S&P500研究所

【マコブログ 2nd】S&P500研究所がOPENしました!!

Read More →