| 1 | PROGRAM PLOTDRACHENKURVE(INPUT,OUTPUT); |
| 2 | |
| 3 | VAR N,R: INTEGER; |
| 4 | |
| 5 | PROCEDURE ANFANG; |
| 6 | BEGIN |
| 7 | WRITELN("H800@1700AKI"); |
| 8 | R := N MOD 8 |
| 9 | END (* ANFANG *); |
| 10 | |
| 11 | PROCEDURE BOGEN(I: INTEGER); |
| 12 | BEGIN IF I=1 THEN |
| 13 | BEGIN |
| 14 | CASE R OF |
| 15 | 0: WRITELN("3@AJ7@3AJ4@4AJ3@7AJ@3AJ"); |
| 16 | 1: WRITELN("2@2QJ7@3QJ6@AJ7@3AJ2@2AJ"); |
| 17 | 2: WRITELN("@3QJ3@7QJ4@4QJ7@3QJ3@AJ"); |
| 18 | 3: WRITELN("2P2QJ3P7QJ@6QJ3@7QJ2@2QJ"); |
| 19 | 4: WRITELN("3PAJ7P3QJ4P4QJ3P7QJ@3QJ"); |
| 20 | 5: WRITELN("2P2AJ7P3AJ6PAJ7P3QJ2P2QJ"); |
| 21 | 6: WRITELN("@3AJ3P7AJ4P4AJ7P3AJ3PAJ"); |
| 22 | 7: WRITELN("2@2AJ3@7AJ@6AJ3P7AJ2P2AJ") |
| 23 | END; |
| 24 | R := (R - 2) MOD 8 |
| 25 | END ELSE |
| 26 | BEGIN |
| 27 | CASE R OF |
| 28 | 0: WRITELN("3@AJ7@3QJ4@4QJ3@7QJ@3QJ"); |
| 29 | 1: WRITELN("2@2QJ3@7QJ@6QJ3P7QJ2P2QJ"); |
| 30 | 2: WRITELN("@3QJ3P7QJ4P4QJ7P3QJ3PAJ"); |
| 31 | 3: WRITELN("2P2QJ7P3QJ6PAJ7P3AJ2P2AJ"); |
| 32 | 4: WRITELN("3PAJ7P3AJ4P4AJ3P7AJ@3AJ"); |
| 33 | 5: WRITELN("2P2AJ3P7AJ@6AJ3@7AJ2@2AJ"); |
| 34 | 6: WRITELN("@3AJ3@7AJ4@4AJ7@3AJ3@AJ"); |
| 35 | 7: WRITELN("2@2AJ7@3AJ6@AJ7@3QJ2@2QJ") |
| 36 | END; |
| 37 | R := (R + 2) MOD 8 |
| 38 | END |
| 39 | END (* BOGEN *); |
| 40 | |
| 41 | PROCEDURE SCHLUSS; |
| 42 | BEGIN WRITELN("H3200@AK", " ":384) END; |
| 43 | |
| 44 | |
| 45 | PROCEDURE DRACHE(N,I: INTEGER); |
| 46 | BEGIN |
| 47 | IF N>0 THEN |
| 48 | BEGIN |
| 49 | DRACHE(N-1,1); |
| 50 | BOGEN(I); |
| 51 | DRACHE(N-1,0) |
| 52 | END |
| 53 | END (* DRACHE *); |
| 54 | |
| 55 | |
| 56 | BEGIN |
| 57 | WHILE NOT EOF DO |
| 58 | BEGIN READ(N); |
| 59 | ANFANG; |
| 60 | DRACHE(N,1); |
| 61 | SCHLUSS |
| 62 | END |
| 63 | END. |