Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше Е(возведение в степень выполняется путем умножения);
{$N+}
uses crt;
var x,e,s,si,p:double;
i,k:integer;
begin
clrscr;
write('x=');readln(x);
writeln('Первый способ - с заданной точностью');
e:=0.000000001;
i:=0;
p:=x;
si:=x;s:=0;
while abs(s-si)>=e do
begin
s:=si;
inc(i);
p:=p*x*x/(2*i*(2*i+1));
si:=si+p;
end;
writeln('ch(x)=',s:0:10);
writeln;
writeln('Второй способ - по формуле shx=(e^x-e^-x)/2');
s:=(exp(x)-exp(-x))/2;
writeln('sh(x)=',s:0:10);
readln
end.