= C++によるプログラミング = 初心者向けに、C++プログラミング言語によるプログラムの書き方を説明する。それぞれの項目でコード例を載せてあるので、実際にソースコードを入力、コンパイル、そして実行してみて欲しい。 プログラミングはコードを書くことに慣れることが重要である。まずは、100行程度のプログラムをすらすら書けるようになることを目標にする。 == プログラムのソースコードと実行可能プログラム == 以下のように、人間が読めるプログラミング言語で書かれたプログラムをソースコードと呼ぶ。 ソースコードを元に、コンピュータで実行できるプログラムを作ることを、ソースコードをコンパイルすると言う。 {{attachment:Programming2.png||width=800}} プログラムを書き始める前の準備としてプログラムのコンパイル手順、ターミナルにおける作業でプログラムとデータをやり取りする方法を説明する。 * プログラムのコンパイル(ProgrammingCppCompilation) * ターミナル入出力(ProgrammingCppInputOutput) == C++プログラミングの基礎 == ここからプログラムで、いろいろな計算を行うために必要となる要素を解説していく。ここでは、広い意味で「計算」という言葉を使う。計算の最も単純な例としては、2つの数値の四則演算が挙げられる。それ以外にも、線形代数全般、微分方程式を解法、多次元関数の積分、関数の最小化(最小二乗法を含む)、統計計算等様々なものが含まれる。 コンピュータで多様な問題を扱うためには、問題で扱うデータをコンピュータ上でどのように表現するかを考える必要がある。コンピュータではデータは"0"と"1"という2つの値をとる状態(ビット)が基本となる。整数、実数、文字、画像、音声なども複数のビットを使って表現する必要がある。C++言語で扱える基本的なデータ型、データに対する演算、そしてそれらを利用した簡単な計算の仕組みを説明する。 * 基本データ型(ProgrammingCppDataType) * データの演算(ProgrammingCppOperator) * 配列と文字列(ProgrammingCppArray) * 繰り返しと条件分岐(ProgrammingCppFlow) この段階で一通りプログラムを書くことは可能である。 == より複雑なプログラムを書く == 但し、プログラムが複雑化するにつれ、コードを簡潔に効率よく記述するための工夫が重要になってくる。これはコードの記述量を抑えることができるとともに、コードの可読性(メンテナンス)を高める効果もある。 例えば、何度も繰り返し行う処理は、複数行にまたがる処理を関数として定義して、呼び出す際には1行追加するだけで済ませることができる(ProgrammingCppFunction)。 また、大量のデータを扱う際には関連するデータを構造化してまとめて置くと便利である。さらに誤ってデータを書き換えてしまう失敗を防ぐために、複雑なデータ構造を扱う際にはどのような操作が許されるかを規定して、それらの操作(具体的には関数として定義)を通してのみデータの読み書きを行うようにすればメンテナンス性を大幅に挙げられる。このようなプログラムの書き方を可能にするためにC++言語では、構造体やクラスという概念が導入されている(ProgrammingCppClass)。これは一般にオブジェクト指向プログラミングという手法である。 * 関数の宣言・定義・呼び出し(ProgrammingCppFunction) * 分割コンパイルとライブラリ(ProgrammingCppLibrary) * 構造体とクラス(ProgrammingCppClass) * ファイル入出力(ProgrammingCppFile) * テンプレート(ProgrammingCppTemplate) == 発展的内容(知っておくと便利) == 内容へのリンク: 1. ProgrammingCppTemplate 2. ProgrammingCppNamespace 3. ProgrammingCppFileAdvanced 4. DesignPattern == C++言語仕様以外の話題 == 内容へのリンク: 1. ProgrammingCppSystem 2. ProgrammingCppIPC 3. ProgrammingCppNetwork 4. ProgrammingCppGUI