# 共通ドキュメント

## プログラムの要素

### 入力

#### 入力データの発生源

- キーボードからの入力
- マウスの動作
- テキストファイル
- データベーステーブル
- RSS出力サービス
- xml webサービス
- 他のプログラム
- etc...

#### 入力データの型

- 数値
- 文字列
- 数値、文字列などの組み合わせ
- リスト
- 辞書データ
- etc...

#### 例

- キーボートで文字を入力
- キーボートで数字を入力
- ×キーボートで数値を入力(入力した数字が数値なのか何なのか、入力した時点では分らない)
- マウスを左クリック
- マウスを右クリック
- マウスをダブルクリック
- 「新規テキスト文書.txt」
- 給与明細テーブルのとある行

### 出力

#### 出力先

- 画面
- テキストファイル
- データベーステーブル
- html文書
- xml文書
- etc...

#### 出力の型

- 数値
- 文字列
- 数値、文字列などの組み合わせ
- リスト
- 辞書データ
- etc...

### 処理

#### 処理の中身

- キーボードから入力した文字列を数値に変換する
- マウスでクリックした点に円を描く(出力先=画面)
- テキストファイルを表示し、キーボードから入力した文字列を追加し、保存する
- 労働時間テーブルの内容を労働者と月単位で集計して給与明細テーブルに保存する
- リストデータを特定の順序で並び替える
- RSS出力サービスが出力したXML文書をタイトル、本文、更新日などに分割し、HTML文書を作成
- etc...

### ポイント

#### ある処理に対する入力はその処理が扱える型が必要

ソート処理にはリスト構造が必要

数値計算には数値が必要

給与計算するためには「労働者、労働時間数、働いた年月が必要

RSSリーダーには「RSSデータ」が必要(RSSデータでないxml文書を入力しても何も出来ない)