1BSD/puman/bigger7.p

(*
 * 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 do begin
		x := d * i;
		y := exp(-x) * sin(c * x);
		n := round(s * y) + h;
		repeat
			write(' ');
			n := n - 1
		until n = 0;
		writeln('*')
	end
end.