入力(出力)という「副作用」 数学の関数 値を与えると値を返す 何回利用しても同じ結果にしかならない 例 : sin(x) + sin(x) == 2 * sin(x) 「純粋関数」 「副作用」を持たない関数 ( cf. 「数学」の「関数」は「純粋」) 数学的な操作 (置き換えや、交換等)が可能 : 「(『論理的』に..)扱い易い」 「実行順序」に意味がない(素直) C 言語の関数 「副作用」を持つ場合がある 「副作用」の例 : 入出力 ( 他にも色々ある ) 「実行順序」に意味がある (だから、「制御構造」に『意味』がある) 「扱いが不便」だが「やり甲斐」がある