Помогите написать прогу в Паскале!

Помогите написать прогу в Паскале!

Вот пытался написать
Uses crt;
var
x,y,y1,h:real;
i:integer;
Begin
For I:=1 to 21 do
write('-');
writeln;
writeln('I X I Y I');
For i:=1 to 21 do
write('-');
writeln;
y:=0;
x:=0;
i:=0;
Repeat i:=1;
y1:=(1/exp(0.5*sin(x)*ln(i)));
y:=y+y1;
x:=x+0.25;
if x>1 then x:=0.25;
Writeln('I ',x:7:2,' I',y:7:2,' I');
For I:=1 to 21 do
write('-');
writeln;
until y<0.00001;
if x=1
End.

  • примени мою прогу к своей задаче
    program summa; // разложение в ряд exp( сумма от 0 до беск!!! )
    uses crt;
    const e=0.0001;
    function fact(k:integer):integer;
    var i,p:integer;
    begin
    p:=1;
    for i:=1 to k do
    p:=p*i;
    fact:=p;
    end; //function
    var
    s,a:real;
    i:integer;
    BEGIN
    clrscr;
    s:=0; i:=1; a:=1;
    while a>e do begin
    a:=1/fact(i);
    s:=s+a; writeln(s);
    i:=i+1; end;
    writeln('Сумма = ',s:8:5);
    writeln('konec zadachi');
    readln;
    END.
  • Ну? И что не так-то работает?