1.概略
小学校の頃、ドリルで算数や国語を学んだ人は多いと思う。新しい分野を学ぶとき、その考え方を身に付けるまで、同じような繰り返し作業を行う必要がある。ここでも、Haskellを学ぼうとする人のために、ドリル形式で、Haskellの基本を学んでもらう。
取りあえず、用意するのは、Haskell-Platformだけである。これは、Haskell-Platformのホームページからダウンロードすることができる。32bit版と64bit版があるが、新しいコンピュータは64bitになっているので、後者をダウンロードすればよい。ダウンロードすると、HaskellPlatform-2014.2.0.0-x86_64-setupのファイルが得られるので、これをダブルクリックして、インストールすればよい。
インストールが終了すると、インストールされたアプリケーションの中にWinGHCiがあるので、これを利用することとする。WinGHCiのアイコンをダブルクリックすると次のような画面が得られる。
この画面を利用して、Haskellでの四則演算を学ぶ。
2.例題
問題:最初に加算を学ぶ。xの値を3とし、yの値を4とし、zをx + yとしたとき、zの値を求める。
Haskell-Platformでは、変数に値を与えるときはletを用いる。xの値を3にする場合には、let x = 3とする。また、変数の値を見るときは、変数をそのまま書いてもよいし、printを用いてもよい。上の問題は以下のように解くことができる。
3.問題
それでは問題を解いてみよう。
問題1(加算):xの値を325とし、yの値を567とし、zをx + yとしたとき、zの値を求める。
問題2(減算):xの値を743とし、yの値を321とし、zをx - yとしたとき、zの値を求める。
問題3(乗算):xの値を42とし、yの値を13とし、zをx * yとしたとき、zの値を求める。
問題4(除算):xの値を46とし、yの値を32とし、zをx / yとしたとき、zの値を求める。
問題5:x=5, y=23, z=35, a = x + y - zとした時のaを求めなさい。
問題6:x=51, y=19, z=32, a = (x + y) / zとした時のaを求めなさい。
問題7:x=51, y=19, z=32, a = x + y / zとした時のaを求めなさい。
問題8:x=51, y=19, z=32, a = (x + y) / zとした時のaを求めなさい。
問題9:x=12, y=42, z=3, a = (x + y) * zとした時のaを求めなさい。
問題10:x=12, y=42, z=3, a = x + y * zとした時のaを求めなさい。