Proc40. Описать функцию Exp1($$x$$, $$\epsilon$$) вещественного типа (параметры $$x$$, $$\epsilon$$ — вещественные, $$\epsilon > 0$$), находящую приближенное значение функции exp($$x$$): $$exp(x) = 1 + x + x^2/(2!) + x^3/(3!) + … + x^n/(n!) + … (n! = 1*2*…*n)$$. В сумме учитывать все слагаемые, большие $$\epsilon$$. С помощью Exp1 найти приближенное значение экспоненты для данного $$x$$ при шести данных $$\epsilon$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
program Proc40; Function Exp1(x,e:Real):Real; var i:integer; xi,ni:Real; TempRez,Rez:Real; begin xi:=1; i:=0; ni:=1; Rez:=0; TempRez:=1; While (TempRez > e) do begin Rez:=Rez+TempRez; inc(i); xi:=xi*x; ni:=ni*i; TempRez:=xi/ni; end; Exp1:=Rez; end; var X,E:real; i: integer; begin Write('X :'); Readln(X); for i:=1 to 6 do begin Write('E :'); Readln(E); Writeln(Exp1(X,E)); end; end. |
Другие задачи из раздела Proc можно посмотреть здесь.
Переменные xi, ni лишние?
[/crayon]