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

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

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

где a, b, c — стороны треугольника, α,β,γ — соответственно противолежащие им углы, а R — радиус описанной около треугольника окружности.
...
Рейтинг: 0 / 0
Десткая задача
    #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
Десткая задача
    #34143484
ПРОМОТАНК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
michael Rдруг ты теорему синусов знаешь
тут не програмирование а элементарная геометрия

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

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

где a, b, c — стороны треугольника, α,β,γ — соответственно противолежащие им углы, а R — радиус описанной около треугольника окружности.
Ну эт я знаю, но как это в макрос запихать и чтоб форма было я вот что спрашиваю....помоги плиззз.....
...
Рейтинг: 0 / 0
Десткая задача
    #34143527
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тебе VB6 или Excel нужен
...
Рейтинг: 0 / 0
Десткая задача
    #34143781
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на
учи математику
...
Рейтинг: 0 / 0
Десткая задача
    #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
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Десткая задача
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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