Найти суммарную площадь N равнобедренных треугольников - VB
Формулировка задачи:
Найти суммарную площадь N равнобедренных треугольников, у которых длина боковой стороны одинакова, а длины оснований образуют последовательность: 1, (квадратный корень из 2), ... , (квадратный корень из N).
Решение задачи: «Найти суммарную площадь N равнобедренных треугольников»
textual
Листинг программы
Sub AreaOfTriangles()
Dim AreaOfAll#, d#, i&
Dim dSide#, N&
Dim s$
Begin:
N = Val(InputBox("Количество треугольников"))
N = Abs(N)
If N Then
InputSide:
s = InputBox("Длина боковой стороны")
s = Replace(s, ",", ".")
dSide = Abs(Val(s))
If Sqr(N) >= (2 * dSide) Then
If MsgBox("Слишком короткая боковая сторона" _
& " для " & N & " треугольников." & vbCrLf & "Попытаться снова?" _
, vbOKCancel) = vbCancel Then Exit Sub
GoTo InputSide
End If
For i = 1 To N
d = Sqr(dSide * dSide - i * 0.25)
d = Sqr(i) * 0.5 * d
AreaOfAll = AreaOfAll + d
Next
If MsgBox("Сумма площадей для " & N & " треугольников равна: " & AreaOfAll _
& vbCrLf & "Начать заново?", vbOKCancel) = vbOK Then GoTo Begin
End If
End Sub