変数を使って,「40人の学生が, 1時間のうち50分働き10分休むというペースで, 1日10時間働くことを30日間続けた場合ののべ秒数」の計算式を書き直してみましょう.
# let seconds_per_minute = 60;; (* 一分間の秒数 *) val seconds_per_minute : int = 60 # let minutes_per_hour = 50;; (* 一時間あたりの働いた分数 *) val minutes_per_hour : int = 50 # let hours_per_day = 10;; (* 一日あたりの働いた時間数 *) val hours_per_day : int = 10 # let days = 30;; (* 働いた日数 *) val days : int = 30 # let students = 40;; (* 学生数 *) val students : int = 40 # seconds_per_minute * minutes_per_hour * hours_per_day * days * students;; - : int = 36000000 #
変数を使ったことで式は長くなりましたが, 計算の意図は前よりもはっきりしましたね.
最後の式は長くなったので2行に分かれていますが, Ocaml では複数の行にまたがった式を書いても構いません. キーボードから式を入力している場合は, ;; が入力されるまでが1つの式として扱われます.
では, 1時間あたりの休憩を5分短くして(つまり1時間あたり5分余計に働き), 3人学生を追加した場合ののべ秒数を計算してみましょう.今度はどこに3や5を足すかがすぐに分かりますね.
# seconds_per_minute * (minutes_per_hour+5) * hours_per_day * days * (students+3) ;; - : int = 42570000 #
練習として, 次のような場合の計算式を変数を使って書いてみて下さい.
どのような変数を用意すると意図がはっきりした式を書くことができるでしょうか?
17.4.7 変数を定義して値に名前を付ける | 17.4.8 変数を使って式を整理する | 17.4.9 二次方程式の解の計算 | ||
2009年度版に向けて現在作業中です.
このページに関してお気づきの点がありましたら
コメント投稿システムまでお願いします.
|
Wed, 06 Jul 2005 13:02:36 JST (1486d) |