xTuringMachine


This applet was originally written by David Eck for use with his introductory computer science textbook The Most Complex Machine. However, it can also be used on its own.


xTuring Machineを起動するには次のオリジナルサイトに入って、

"launch xTuringMachine"をクリックしてください。 original URL.


The Sample Machines(例題)

(ファイル名を右クリックすれば、名前を付けて保存することができる)

オリジナルサイト(original URL)に記載されたサンプル

The applet on this page is set up to load four sample Turing machines. Here are brief descriptions:

テキストにあるサンプル

過年度生のサンプル


自分のパソコンでxTuringMachineのプログラムを保存する方法

(授業で使用するときは次の3-1-1.を実行すればよい)

  1. オリジナルサイト(original URL)にあるxTuringMachineをJavaアプレットとして起動した場合、作ったxTuringMachineのプログラムを保存したり、読み込んだりできません。

  2. 自分のパソコンで単独に動かすことにより保存や読み込みができるようになります。そのための方法をここに記します。まず、次のファイルをダウンロードします。
    xTuringMachine.zip
  3. 次に、ダウンロードしたファイルがある同じフォルダから、次のコマンドをコマンドプロンプト(Windowsの場合、スタートー>すべてのプログラムー>アクセサリー>コマンドプロンプトを左クリック)から打ちます。
    1. 現在のフォルダを見るのは、> (プロンプト)cd(エンター)
    2. ドライブを切り替えるのは> (ドライブ名):(エンター)
    3. フォルダを変えるのは、> 移りたいフォルダ名(エンター)
    4. 船海4Fの計算機やCMCの計算機を用いる場合は、各自のUSBメモリーに適当なフォルダを作成(フォルダ名は英数字半角で)し、そこで作業するのがよいでしょう。

3-1.船海4Fの計算機の場合、あるいは、通常(SUN版)のJAVAがインストールされているWindows PCまたはMacの場合

3-1-1.下にリンクされたバッチファイルには、上のコマンドが書かれているので、2.のファイルとともにダウンロードし、このバッチファイルのアイコンをダブルクリックすれば、自動的にxTuringMachineが起動します。
suuchi1xTuring.bat

3-2.Microsoft版(Microsoft VM)のJAVAがインストールされているPCの場合

3-3.上記のどちらのコマンドが使えるかはどちらの版のJAVAがその計算機にインストールされているかによります。

  • > java(エンター)または、jview(エンター)を実行して「'jview(あるいはjava)は、内部コマンドまたは外部コマンド、操作可能なバッチファイルまたはプログラムとして認識されていません。」が表示されれば、そのコマンドはその計算機ではインストールされていません。
  • または、http://www.java.com/ja/download/help/uninstall_msvm.xmlなどを参考にして、どちらの版のJAVAが使えるか調べてください。
  • SUN版JAVAのインストールに関しては、http://www.java.com/ja/download/manual.jsp
  • Microsoft版JAVAのインストール/アンインストールに関しては、http://hero.maxs.jp/java/vm.htmlなどを参考にしてください。


プログラムの入力の仕方と注意

  1. プログラム(5項数列)にはテキストと違い、「現在の状態」、「ヘッド位置の値」、「書き換える値」、「移動」、「新しい状態」からなっています。すなわち、テキストでは第3項は「書き換える値または移動」であったのが、同時にふたつの動作ができるようになっています。
  2. ヘッド位置で記入できる文字は0,1,#(ブランク)の他、$とx,y,zを使うことができます。移動はL(左)またはR(右)のいずれかです。状態は0から24とh(停止)です。プログラムの最初は状態「0」から始めて下さい。また、プログラムを停止するときは状態を「h」にしてください。プログラムに値を入れるには、直接、上記の記号をタイプするか、Symbols欄から該当する記号をクリックしてください。
  3. 「other]とは、ヘッド位置の値において、記入することのできる値のいずれでもよい場合に指定する記号で、該当するルールをクリックした上で、ルール入力欄の第2項をクリックし、Symbols欄から「*」をクリックします。
  4. 「same」とは、ヘッダ位置で「other」を指定した場合に、その値を特定の値に変えないでもとのままにしたいときに指定する記号で、該当するルールをクリックした上で、ルール入力欄の第3項をクリックし、Symbols欄から「*」をクリックします。
  5. プログラムを作成(または修正)したら、「save」で保存してください。その際、次の「保存時の注意」にならってください。保存したプログラムを実行するのは「run」です。その上の、選択窓で、実行速度を調整できます。また、プログラムのでバックをするときは「step」が一つのプログラムを実行毎に停止するので便利です。「reset」は状態を「0」に戻します。「clear tape」はテープに書き込まれた文字列をすべて消去、「load」は以前に保存したプログラムを読み込むときに使います。また、起動してから実行したプログラムのファイル名が一番上の選択窓に保存されているので、2回目以降は「load」をしなくてもも、ファイルを読み込むことができます。


xTuringMachineのプログラムと説明文の保存時の注意

1)xTuringMachineで作成したプログラムは自分の名前をローマ字にし、アンダースコア(_)で簡単に内容がわかる文字列をつないだファイル名.turとして保存すること。もし、同姓の人がいるときはフルネームをファイル名とすること。

例)田中 ―>  tanaka_XyzNeon.tur

  田中一郎 ―>  tanakaichiro_XyzNeon.tur

2)プログラムを保存するときは、プログラム開始時の状態の時に、保存すること。プログラム停止時や途中で保存するとテープの状態なども保存されるため正常に動かない。そして、保存したときは、再度そのプログラムを読み込んで正常に実行することを確かめること。

3)プログラムの内容の説明は、notepadなどでテキストファイル(.txt)として、作成する。内容は、そのプログラムの機能、制限(たとえば、ふたつの数値を取り扱うとき、その数の大小の順番など)、初期状態(状態の値とヘッドの位置)など、他の人が使うときに必要な情報を入れる。また、工夫した点、苦労した点などのコメントもあれば記載する。

例)割り切れるかを判定するプログラム

tanaka_XyzNeon.turの中身

xTuringMachine File Format 1.0

#$01xyz* 25

-23 26 0;

$######################$#########################$

49;

0 $ $ R 1;

1 # x R 1;

1 $ $ L 2;

2 $ $ R 3;

(中略)

23 z z R 23;

24 $ $ R 1;

24 x # L 24;

24 y # L 24;

24 z # L 24;

tanaka_XyzNeon.txtの中身

ネオンサインをイメージしたプログラム

@プログラム説明

xyzが$と$で囲まれた空間を自由自在に動き回る!

A初期条件

 $と$の間は全てブランクとする。$と$の間隔は任意に設定してよい。ただし、速度を上げて見たほうがネオンらしくなるため、間隔が長いほうが動きを観察しやすい。初めに『0』の番号札で左側の$の上から実行すれば後はxyzが踊り始める!