program FOURIER; uses crt, modulog, ufastlab;

type tab = array[0..50] of real;

var a,b     : tab; var i,j,k   : integer; var s,t     : real; var epsilon : real;

BEGIN     for i := 0 to 50 do         b[i] := 4 / (((2*i+1)*Pi));     epsilon := 0.01;
    initgraphique;     fond(white);     fenetre(-2*Pi,2*Pi,-10,10);
    for j := 1 to 42 do     begin         clrscr;
        couleur(blue);         X_axe(0,0,1);         Y_axe(0,0,1);         couleur(red);
        t := -2 * Pi;         repeat             s := 0.5;             i := 0;             repeat                 s := s + b[i] * sin((2*i+1)*t);                 i := (i + 1);             until (i >= j);              t := t + epsilon;             point(t,s);         until (t >= 2 * Pi);         pausegraphique;     end; END.