всё переделала) т.к. мы делаем на учёбе, а там компы очень тормозят, пришлось массив выводить в listbox. вот что получилось:
Private Sub CommandButton1_Click()
Dim b(1 To 13) As Double, i As Integer
Dim k, s As Double
s = 1
k = 0
ListBox1.Clear
p = 3.14159265
b(1) = 1
For i = 2 To 13
b(i) = Cos((p * b(i - 1)) / 2)
ListBox1.AddItem (Format(b(i), "0.00000000000"))
If b(i) > 0 Then
s = s + b(i)
End If
If b(i) = 0 Then
k = k + 1
End If
TextBox1.Value = (Format(s, "0.00000000000"))
TextBox2.Value = k
Next i
End Sub
ещё долго не понимала, почему не считает нулевые элементы. потом дошло. вроде бы по формуле есть нули, т.к. соs пи/2 равен нулю. но мы вводили пи=p = 3.14159265, а косинус всего этого 0.00000000179. вот так вот))