# 共通ドキュメント

## 超基礎

### プログラムとは

#### wikipediaによる定義

プログラム（program）または計算機プログラム （computer program） とは、コンピュータの行う処理（演算・動作・通信など）の手順を指示したもののこと。

#### 問題解決のための定義

- データを (入力)
- 特定の手順で処理し(処理)
- 結果を取り出す(出力)

#### 例1 Hello Worldプログラム

入力
  「Hello World」という文字列
処理
  入力を画面出力装置に送る
出力
  画面表示

#### 例2a 電卓(基本)

入力
  数値と演算子の組み合わせ ( 1, "+",2, "+",3, "-",5 ... など)
処理
  入力された数値を演算子に基づき計算
出力
  計算結果の数値

#### 例2b 電卓(拡張)

入力
  キーボードからの文字列
処理
  1. 入力された文字列を数値と演算子に分解
  2. 電卓(基本)に計算させて結果をもらう
  3. 結果を画面出力装置に送る
出力
  画面表示

#### 例3 webアプリケーション

入力
  リクエスト文字列(URL,ヘッダー、コンテンツ)
処理
  リクエスト文字列に従って「何か」した結果を出力装置に送る
出力
  HTML文書、XML文書、バイナリーデータなど

↑の解説
簡単なwebサーバーの動作
＞「hoge.html」が要求されたら hoge.html を読み込み、そのまま出力装置に送る。

### ソフトウェア

#### wikipediaによる定義

、コンピュータシステム上で何らかの作業を行うプログラム群、プロシージャ群、それらに関する文書を指す用語である[1]。物理的装置であるハードウェアと対比させて言うときに使う。プログラムとほぼ同義だが範囲は更に広い。

### アプリケーション？？

#### wikipediaによる定義

コンピュータの利用者がコンピュータ上で実行したい作業を実施する機能を直接的に有するソフトウェアである。

### システム(アプリケーションシステム)

複数のプログラムを組み合わせて問題解決を図るソフトウェア群

#### 例 - 給与管理システム

- 労働時間入力プログラム
- 給与計算プログラム
- 給与明細発行プログラム
- 税金処理プログラム

### ポイント

#### プログラムが動作するためには 入力データ が必要

何もないところからは何も生み出せない

#### 処理内容は入力データに依存する

入力データにないデータは処理できない