File: DRACHE.PS of Tape: Various/Decus/decus-3
(Source file text) 

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.