program
SqSum_01;
{$APPTYPE CONSOLE}
uses
SysUtils, Math;
var
X_ARG:
Double
;
function
Factorial(N:
Integer
):
Cardinal
;
begin
if
N =
1
then
Result :=
1
else
Result := Factorial(N -
1
) * N;
end
;
function
SqTerm(N:
Integer
; X:
Double
):
Double
;
begin
Result := Power(-
1
, N) * Power(X,
2
* N) / Factorial(
2
* N);
end
;
function
SumTerms(N:
Integer
; E:
Double
):
Double
;
var
Term:
Double
;
begin
Result :=
0.0
;
while
N >
0
do
begin
Term := SqTerm(N, X_ARG);
if
Abs
(Term) >= E
then
Result := Result + Term;
Dec(N);
end
;
end
;
begin
Write
(
'X: '
);
Readln(X_ARG);
Writeln
;
Writeln
(
'X = '
, X_ARG:
6
:
2
);
Writeln
(
'E = 2, N = 10: '
, SumTerms(
10
,
2
):
10
:
2
);
Writeln
(
'E = 1, N = 10: '
, SumTerms(
10
,
1
):
10
:
2
);
Writeln
(
'E = 0, N = 10: '
, SumTerms(
10
,
0
):
10
:
2
);
Writeln
;
Writeln
(
'Press [Enter].'
);
Readln;
end
.