, , , , (, , ). VBA :
- While ;
Do While
,
Loop
, ( , ). . , ;
- While :
Do
,
Loop While
, . . , , ;
- Until :
Do Until
,
Loop
, ( , ). ;
- Until :
Do
,
Loop Until
, ( , ). , , , .
1.10. , ( ), 20.
Sub primer1_10a()
Dim a(1 To 8) As Integer
MsgBox( )
For i = 1 To 8
a(i) = InputBox("a(" & i & ")")
Next i
sum = 0: i = 0
Do While sum <= 20
i = i + 1
sum = sum + a(i)
Loop
MsgBox (" " & i & "- " & sum)
End Sub
sum , sum<=20 . :
i = i + 1
sum = sum + a(i)
, sum a. 20, , sum<=20 . , , .. . a(1) 20, sum<=20 , : i 2, sum a(2). , sum 20.
Until. Do While sum <= 20 : Do Until sum > 20.
, , 1.8, : , 20. , i ( 8). , , .
|
|
Sub primer1_10b()
Dim a(1 To 8) As Integer
MsgBox (" ")
For i = 1 To 8
a(i) = InputBox("a(" & i & ")")
Next i
sum = 0: i = 0
Do While (sum <= 20) And (i < 8)
i = i + 1
sum = sum + a(i)
Loop
If sum > 20 Then
MsgBox (" " & i & "- " & Sum)
Else
MsgBox (" ")
End If
End Sub
While , : sum 20, i 8. , . , sum , 20, , sum <= 20. , 20, - i < 8 ( i 8, ). If sum, .
1.11. 0,0001.
Sub primer1_11a()
n=0: element = 1: sum = 0
Do While Abs (element) >= 0.0001
sum = sum + element
n=n+1
factorial = 1
For i=1 To n
factorial = factorial * i
Next i
element = ((-1)^n)/(factorial*(2*n+1))
Loop
MsgBox( & sum & n = & n-1)
End Sub
Abs () VBA, . For, . (n-1) - , n , ( n , ).
, , Until:
Sub primer1_11b()
n=0: element = 1: sum = 0
Do
sum = sum + element
n=n+1
factorial = 1
For i=1 To n
factorial = factorial * i
Next i
element = ((-1)^n)/(factorial*(2*n+1))
Loop Until Abs (element) < 0.0001
MsgBox( & sum & n = & n-1)
End Sub
, Abs (element) < 0.0001 ( , ).