| Код | Public TOC Public Kolvo Private Sub Command1_Click() TOC = 0.01 z = Val(InputBox("Ââåäèòå z", "Ââîä")) If z < -1.5 Or z > 0.5 Then Call MsgBox("Îøèáêà! ×èñëî äîëæíî áûòü áîëüøå -1.5 è ìåíüøå 0.5!", vbOKOnly, "Îøèáêà") List2.Clear Exit Sub End If TOC = Val(InputBox("Ââåäèòå òî÷íîñòü (ïî óìîë÷àíèþ 0.01)", "Ââîä", "0.01")) List1.Clear k = Exp(0) ^ (z + 2) r = y(z) List1.AddItem ("Ïîëó÷åíî çíà÷åíèå: " & r) List1.AddItem ("Äëÿ ýòîãî ïîòðåáîâàëîñü ñëîæèòü " & Kolvo & " ÷ëåíà(îâ)") List1.AddItem ("Òî÷íîå çíà÷åíèå: " & (k)) List1.AddItem ("Àáñîëþòíàÿ ïîãðåøíîñòü: " & (Abs((r - k) / k) * 100) & "%") Quest = MsgBox("Õîòèòå òàêæå ïðîèçâåñòè òàáóëèðîâàíèå ô-èè?", vbYesNo, "Âîïðîñ") If Quest = vbYes Then Call tabul Else List2.Clear End If End Sub Function y(z) Kolvo = 1 n = 1 Sum = 0 yn = z Do While Abs(yn) >= TOC Sum = Sum + yn n = n + 1 Kolvo = n - 1 yn = (2 + z) ^ n / n Loop y = Sum + 3 + z End Function Private Sub tabul() Min = 1E+30 Max = -Min List2.Clear For z = -1.5 To 0.5 Step 0.01 f = ytab(z) yt = Exp(0) ^ (z + 2) Pogr = Abs((f - yt) / yt) * 100 If f < Min Then Min = f If f > Max Then Max = f List2.AddItem (Format(z, "0.00") & " " & Format(f, "00.0000000") & " " & Format(yt, "00.0000000") & " " & Format(Pogr, "000.0000000") & "%") Next z List2.AddItem ("Max=" & Format(Max, "00.0000000") & " Min=" & Format(Min, "00.0000000")) End Sub Function ytab(z) n = 1 Sum = 0 Do While n <= Kolvo yn = (2 + z) ^ n / n Sum = Sum + yn n = n + 1 Loop ytab = Sum + 3 + z End Function
Private Sub Command2_Click() Unload Me End Sub
|
при вводе не целого числа он почемуто отказывается считать и выводит ошибку, указывая на строку yn = (2 + z) ^ n / n помогите плиз...не вижу ошибки |