bitterharvest’s diary

A Bitter Harvestは小説の題名。作者は豪州のPeter Yeldham。苦闘の末に勝ちえた偏見からの解放は命との引換になったという悲しい物語

Haskell ドリル1 四則演算

1.概略

小学校の頃、ドリルで算数や国語を学んだ人は多いと思う。新しい分野を学ぶとき、その考え方を身に付けるまで、同じような繰り返し作業を行う必要がある。ここでも、Haskellを学ぼうとする人のために、ドリル形式で、Haskellの基本を学んでもらう。

取りあえず、用意するのは、Haskell-Platformだけである。これは、Haskell-Platformのホームページからダウンロードすることができる。32bit版と64bit版があるが、新しいコンピュータは64bitになっているので、後者をダウンロードすればよい。ダウンロードすると、HaskellPlatform-2014.2.0.0-x86_64-setupのファイルが得られるので、これをダブルクリックして、インストールすればよい。

インストールが終了すると、インストールされたアプリケーションの中にWinGHCiがあるので、これを利用することとする。WinGHCiのアイコンをダブルクリックすると次のような画面が得られる。
f:id:bitterharvest:20141209065845p:plain
この画面を利用して、Haskellでの四則演算を学ぶ。

2.例題

問題:最初に加算を学ぶ。xの値を3とし、yの値を4とし、zをx + yとしたとき、zの値を求める。

Haskell-Platformでは、変数に値を与えるときはletを用いる。xの値を3にする場合には、let x = 3とする。また、変数の値を見るときは、変数をそのまま書いてもよいし、printを用いてもよい。上の問題は以下のように解くことができる。

f:id:bitterharvest:20141209070807p:plain

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を求めなさい。