実みつるのPreプログラミング

プログラミングの学習を考えている方へ

5-4 両方とも無い関数

前回まで色々な関数を見てきましたが、いよいよ今回は「引数も戻り値も存在しない」という関数を考えていきたいと思います。

 

前回の最後に少し述べましたが、コンピューターのプログラムにおける関数とは「処理」のイメージがあります。ですから、その関数を呼び出した(実行したという感じでしょうか)時に何かが行われると考えれば、引数も戻り値も要らないのではないか、という事です。

 

具体的な例を挙げてみましょう。前回出てきたチャイムを鳴らす関数を思い出して下さい。

 

Chime(チャイムを鳴らす回数)

 

この関数は引数に数字を設定すると、その回数だけチャイムを鳴らすというものでした。そこでこの関数を応用し「1回だけチャイムを鳴らす」という関数、Chime1を作ってみます。この関数は実行されたら1回しかチャイムを鳴らしませんので、回数を指定する引数は要りません。つまり、

 

Chime1( )

 

となります。この関数は引数も戻り値も存在していません。もはや関数では無い様に思えますが、プログラムではこれも立派な関数なのです。

 

では、もしこのChime1を使って、3回チャイムを鳴らしたい場合はどうしたら良いでしょうか。その場合はChime1を3回呼び出せば良いのです。

 

Chime1( )

Chime1( )

Chime1( )

 

そしてこれは、

 

Chime(3)

 

と同じ結果になることが分かりますでしょうか。

 

この様に引数を使えば「チャイムを100回鳴らす」という処理でもChime1を100回呼び出す必要は無く、

 

Chime(100)

 

と1回で済みます。この場合は明らかに引数が必要なChimeという関数の方が便利に見えますが、もしチャイムは常に1回しか鳴らさない、或いは複数鳴らしてもせいぜい2回まで、という環境であればChime1の方が便利かもしれません。

 

いずれにしましてもこの項では関数の形式の優劣は本題では有りません。ここでは引数も戻り値も要らない関数が存在し得るという事を覚えておいて下さい。

 

関数の章はここで終了と致します。今回でお伝えしたかった以下の5項目、

 

  1. 定数と変数
  2. 比較
  3. 条件分岐
  4. 繰り返し
  5. 関数

 

を全て述べました。長い時間お付き合い頂きまして有難うございました。