Вычислить с помощью рекурсии
P= (1+sin 0.1)*(1+sin 0.2)…(1+sin 10)
Ребята, помогите плизз

Public Function test(ByVal Param As Single) As Single
test = 1 'начальное значение
If (Param = 0) Then Exit Function 'выход из рекурсии
test = (1 + Sin(Param)) * test(Round(Param - 0.1, 1))
End FunctionPublic Function test2() As Single
Static Param As Single
test2 = 1
Param = Round(Param + 0.1, 1)
If (Param > 10) Then
Param = 0
Exit Function
End If
test2 = (1 + Sin(Param)) * test2()
End Function?test(10), test2()
1,729905E-14 1,729904E-14 
Public Function p(n As Double, k) As Double
p = 1
For i = n To k Step 0.1
res = 1 + Sin(i)
p = p * res
Next
End Function
Private Sub Command1_Click()
Print p(0.1, 10)
End Sub

alibek писал(а):Это не рекурсия.

Amed писал(а):У Вас, Daz, не рекурсия, а просто цикл...

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 9