Технический форум

Технический форум (http://www.tehnari.ru/)
-   Basic (http://www.tehnari.ru/f127/)
-   -   Вычислить одно значение функции (http://www.tehnari.ru/f127/t249579/)

iks2 25.10.2016 15:39

Вычислить одно значение функции
 
Задача
Функция очень длинная, поэтому я дам ее описание и нужно будет вычислить значение этой функции при x = 1. Вид функции похож на эту cos(sin(sin(cos( ... sin(1)...)))). А теперь точное ее описание. Берутся натуральные числа от 1 до 370 и записываются подряд в одно число 123456789101112 ... 370. Это число просматривается слева направо, а сама функция записывается справа налево.
Итак, первая цифра нечетная (нечетной цифре соответствует sin, а четной - cos), то наша функция будет выглядеть так ............cos(sin(cos(sin(x)))). В общем надо ее вычислить при x = 1.

программа сосчитала и получила число 0,8194045

Вопросы.
1. Всё бы хорошо, но это число ничего не значит, пока не будет вычислена погрешность. Как?
2. Вообще для вычисления погрешности применяют производную. Но в данном случае производную устанешь считать. Может кто знает?....

Код:

REM
REM  0.8194045
REM

DECLARE FUNCTION M! (n!)

CLS
DIM SHARED s AS STRING

FOR i = 1 TO 370
  s = s + LTRIM$(STR$(i))
NEXT

x = 1

FOR i = 1 TO LEN(s)
  IF M(i) MOD 2 THEN
      x = SIN(x)
  ELSE
      x = COS(x)
  END IF
NEXT
PRINT "X ="; x
END

FUNCTION M (n)
  M = VAL(MID$(s, n, 1))
END FUNCTION



Часовой пояс GMT +4, время: 19:15.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.