Цитата:
Сообщение от Dram
1. Вычислить приближенно значение суммы с точностью до
e=0.0001, S= 1 - 1/(2*3) + 1/(3*4)**2 - 1/(4*5)**3...
(S= 0,84015)
|
Код:
CONST
e=0.0001;
VAR
i:INTEGER;
S,a:REAL;
function X2np(X:Extended; n:WORD):Extended;
Var i:INTEGER;
Y:Extended;
BEGIN
IF n=0 THEN X2np:=1 ELSE
IF n=1 THEN X2np:=X ELSE
BEGIN
Y:=X;
FOR i:=2 TO n DO Y:=Y*X;
X2np:=Y;
END;
END;
BEGIN
S:=1;
i:=0;
REPEAT
INC(i);
a:=X2np(-1,i)/X2np((i+1)*(i+2),i);
S:=S+a;
UNTIL ABS(a)<e;
WriteLn('S= ',S:7:5);
ReadLn;
END.
Цитата:
2. Найти наибольшее и наименьшее значение функции
y= (a*x**2+b*x+c)*sin(x) при
изменении x от xнач до xкон с шагом h. Вывести значения y.
Исходные данные:
a = 2.14; b= - 4.21; c = 3.25; xнач= -4.5; xкон = -13.5;
h= 0.5 .
(min=-361.783 max=308.497)
|
Код:
CONST
a=2.14;
b=-4.21;
c=3.25;
Xbeg=-4.5;
Xfin=-13.5;
h=0.5;
VAR
x,y,min,max:REAL;
FUNCTION f(x:real):REAL;
BEGIN
f:=(a*x*x+b*x+c)*sin(x);
END;
BEGIN
min:=f(Xbeg);
max:=min;
x:=Xbeg;
WHILE ROUND(x*100)>=ROUND(Xfin*100) DO
BEGIN
y:=f(x);
WriteLn(x:6:1,y:10:3);
IF y>max THEN max:=y;
IF y<min THEN min:=y;
x:=x-h;
END;
WriteLn('Min= ',min:8:3);
WriteLn('Max= ',max:8:3);
ReadLn;
END.
Цитата:
3. Вычислить бесконечную сумму (-1)**n * x**(n)/n! где
n=1,2,3... с точностью e =0.001 . Значение x ввести с клавиатуры.
(X=4.5, S=-0.989)
|
Код:
CONST
e=0.001;
VAR
i:INTEGER;
S,a,x:REAL;
BEGIN
Write('x= ');
ReadLn(x);
S:=0;
i:=0;
a:=1;
REPEAT
INC(i);
a:=-a*x/i;
S:=S+a;
UNTIL ABS(a)<e;
WriteLn('S= ',S:6:3);
ReadLn;
END.
Цитата:
Все три делать не обязательно, можно хотя бы 1-ю но параллельно обьяснить чего там наделано
|
Если чего непонятно - спрашивай, объясню.