Интересные проги вы сделали
. Звуковые эффекты это вообще класс
Остальные постараюсь попозже написать, когда наконец разберусь c экзаменами...
Вот. A пока хотела задать один вопрос...
Есть программа (сразу скажу, что суть в том, чтобы результаты по 2-м функциям совпадали...). B первом мной написанном варианте преподавательница сказала, что работает правильно, но экспоненту использовать не надо.
C экспонентой было так:
Код: Выбрать все
eps:=1e-3;
For j:=1 to 3 do
Begin
y2:=0; n:=0;
Repeat
If abs(x)>0.001 then sl:= x*exp((4*n+4)*ln(abs(x)))/(4*n+1)/(4*n+3)/(4*n+5)
Else sl:=0;
y2:= y2+sl;
inc(n);
Until (abs(sl)<eps);
Write (y2:10:7, '|',n:3,'|');
eps:= eps/10;
End;
Результат там меня вполне устраивал:[attachmentid=1684].
Переделываю без экспоненты:
Код: Выбрать все
eps:=1e-3;
For j:=1 to 3 do
Begin
y2:=0; n:=0;
Repeat
st:=sqr(x)*sqr(x)*x;
st1:= sqr(x)*sqr(x);
If abs(x)>0.001 then sl:=st/(4*n+1)/(4*n+3)/(4*n+5)
Else sl:=0;
st:=st+st1;
y2:= y2+sl;
inc(n);
Until (abs(sl)<eps);
Write (y2:10:7, '|',n:3,'|');
eps:= eps/10;
End;
Получается тут уже есть нормальное такое расхождение:[attachmentid=1685]
Результаты в принципе и здесь отличаются несильно.. Программа (очевидно!) работает правильно. Может, и стоит всё это приписать ошибкам округления...
A может быть я в цикле что-то написала неправильно...
Может там вообще чего-то можно доделать, так, чтобы результаты не так сильно отличались?