17と18のリビジョン間の差分
2020-07-20 06:27:35時点のリビジョン17
サイズ: 6145
編集者: TakanoriKono
コメント:
2020-07-20 06:50:26時点のリビジョン18
サイズ: 4541
編集者: TakanoriKono
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 12: 行 12:
== コンピュータ・プログラム ==
コンピュータ上で、様々なアプリケーションを用いて作業することは一般に行われているが、これらのアプリケーションの内部ではユーザーからの入力に応じて適切な処理(計算、ネットワーク経由のデータのやり取り、画面への描画等)を行っている。このような処理が実現するのもアプリケーションの動作を記述するプログラムが存在するからである。
ここでは、主としてC++プログラミング言語で規定されている仕様に基づいてプログラムの書き方を解説する。言語仕様で規定されているのは、OSの種類やハードウェア構成等に依存しない部分のみで、基本的には入力データから望みの出力データを得るための計算手順を記述する方法及びファイルへの入出力である。
プログラムを書き始める前の準備としてプログラムのコンパイル手順、ターミナルにおける作業でプログラムとデータをやり取りする方法を説明する。
行 16: 行 14:
[[ProgrammingCpp1|プログラミングの基本]]

プログラミング言語は人間が読める形式(ソースコード、テキスト形式)で記述するが、実際にコンピュータでプログラムを実行するためには電子回路(プロセッサ)が処理できる形式(マシンコード)に変換する必要がる。この変換作業をプログラムのコンパイルと呼ぶ。慣例として、C++プログラムのソースコードを記述するファイルには、.cpp, .cxx, .cc等の拡張子を付ける。ここでは、ソースファイルには.cxxを付けて、実行可能ファイルには拡張子.exeを付けることにする。

C++言語の中身を見ていく前に、まずプログラムのソースコードを書いて、コンパイル、実行するための環境を整えておく。
(ProgrammingCppCompilation)次に、計算結果を確認する手段として画面に出力結果を表示したり、プログラムの実行に必要なデータを渡すために必要となる、プログラムへのデータ入出力の方法を示す。(ProgrammingCppInputOutput)

内容へのリンク:
 1. ProgrammingCppCompilation
 2. ProgrammingCppInputOutput
 * プログラムのコンパイル(ProgrammingCppCompilation)
 * ターミナル入出力(ProgrammingCppInputOutput)
行 30: 行 20:
多様な問題を扱うために、どのようにデータを表現し、そのデータをどのように加工するかを学ぶ必要がある。まず、最も基本的なデータ型(整数、浮動小数点数、文字列)とその演算(ProgrammingCppDataType、ProgrammingCppOperator)を知り、その後、多数のデータを扱うためのデータの配列(ProgrammingCppArray)と繰り返し処理、条件分岐(ProgrammingCppFlow)の書き方を習得する必要がある。この段階で一通りプログラムを書くことは可能である。
ProgrammingCppString
ProgrammingCppFile
コンピュータで多様な問題を扱うためには、問題で扱うデータをコンピュータ上でどのように表現するかを考える必要がある。コンピュータではデータは"0"と"1"という2つの値をとる状態(ビット)が基本となる。整数、実数、文字、画像、音声なども複数のビットを使って表現する必要がある。C++言語で扱える基本的なデータ型、データに対する演算、そしてそれらを利用した簡単な計算の仕組みを説明する。

 * 基本データ型(ProgrammingCppDataType)
 * データの演算(ProgrammingCppOperator)
 * 配列と文字列(ProgrammingCppArray)
 * 繰り返しと条件分岐(ProgrammingCppFlow)

この段階で一通りプログラムを書くことは可能である。
行 37: 行 33:
ここでの内容へのリンク:
 1. ProgrammingCppDataType
 2. ProgrammingCppOperator
 3. ProgrammingCppArray
 4. ProgrammingCppFlow
 5. ProgrammingCppString
 6. ProgrammingCppFile
 7. ProgrammingCppFunction
 8. ProgrammingCppClass
 * 関数の宣言・定義・呼び出し(ProgrammingCppFunction)
 * 分割コンパイルとライブラリ(ProgrammingCppLibrary)

 * 構造体とクラス(ProgrammingCppClass)
 * ファイル入出力(ProgrammingCppFile)
 * テンプレート(ProgrammingCppTemplate)

C++によるプログラミング

初心者向けに、C++プログラミング言語によるプログラムの書き方を説明する。それぞれの項目でコード例を載せてあるので、実際にソースコードを入力、コンパイル、そして実行してみて欲しい。 プログラミングはコードを書くことに慣れることが重要である。まずは、100行程度のプログラムをすらすら書けるようになることを目標にする。

プログラムのソースコードと実行可能プログラム

以下のように、人間が読めるプログラミング言語で書かれたプログラムをソースコードと呼ぶ。 ソースコードを元に、コンピュータで実行できるプログラムを作ることを、ソースコードをコンパイルすると言う。

Programming2.png

プログラムを書き始める前の準備としてプログラムのコンパイル手順、ターミナルにおける作業でプログラムとデータをやり取りする方法を説明する。

C++プログラミングの基礎

ここからプログラムで、いろいろな計算を行うために必要となる要素を解説していく。ここでは、広い意味で「計算」という言葉を使う。計算の最も単純な例としては、2つの数値の四則演算が挙げられる。それ以外にも、線形代数全般、微分方程式を解法、多次元関数の積分、関数の最小化(最小二乗法を含む)、統計計算等様々なものが含まれる。

コンピュータで多様な問題を扱うためには、問題で扱うデータをコンピュータ上でどのように表現するかを考える必要がある。コンピュータではデータは"0"と"1"という2つの値をとる状態(ビット)が基本となる。整数、実数、文字、画像、音声なども複数のビットを使って表現する必要がある。C++言語で扱える基本的なデータ型、データに対する演算、そしてそれらを利用した簡単な計算の仕組みを説明する。

この段階で一通りプログラムを書くことは可能である。

但し、プログラムが複雑化するにつれ、コードを簡潔に効率よく記述するための工夫が重要になってくる。これはコードの記述量を抑えることができるとともに、コードの可読性(メンテナンス)を高める効果もある。 例えば、何度も繰り返し行う処理は、複数行にまたがる処理を関数として定義して、呼び出す際には1行追加するだけで済ませることができる(ProgrammingCppFunction)。 また、大量のデータを扱う際には関連するデータを構造化してまとめて置くと便利である。さらに誤ってデータを書き換えてしまう失敗を防ぐために、複雑なデータ構造を扱う際にはどのような操作が許されるかを規定して、それらの操作(具体的には関数として定義)を通してのみデータの読み書きを行うようにすればメンテナンス性を大幅に挙げられる。このようなプログラムの書き方を可能にするためにC++言語では、構造体やクラスという概念が導入されている(ProgrammingCppClass)。これは一般にオブジェクト指向プログラミングという手法である。

発展的内容(知っておくと便利)

内容へのリンク:

  1. ProgrammingCppTemplate

  2. ProgrammingCppNamespace

  3. ProgrammingCppFileAdvanced

  4. DesignPattern

C++言語仕様以外の話題

内容へのリンク:

  1. ProgrammingCppSystem

  2. ProgrammingCppIPC
  3. ProgrammingCppNetwork

  4. ProgrammingCppGUI

ProgrammingCpp (最終更新日時 2020-07-20 06:51:07 更新者 TakanoriKono)