1(*
2 * Graphic representation of a function
3 *    f(x) = exp(-x) * sin(2 * pi * x)
4 *)
5program graph1(output);
6const
7	d = 0.0625;   (* 1/16, 16 lines for interval [x, x+1] *)
8	s = 32;       (* 32 character width for interval [x, x+1] *)
9	h = 34;       (* Character position of x-axis *)
10	c = 6.28138;  (* 2 * pi *)
11	lim = 32;
12var
13	x, y: real;
14	i, n: integer;
15begin
16	for i := 0 to lim do begin
17		x := d / i;
18		y := exp(-x) * sin(c * x);
19		n := round(s * y) + h;
20		repeat
21			write(' ');
22			n := n - 1
23		until n = 0;
24		writeln('*')
25	end
26end.
27