PROGRAM PLOTDRACHENKURVE(INPUT,OUTPUT); VAR N,R: INTEGER; PROCEDURE ANFANG; BEGIN WRITELN("H800@1700AKI"); R := N MOD 8 END (* ANFANG *); PROCEDURE BOGEN(I: INTEGER); BEGIN IF I=1 THEN BEGIN CASE R OF 0: WRITELN("3@AJ7@3AJ4@4AJ3@7AJ@3AJ"); 1: WRITELN("2@2QJ7@3QJ6@AJ7@3AJ2@2AJ"); 2: WRITELN("@3QJ3@7QJ4@4QJ7@3QJ3@AJ"); 3: WRITELN("2P2QJ3P7QJ@6QJ3@7QJ2@2QJ"); 4: WRITELN("3PAJ7P3QJ4P4QJ3P7QJ@3QJ"); 5: WRITELN("2P2AJ7P3AJ6PAJ7P3QJ2P2QJ"); 6: WRITELN("@3AJ3P7AJ4P4AJ7P3AJ3PAJ"); 7: WRITELN("2@2AJ3@7AJ@6AJ3P7AJ2P2AJ") END; R := (R - 2) MOD 8 END ELSE BEGIN CASE R OF 0: WRITELN("3@AJ7@3QJ4@4QJ3@7QJ@3QJ"); 1: WRITELN("2@2QJ3@7QJ@6QJ3P7QJ2P2QJ"); 2: WRITELN("@3QJ3P7QJ4P4QJ7P3QJ3PAJ"); 3: WRITELN("2P2QJ7P3QJ6PAJ7P3AJ2P2AJ"); 4: WRITELN("3PAJ7P3AJ4P4AJ3P7AJ@3AJ"); 5: WRITELN("2P2AJ3P7AJ@6AJ3@7AJ2@2AJ"); 6: WRITELN("@3AJ3@7AJ4@4AJ7@3AJ3@AJ"); 7: WRITELN("2@2AJ7@3AJ6@AJ7@3QJ2@2QJ") END; R := (R + 2) MOD 8 END END (* BOGEN *); PROCEDURE SCHLUSS; BEGIN WRITELN("H3200@AK", " ":384) END; PROCEDURE DRACHE(N,I: INTEGER); BEGIN IF N>0 THEN BEGIN DRACHE(N-1,1); BOGEN(I); DRACHE(N-1,0) END END (* DRACHE *); BEGIN WHILE NOT EOF DO BEGIN READ(N); ANFANG; DRACHE(N,1); SCHLUSS END END.