QB / QB64 Discussion Forum      Other Subforums, Links and Downloads
 Return to Index  

Whew! I think I have the program for the Turing Machine

September 17 2005 at 2:24 PM
  (Premier Login iorr5t)
Forum Owner


Response to Been reading Penrose again have we?

This should multiply two numbers.

Now I just need to code a QBasic program to interpret it.

(Made use of the forum downtime yesterday)

Mac

00 **** 1+01 Skip first 1 in X
01 0-02 1+04 If X>1, go to bc
02 **** 0+03 It was 1*Y. Erase the 1
03 0+28 **** Skip forward to Y and stop
04 0+05 1+04 Skip forward to end of X
05 **** 1+06 Skip first 1 in Y
06 0-07 1+10 If Y>1, go to ce
07 **** 0-08 It was X*1: Erase the 1
08 0-08 1-09 Skip back to end of X
09 0+28 1-09 Skip back to start of X and stop
10 1-11 1+10 Skip forward to end of old1 and write first 1
11 **** 0+12 Write first zero
12 1-13 1+12 Skip + to end of new1 and write subsequent 1
13 0-14 1-13 Skip back to start of new1
14 0-14 0-15 Skip back to end of old1 and erase 1
15 0-17 1+16 Any more old1 left?
16 0+16 1+12 Skip forward to beginning of new1
17 0-17 1-18 Skip back to end of X
18 0+19 1-18 Skip back to start of X
19 **** 0+20 Erase beginning 1 of X
20 **** 1+21 Skip forward next 1 of X
21 0-24 1+22 Any more work to do?
22 0+23 1+22 Skip forward to end of X
23 0+23 1+10 Skip forward over 0 looking for old1
24 **** 0+25 Erase last 1
25 0+26 **** Skip forward over 0
26 1+26 1-27 Restore forward missing 1s
27 0+28 1-27 Return back to start of answer and stop
28 **** **** End of Program

 
 Respond to this message   
Responses