Сейчас мысленно вернулся к задачке и понял, что в данном случае действительно можно короче и проще:
VAR
N,i:INTEGER;
x,y,add:EXTENDED;
BEGIN
Write('x= ');
ReadLn(x);
Write('N= ');
ReadLn(N);
Y:=1;
Add:=1;
FOR i:=1 TO N DO
BEGIN
Add:=Add*x/i;
Y:=Y+Add;
END;
WriteLn('Y= ',Y);
ReadLn;
END.
Но предыдущий вариант более "универсален".