A large commit.
[pdp8.git] / sw / src / pascal / DRACHE.PS
CommitLineData
81e70d48
PH
1PROGRAM 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
56BEGIN
57 WHILE NOT EOF DO
58 BEGIN READ(N);
59 ANFANG;
60 DRACHE(N,1);
61 SCHLUSS
62 END
63END.