プリント第 4 章 p.6 問 4.4.2(の 3 つの小問のうち 2 つ以上)
入力文字列を行
入力文字列中の数字(‘0’ 〜 ‘9’)の出現回数をカウントして出力する。
入力文字列中の ‘@’ が出現する最初の10行だけを出力する。
参考にするプログラム: Head.hs
プリント第 7 章 p.9 問 7.3.1
次の関数を「ボタンをクリックしたら、一つの線分を表示する」 というバージョンに書き換えよ。
Sierpinski.html (Sierpinski.js)
ヒント: forward, sierpinski, zig, zag を CPS に変換する必要がある。turnLeft, turnRight については、 (この問題では) CPS にする必要はない。
参考にするプログラム:
Hanoi0.html,
Hanoi0.js,
Hanoi.html,
Hanoi.js,
Fib0.html,
Fib0.js
Fib.html,
Fib.js
(1/31 New!)
以下の問題は、非必須のチャレンジ問題です。ただし、問題を解かなくても、
Scheme, Prolog の例題を WappenLite で実際に実行してみることをお勧めします。
WappenLite は Java 仮想機械上で動作するプログラミング言語処理系をダウンロード・起動し、 ブラウザーから接続できるようにするためのプログラムです。
なお、WappenLite は Prolog, Scheme, Frege では共通のプログラムです。 一つだけダウンロードして、一つだけ実行しておけば充分です。別々にダウンロードし、 実行する必要はありません。
改良の参考にするため、 WappenLite に関する アンケートにもご協力をお願いします。(複数回の回答を防止するためログインを要求しますが、 回答者は記録しません。)
Prolog 言語をプリントで自習し、 プリント中のサンプルプログラムを元にして、 日本史や世界史、あるいは神話・物語の中の有名な家系を Prolog プログラムにし、 実行例を作成せよ。
Scheme 言語をプリントで自習し、 プリント中のサンプルプログラム以外の call/cc (call-with-current-continuation) の使用例を WWW などで探して、 できれば自分なりのアレンジを加えよ。
(授業プリント中のサンプルプログラム以外の)Haskell の遅延評価 (lazy evaluation) を有効に活用したプログラムの例を WWW などで探して、できれば自分なりのアレンジを加えよ。
できるだけ短く簡潔におさめて下さい。
提出〆切は、2 月 16 日(木)の 18:00 です。 提出場所は、香川のレターボックス(1 号館 7F 学科事務前)です。 (オンラインの提出はありません。)
B4/M2 など上記の締切までに提出するのが難しい人は、事前にメールで連絡を下さい。ただし、 事務への成績の提出締切が 2/28 ですので、それ以降の提出の場合は、成績訂正というかたちになります。 (成績表に反映されるのが遅れます。) その場合でも、2/16 及び 2/28 の時点でできたところまで、 部分提出してもらうことが望ましいです。