1.概略
前回の記事では、変数に数を与えて計算していたが、同じものを扱うときでも、いちいち、変数に数を与えて計算するのでは面倒くさい。そこで、ここでは、Haskellの一つの特徴である関数を利用し、関数の変数に値を与えれば、計算をしてくれるようにする。
2.例題
問題:3つの数を加える関数sum3 x y zを作成しなさい。
sum3は、 x, y, zを加えればよいので、sum3 x y z= x + y + zとすればよい。sum3 5 6 7 とすると18が得られる。この様子を示したのが、下図である。
3.問題
問題1:3つの数を掛け合わせた関数multiply3 x y zを作成しなさい。また、変数に値を与えて、正しく動くことを確認しなさい。
問題2:2つの数の二乗を足し合わせた関数square2 x yを作成しなさい。また、変数に値を与えて、正しく動くことを確認しなさい。
問題3:3つの数を足し合わせ、その合計の二乗を得る関数square3 x y zを作成しなさい。また、変数に値を与えて、正しく動くことを確認しなさい。
問題4:三角形の底辺をa、高さをhとしたとき三角形の面積を求める関数triangle a hを作成しなさい。また、変数に値を与えて、正しく動くことを確認しなさい。
問題5:円の半径をrとしたとき円周を求める関数circumference rを作成しなさい。また、変数に値を与えて、正しく動くことを確認しなさい。
問題6:正六角形の一片の長さをaとしたとき、その面積を求める関数hexagon aを作成しなさい。また、変数に値を与えて、正しく動くことを確認しなさい。
問題7:利率rの複利の定期預金にa円預金したとする。b年後の現在高を計算する関数amount r a bを作成しなさい。また、変数に値を与えて、正しく動くことを確認しなさい。
問題8:直線の道に街路樹が等間隔にa本植えられている。また、最初の木から最後の木までの距離はbである。隣り合う木の間隔を求める関数distance a bを作成しなさい。また、変数に値を与えて、正しく動いていることを確認しなさい。
問題9:二人の人が同じ方向に向かって歩いている。現在、時速aキロメートルで歩いている一方の人は時速bキロメートルで歩いている他方の人のcキロメートル先にいる。t時間後の二人の距離を求める関数distance1 a b c tを作成しなさい。また、変数に値を与えて、正しく動くことを確認しなさい。
問題10:二人の人が対面の方向に向かって歩いている。現在、時速aキロメートルで歩いている一方の人と時速bキロメートルで歩いている他方の人との距離はcキロメートルである。t時間後の二人の距離を求める関数distance2 a b c tを作成しなさい。また、変数に値を与えて、正しく動くことを確認しなさい。