Показать сообщение отдельно
Старый 11.11.2009, 10:33   #178 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от 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-ю но параллельно обьяснить чего там наделано
Если чего непонятно - спрашивай, объясню.
Vladimir_S вне форума  
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070