oz

第5章 練習問題 2(b)-

2リフト制御システム (b) 制御装置を以下のように改造し、一度に移動するようにすればいい。 fun {Controller Init} Tid = {Timer} Cid = {NewPortObject Init fun {$ state(Motor F Lid) Msg} case Motor of running then case Msg of stoptimer then {Send…

第5章 練習問題 1-2(a)

1つのスレッドを共有する複数のポートオブジェクト インタリーブはロックステップで行なわれる。 まず、初期状態でポート内に2つのメッセージが格納される。 ping(0)|pong(1000)|_そして、Msgループで最初のメッセージ(ping(0))が処理される。ただし、この処…

第4章 練習問題 3-19

3 並列フィボナッチ {Fib 30}同士を比較した。単位はミリ秒。並列のほうが遅い。まあ、シングルプロセッサですし。 local S = {Property.get 'time.total'} in {PFib 30 _} {Show '---'} {Show {Property.get 'time.total'}-S} end 直列 - 410 並列 - 4980 …

第4章 練習問題 1-2

1 スレッドの意味 (a) local B in thread B=true % (1) end thread B=false % (2) end if B then % (3) if文 {Browse yes} %(4) Browse end endのように番号を付ける。3と4は順序を保持する必要がことを考慮にいれると、次のようになる。 1-2-3-4 1-3-2-4 3-…

第3章 練習問題 6-10

6 状態不変表明 P(R,Ys) = (Reverse(Xs) = R + Reverse(Ys))ただし、ここで+はAppendを表す。証明は必要かどうかわからないから、省略で。 7 別のappend関数 終了しない。Msの初期値がnilでない場合、常に{Append Ls [Xs]}が呼ばれる。そのため終了しない。 …

第二章 練習問題

核言語が初登場。書き直せという問題が多い。

第一章 練習問題

第一章の問題。Mozart/OZの紹介が多い。

練習問題を解いてみる

コンピュータプログラミングの概念・技法・モデル(asin:4798113468)を放置気味なので、ちゃんと練習問題を解いてみようと思う。 ターミナルのEmacsでやりたいので、ちょっとカスタマイズした。 OZEMACSをMacPortsのemacsにした。デフォルトだとCarbonEmacsが…

ozでHello,world

30分プログラム、その181。コンピュータプログラミングの概念・技法・モデル (IT Architects' Archiveクラシックモダン・コンピューティング)を買ったので、mozartを使えるようにする。IDEでの実行方法は書いてあったけど、やっぱり単体で実行してみたいよね…