|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2048 (0x800)
Types: TextFile
Names: »TOWER.PRN«
└─⟦49cd49952⟧ Bits:30009431 50004848
└─⟦0c326962c⟧
└─⟦this⟧ »TOWER.PRN«
Pro Pascal Compiler - Version zz 1.4
Compilation of: b:tower.pas
Options: LCNOIAPHSD
1 0000 PROGRAM TOWERSOFHANOI (INPUT, OUTPUT);
2 0000
3 0000 TYPE POLE = (LEFT, MIDDLE, RIGHT) ;
4 0000 POSITIVEINTEGER = 1..MAXINT ;
5 0000
6 0000 VAR NUMBEROFDISKS : POSITIVEINTEGER ;
7 0000
8 0000 PROCEDURE MOVE (N : POSITIVEINTEGER ;
9 0000 SOURCE, AUXILIARY, DESTINATION : POLE) ;
10 0000
11 0000 PROCEDURE MOVEDISK ;
12 0000
13 0000 PROCEDURE PRINTPOLE (P : POLE) ;
14 0000 BEGIN
15 0000 CASE P OF
16 0010 LEFT : WRITE ('LEFT') ;
17 0027 MIDDLE : WRITE ('MIDDLE') ;
18 0040 RIGHT : WRITE ('RIGHT')
19 0056 END
20 0066 END ; (* PRINTPOLE *)
21 0069
22 0069
23 0069 BEGIN
24 0069 WRITE ('MOVE A DISK FROM ') ; PRINTPOLE (SOURCE) ;
25 00A0 WRITE (' TO ') ; PRINTPOLE (DESTINATION) ;
26 00C3 WRITELN
27 00C6 END ; (* MOVEADISKFROMSOURCETODESTINATION *)
28 00CC
29 00CC BEGIN
30 00CC IF N=1 THEN MOVEDISK
31 00E7 ELSE BEGIN
32 00F3 MOVE (N-1, SOURCE, DESTINATION, AUXILIARY) ;
33 011A MOVEDISK ;
34 0124 MOVE (N-1, AUXILIARY, SOURCE, DESTINATION)
35 0148 END
36 014B END ; (* MOVE *)
37 014E BEGIN
38 014E READ (NUMBEROFDISKS) ;
39 0171
40 0171 WRITELN ('FOR', NUMBEROFDISKS:3, ' DISKS ',
41 01A7 'THE REQUIRED MOVES ARE :') ; WRITELN ;
42 01D6 MOVE (NUMBEROFDISKS, LEFT, MIDDLE, RIGHT)
43 01EC END.
«eof»