Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Десткая задача / 11 сообщений из 11, страница 1 из 1
21.11.2006, 08:08
    #34142452
ПРОМОТАНК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Десткая задача
Тругольник задан величинами своих углов и радиусом описанной окружности. Найти стороны.
Предусмотрев обработку исключительных ситуаций.Ну кто изящней решение предложит ???
...
Рейтинг: 0 / 0
21.11.2006, 09:29
    #34142550
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Десткая задача
Извини, ты наверно форумы перепутал. Здесь не форум по занимательной геометрии и подобные предложения я бы рассматривал как заказ ( тогда WMZ ?) ИМХО.
...
Рейтинг: 0 / 0
21.11.2006, 09:55
    #34142612
shady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Десткая задача
авторНу кто изящней решение предложит ???
Сколько ??
...
Рейтинг: 0 / 0
21.11.2006, 10:31
    #34142746
ПРОМОТАНК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Десткая задача
ВМЗ ВМЗ спасибо скажу просто мне преподаватель энту задачу поставил чтоб по информатики 3 в четверть поставить, поможите век на Интерент молиться буду. А програмер из мну никакой.
Я графикой увлекаюсь могу помочь, тому кто мне поможет, с оформлением сайта.
)))
...
Рейтинг: 0 / 0
21.11.2006, 10:32
    #34142750
ПРОМОТАНК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Десткая задача
Энту задачу нужно в VBA в Excel
...
Рейтинг: 0 / 0
21.11.2006, 11:00
    #34142861
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Десткая задача
друг ты теорему синусов знаешь
тут не програмирование а элементарная геометрия

Для произвольного треугольника

\frac{a}{\sin\alpha} = \frac{b}{\sin\beta} = \frac{c}{\sin\gamma} = 2R,

где a, b, c — стороны треугольника, α,β,γ — соответственно противолежащие им углы, а R — радиус описанной около треугольника окружности.
...
Рейтинг: 0 / 0
21.11.2006, 11:02
    #34142869
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Десткая задача
ссылка чтобы более понятно

http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D1%81%D0%B8%D0%BD%D1%83%D1%81%D0%BE%D0%B2
...
Рейтинг: 0 / 0
21.11.2006, 13:07
    #34143484
ПРОМОТАНК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Десткая задача
michael Rдруг ты теорему синусов знаешь
тут не програмирование а элементарная геометрия

Для произвольного треугольника

\frac{a}{\sin\alpha} = \frac{b}{\sin\beta} = \frac{c}{\sin\gamma} = 2R,

где a, b, c — стороны треугольника, α,β,γ — соответственно противолежащие им углы, а R — радиус описанной около треугольника окружности.
Ну эт я знаю, но как это в макрос запихать и чтоб форма было я вот что спрашиваю....помоги плиззз.....
...
Рейтинг: 0 / 0
21.11.2006, 13:17
    #34143527
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Десткая задача
тебе VB6 или Excel нужен
...
Рейтинг: 0 / 0
21.11.2006, 14:25
    #34143781
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Десткая задача
на
учи математику
...
Рейтинг: 0 / 0
21.11.2006, 19:17
    #34144986
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Десткая задача
Option Explicit

Private Sub Command1_Click()
GetSides
End Sub

Private Sub GetSides()
Dim dblSideA As Double
Dim dblSideB As Double
Dim dblSideC As Double

Dim dblAlpha As Double
Dim dblBetta As Double
Dim dblGamma As Double

Dim dblRadius As Double

On Error GoTo MethodExit

dblAlpha = CDbl(txtAlpha.Text)
dblBetta = CDbl(txtBetta.Text)
dblGamma = 180 - dblAlpha - dblBetta

If dblAlpha + dblBetta + dblGamma <> 180# Then
Err.Raise vbObjectError + 1000, , "Wrong angles"
End If

dblRadius = CDbl(txtRadius.Text)
dblSideB = GetSideB(dblRadius, dblAlpha, dblBetta)
dblSideC = GetSideC(dblRadius, dblAlpha, dblGamma)
dblSideA = GetSideA(dblRadius, dblAlpha, dblGamma)

MsgBox "Side A " & CStr(dblSideA)
MsgBox "Side B " & CStr(dblSideB)
MsgBox "Side C " & CStr(dblSideC)

MethodExit:
If Err.Number <> 0 Then
MsgBox "Error " & CStr(Err.Number) & " in GetSides" & vbCr & Err.Description
End If
End Sub

Private Function GetSideA(ByVal pdblC As Double, ByVal pdblAlpha As Double, ByVal pdblGamma As Double) As Double

On Error GoTo MethodExit

pdblGamma = GetRadians(pdblGamma)
pdblAlpha = GetRadians(pdblAlpha)

GetSideA = pdblC * (Sin(pdblAlpha) / Sin(pdblGamma))

MethodExit:
If Err.Number <> 0 Then
MsgBox "Error " & CStr(Err.Number) & " in GetSideA" & vbCr & Err.Description
End If

End Function

Private Function GetSideB(ByVal pdblRadius As Double, ByVal pdblAlpha As Double, ByVal pdblBetta As Double) As Double

On Error GoTo MethodExit

pdblBetta = GetRadians(pdblBetta)
pdblAlpha = GetRadians(pdblAlpha)

GetSideB = 2 * pdblRadius * (Sin(pdblBetta) / (Sin(pdblAlpha) * Sin(pdblAlpha)))

MethodExit:
If Err.Number <> 0 Then
MsgBox "Error " & CStr(Err.Number) & " in GetSideB" & vbCr & Err.Description
End If

End Function

Private Function GetSideC(ByVal pdblRadius As Double, ByVal pdblAlpha As Double, ByVal pdblGamma As Double) As Double

On Error GoTo MethodExit

pdblGamma = GetRadians(pdblGamma)
pdblAlpha = GetRadians(pdblAlpha)

GetSideC = 2 * pdblRadius * (Sin(pdblGamma) / (Sin(pdblAlpha) * Sin(pdblAlpha)))

MethodExit:
If Err.Number <> 0 Then
MsgBox "Error " & CStr(Err.Number) & " in GetSideC" & vbCr & Err.Description
End If

End Function

Private Function GetRadians(ByVal pdblDegrees As Double) As Double

On Error GoTo MethodExit

GetRadians = 3.14159265358979 * pdblDegrees / 180#

MethodExit:
If Err.Number <> 0 Then
MsgBox "Error " & CStr(Err.Number) & " in GetRadians" & vbCr & Err.Description
End If
End Function

Примечание: тестирование и возможная доводка предоставляю спрашивающему.

VladConn
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Десткая задача / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]