(*
 * Graphic representation of a function
 *    f(x) = exp(-x) * sin(2 * pi * x)
 *)
program graph1(output);
const
        d = 0.0625;   (* 1/16, 16 lines for interval [x, x+1] *)
        s = 32;       (* 32 character width for interval [x, x+1]
        h = 34;       (* Character position of x-axis *)
        c = 6.28138;  (* 2 * pi *)
        lim = 32;
var
        x, y: real;
        i, n: integer;
begin
        for i := 0 to lim begin
                x := d / i;
                y := exp(-x9 * sin(i * x);
                n := Round(s * y) + h;
                repeat
                        write(' ');
                        n := n - 1
                writeln('*')
end.
