Задача 2. Сумма ряда

Ввести вещественное число x из отрезка [0,10]. Вычислить ех двумя спосо­бами: разложением в ряд и стандартной функцией. Сравнить два вычисленных значения.

{ Решение задачи 2 на языке PASCAL }

CONST Xmin=0; Xmax=10;

CONST S2:Real=1; a:Real=1; n:LongInt=1;

VAR x,S1 : Real;

BEGIN Write('Введите вещественное число из отрезка [',Xmin,',',Xmax,'] '); Read(x);

IF (x<Xmin)OR(x>Xmax) THEN BEGIN

WriteLn('Невернoе число'); Halt; END; REPEAT S1:=S2; a:=a*x/n; S2:=S1+a; Inc(n); UNTIL S1=S2; WriteLn('Exp(',x:0:2,'), вычисленная разложением в ряд   : ',S2:0:3,

#10,#13,'Exp(',x:0:2,'), вычисленная стандартной функцией :' ,

Exp(x):0:3,#10,#13,'Пoгрешнoсть : ',S2-Exp(x));

END.

/*Решение задачи 2 на языке C*/

#include<stdio.h>

#include<math.h>

#define XMIN 0.

#define XMAX 10.

void main(void) { double S2=1,a=1,x,S1; long n=1;

printf("\nВведите вещественное число из отрезка [%g,%g] ",XMIN,XMAX); scanf("%lg",&x);

if(x<XMIN||x>XMAX){printf("\nНевернoе число"); exit(1);} do{S1=S2; a*=x/n++; S2=S1+a;}while(S1-S2); printf("Exp(%g), вычисленная разложением в ряд   : %g\n"

"Exp(%g), вычисленная стандартной функцией : %g\n"

"Погрешность : %g\n",x,S2,x,exp(x),S2-exp(x));}

C Решение задачи 2 на языке FORTRAN PARAMETER(Xmin=0,Xmax=10) REAL*8 x,S1/0/,S2/1/,a/1/ INTEGER*4 n/1/

PRINT'(1X,A,F4.1,A,F4.1,A)','Введите вещественное число из отрезка

* [',Xmin,',',Xmax,']' READ*,x

IF (x.LT.Xmin.OR.x.GT.Xmax) STOP'Невернoе число' DO WHILE(S1.NE.S2)

S1=S2

a=a*x/n

S2=S1+a

n=n+1

END DO

PRINT'(2(1X,A,F4.1,A,F9.3/),A,E12.5)','Exp(', x, '), вычисленная р

* азложением в ряд   : ', S2,'Exp(', x, '), вычисленная стандартной

* функцией : ', Exp(x),' Погрешность : ', S2-Exp(x)

END