Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

VBA Школьная задачка

14.03.10 19:28
Re: VBA Школьная задачка
 
reviz посетитель
в ответ katran76 14.03.10 17:57, Последний раз изменено 15.03.10 13:05 (reviz)
Sub Kosa()
R1 = 50
A_Kosa = R1 ^ 2 * 3.1415926536 / 2
For H1 = 1 To 50
S1 = 2 * Sqr(R1 ^ 2 - (R1 - H1) ^ 2)
A1 = (0.5 * Atn(2 * H1 / S1) * (4 * H1 ^ 2 + S1 ^ 2) ^ 2 + H1 * S1 * (4 * H1 ^ 2 - S1 ^ 2)) / (16 * H1 ^ 2)
For H2 = 1 To 50
R2 = H1 + H2
S2 = 2 * Sqr(R2 ^ 2 - (R2 - H2) ^ 2)
A2 = (0.5 * Atn(2 * H2 / S2) * (4 * H2 ^ 2 + S2 ^ 2) ^ 2 + H2 * S2 * (4 * H2 ^ 2 - S2 ^ 2)) / (16 * H2 ^ 2)
A = A1 + A2 - A_Kosa
S = Abs(S1 - S2)
If A > 0 And S < 1 And R2 > 50 Then GoTo M
Next H2
Next H1
M:
H = H1 + H2
MsgBox H
End Sub
H= 58
При необходимости,можно было бы сделать ещё кусок - уточнять результат.Но в данном случае не требуется - я это всё не показываю.
 

Перейти на