BUNZIN NET ポータル / プログラムは考え方です / メルマガバックナンバーリスト
前のメルマガ / 次のメルマガ

2009/08/25発行 『【櫻井です】小さなプログラムを関数に置き換えてみる』

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
レンタル掲示板とクイズ投稿サイトを開発した櫻井文人の
プログラムの考え方が身につくメルマガ『プログラムは考え方です』
───────────────────────────────────
メルマガ発行人
櫻井文人のプロフィール ⇒ http://www.bunzin.net/program/prof.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

こんにちは、メルマガ発行人の櫻井文人です。

なんと金ちゃん焼きそばにカレー味もありました。
詳しくは編集後記で。


前回のメルマガでは、大きなプログラムも小さなプログラムの集まりで
あることを説明しました。

そんな小さなプログラムを関数というものに置き換えて、
より扱いやすくしてみましょう。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■■ 小さなプログラムを関数に置き換えてみる
───────────────────────────────────

大きなプログラムを小さなプログラムに分けてみることで、
プログラムが分かりやすくなることが分かりました。

でも、プログラムが大きくなればなるほど、プログラム全体を見渡すのは
きつくなっていきます。

そういった場合は、小さなプログラムを関数に置き換えることによって、
大きなプログラムもすっきりして、全体が見渡しやすくなります。

さて、それでは関数とはいったいなんなのでしょうか?

ものすごく簡単に言ってしまえば、関数とはいくつかの命令をまとめて
プログラムの外に出したものと言えます。

まずは、例として、前回のメルマガで紹介したプログラムの中の
小さなプログラム「お菓子の個数を入力して金額を計算する」を、
以下のように関数に置き換えてみました。

----------------------------------------------------------------------
rem プログラムの開始

rem **********************************************
rem お菓子の個数を入力して金額を計算する
rem **********************************************
result = CalculateOkashi()

rem **********************************************
rem 合計金額を表示する
rem **********************************************
MsgBox "合計で" & result & "円です。"

rem **********************************************
rem 合計金額が300円を超えていたら警告を表示する
rem **********************************************
If result > 300 Then
   MsgBox "おやつは300円までですよ!"
Else
   MsgBox "予算内におさまりました。"
End If

rem **********************************************
rem お菓子の個数を入力して金額を計算する関数
rem **********************************************
Function CalculateOkashi()
   n = InputBox ("50円のお菓子をいくつ買いますか?")
   CalculateOkashi = 50 * n
End Function

rem プログラムの終了
----------------------------------------------------------------------

 ※参考までに「前回のメルマガ」はコチラから閲覧できます ⇒
    http://www.bunzin.net/program/mailmaga/backnumber/20090817.html

プログラムの一番後ろに「お菓子の個数を入力して金額を計算する関数」
というものが追加されていますね。これが関数です。
「お菓子の個数を入力して金額を計算する」小さなプログラムは
すべてこちらに外出ししました。

関数の先頭の「Function CalculateOkashi()」という箇所に
「CalculateOkashi」という記述があります。
これが関数の名前になります。

そしてプログラムの先頭で関数の名前「CalculateOkashi」が
記述されています。この部分が実行されると関数の中身が実行されます。


今回は、例にしているプログラムが小さすぎるため、
小さなプログラムを関数に置き換えてもまったく意味がないように
見えるかもしれません。

しかし、プログラムが大きくなればばるほど、小さなプログラムを的確に
関数に置き換えていけば、プログラム全体が階層的になっていきます。
その結果、全体を見渡しやすくなります。

また、プログラムの中に同じような箇所が多ければ、その箇所を関数に
置き換えると、1回の記述ですむのでプログラムの無駄がなくなります。


次回からは、もう少し関数について詳しく説明していきたいと思います。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■■ 編集後記
───────────────────────────────────

なんと金ちゃん焼きそばにカレー味もありました。

前回のメルマガでは金ちゃんヌードルに続いて、金ちゃん焼きそばも
紹介しましたが、この金ちゃん焼きそばにカレー味もあったのです。

焼きそばなのにカレー味ということで、こちらもすごく気になったので
買って食べてみました。

微妙な味を予想していましたが、思ったよりうまいです。
というか、すごくうまかったでした。

カレー味なのにちゃんと焼きそばの味がするのが不思議です。
スパイシーな感じの焼きそばといった感じでしょうか。
ちょっと濃いけどくどくなく、これはこれで癖になりそうです。

金ちゃん焼きそばカレー味も、買ったスーパーにまた買いにいったら、
金ちゃん焼きそば復刻版と同様に、残念ながらもう売っていませんでした。

やっぱり手に入らないと余計食べたくなってしまいます。

ちなみに金ちゃんヌードルはいつも売っていますが、、
やはり人気があるようで、すぐ売り切れてしまいます。


最後までお読みいただき、ありがとうございました。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

●櫻井が開発したレンタル掲示板は
  コチラ ⇒ http://www.bunzin.gr.jp/m_board/

  画像のアップロードも可能なレンタル掲示板です。
  無料ですのでお気軽にどうぞ。


●櫻井が開発したクイズ投稿サイトは
  コチラ ⇒ http://www.bunzin.gr.jp/quiz/

  あなたが考えたクイズを投稿することができます。
  投稿されたクイズに回答することもできます。
  無料ですのでお気軽にどうぞ。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
メルマガ発行人 櫻井文人

メルマガ発行責任者情報は
 コチラ ⇒ http://www.bunzin.net/program/mghsinfo.html

アドレス変更と登録解除はコチラ ⇒ http://www.mag2.com/m/0000293166.html

メルマガバックナンバーは
 コチラ ⇒ http://www.bunzin.net/program/mailmaga/backnumber/

櫻井文人のプロフィール ⇒ http://www.bunzin.net/program/prof.html

ご意見・ご感想はコチラ ⇒ bunzin●bunzin.gr.jp
(メール送信の際は、●を@に置き換えてください。)
(櫻井が確実に読みますが、返信は保障できません。)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
メルマガ登録・解除
 
前のメルマガ / 次のメルマガ
企画・運営・管理 BUNZIN NET