Workshop/StartHaskell2/exercise8

『入出力』 練習問題

何もしない

returnを使って「何もしない」プログラムを書いてみましょう。


I/Oアクションを実行する

下の3つのI/Oアクションを使って、これらを上から順番に実行する関数を、do構文を使ったものと、sequence関数を使ったものと2通りで書いてみよう。


プログラムの終了

“q”と入力されたら終了するプログラムを書こうと思ったが、バグっていてうまく終了しない。このプログラムを直して、ちゃんと動くようにしよう。


数の統計情報を表示する

ユーザーから空白区切りの数の入力をもらって、その合計と平均値を表示するコードを書いてみよう。

実行例


エコー

ユーザーの入力をそのまま表示するプログラムを作ろう。

ただし “quit” と入力されたときは “Do you really want to quit? (yes/no)” と表示して、次の入力が “yes” だったらプログラムを終了する。

実行例

文字出力の際、バッファリングの関係ですぐに表示されないことがある。そのときは hFlushを使うとよい。


素敵な名前

名前をキーボードから入力させ、入力した名前があなたの名前と同じだったら、「いい名前だね!」と表示するプログラムを書いてみましょう。


九九の表

こんな感じの九九の表を表示してみよう。

Haskellには、いわゆるprintf関数もある。printfを使うときは Text.Printf モジュールをインポートする。


フィボナッチ数列を表示する

ユーザーから数字の入力を受け取り、その長さだけフィボナッチ数列を表示するプログラムを作ろう。

実行例