関数へのインプットと、関数からのアウトプット [プログラム]
ある意味では、バーチャル・ロボット全体を一つの関数と捉えることもできる。それが関数である、というのは、その内部がどうなっているかを気にすることかなく、そのロボットに必要なデータをインプットしたら、何らかの処理が行われて、その結果がアウトプットされる、という流れに沿っているからである。
プログラムは、
データ → データ → 関数 → データ → データ
という流れで作られているということを説明したが、この関数へのインプットと、関数からのアウトプットとを意識することが、プログラムの理解の大事なポイントである。これは、個々の小さい部品の関数でも、それらを組み合わせた中規模の関数でも、そして、一番大きなプログラム全体を関数と考えたときでも、同様である。
関数、あるいは下請け作業というのは、「作業」という名前から想像できるように、単に何かの仕事をする機械にすぎない。その仕事の対象になるものは、外からデータとして与えないと、機械は単なる箱でしかない。たとえば、トースターという機械がある。パンを焼く、という仕事を行う。しかし、いくらトースターのスイッチをいれても、パンを入れなければ、ぱんは焼けない。現実世界では当たり前のことである。バーチャルな機械であるプログラム、あるいは関数も同じ事である。作業手順だけは作り込まれているが、データが与えられなければ、何の結果も生み出さない。
だから、一番下の下請け部品から、機械全体であるプログラム・マシーンに至るまで、何らかのデータのインプットがあり、それが関数の処理を経て、何らかのデータのアウトプットを生み出す、という連鎖がプログラムの流れである。
関数を使うときの基本的な形は、
a = tashizan(a, b)
という書き方になるが、このとき、a と b が、インプットされるデータであり、tashizanという関数の処理を行った結果がtashizanという関数から戻され、それに新たに a という名前を付けている。これをwythonで書くと、
数値aとbとを、関数tashizanに渡して、その結果を数値aに受け取る。
となる。そこで戻ってきたデータは、再び次の関数のインプットに利用されるのである。
コメント 0