ВУЗ:
Составители:
Рубрика:
29
() () ()
()
()
22
35
1ln1!ln2!...ln!...0.5;
1!3!5!...121!...0.51.
nn
n
n
axaxaxn при x
s
xxxxn при x
+++++≤
=
−+++−++<≤
Начальное и конечное значения x , шаг изменения ∆ x , значение a и по-
грешность вычисления требуется задавать при вводе. На экран вывести
значения y , x и количество итераций при вычислении сумм.
Var n,c : byte; {n-количество повторений по х; c-ключ выбора для
вычисления y: c = 1, если s<0; c = 2, если s> = 0}
i,j : word; {параметры циклов}
x,dx,xmax,a,b,eps,s,y : real;
BEGIN
WriteLn; Write('x, xmax, dx, a, eps = ');
Read(x, xmax, dx, a, eps);
n:=trunc((xmax-x)/dx+1); {определение количества шагов по х; для
преобразования типов использована функция trunc}
For i:=1 to n do {цикл по х}
Begin
If x < = 0.5
Then begin {вычисление s при x< = o.5}
s:=1; b:=ln(a)*x; j:=1;
While Abs(b/s) > eps do
Begin
s:=s+b;
b:=b*ln(a)*x/j;
j:=j+1;
End
End
Else begin {вычисление s при x>0.5}
s:=0; b:=x; j:=1;
Repeat
s:=s+b;
b:=(-1)*x*x/2.0/j/(2.0*j+1);
j:=j+1;
Until Abs(b) < eps
End;
If s < 0 {вычисление y и вывод результатов}
Then c:=1
Else c:=2;
Case c of
1 : y:=1/exp(s*ln(a))+sin(s);
2 : y:=exp(s*ln(a))+cos(a);
End;
WriteLn; WriteLn('y = ', y:10:3, ' x = ', x, ' j = ', j);
x:=x+dx;
End;
Страницы
- « первая
- ‹ предыдущая
- …
- 27
- 28
- 29
- 30
- 31
- …
- следующая ›
- последняя »
