Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 14
1

Окружность. Хорды. Углы треугольника

06.05.2011, 05:49. Показов 1325. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет участникам форума. нужна помощь в решении задачи в Бэйсике:

Задана окружность с радиусом R
Хорды a и b определяются соотношением a=R*RND, b=R*RND.
Нужно найти третью хорду d образующая с первыми двумя треугольник
вписанную в эту окружность.
Найти и выдать на печать углы этого треугольника в градусах и минутах

У меня есть заготовка программного кода, но он не верен/не работает
в ближайшее время напечатаю его. жду ваши советы
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.05.2011, 05:49
Ответы с готовыми решениями:

Определить углы треугольника, длины сторон которого заданы
задание: Определить углы треугольника, длины сторон которого заданны. Назначение процедуры:...

Сложноватая планиметрическая задачка: окружность, хорды, подобие
Всем привет! Есть такая задача: Две окружности касаются внутренним образом в точке K, причем...

Углы лежащие на одной дуге и лежащие по одну сторону от хорды равны?
углы лежащие на одной дуге и лежащие по одну сторону от хорды равны?

Построить окружность, проходящее через три точки. Где находиться центр описанной возле треугольника окружность
Построить окружность, проходящее через три точки. Где находиться центр описанной возле треугольника...

6
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
06.05.2011, 08:59 2
жду ваши советы
Совет №1 начни выполнять работу сам!
Возникнут вопросы - спрашивай конкретно
Вот так можно её решить. Добавить вывод углов(в коде они находятся)
Вложения
Тип файла: rar TREUG.rar (14.2 Кб, 30 просмотров)
0
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 14
11.05.2011, 06:43  [ТС] 3
Я начал её решать, но не получается! Поэтому хотел бы узнать программный код этой задачи
P.S. Спасибо за программу, но как мне узнать её кд? Бэйсик не открывает

Добавлено через 7 минут
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Option Explicit
 
Dim R As Single
Dim a As Single
Dim b As Single
Dim c As Single
Dim z As Single
Dim m As Single
Dim n As Single
 
Private Sub cmdExit_Click()
End
End Sub
 
Private Sub cmdRashet_Click()
If a + b > c Then
ElseIf a + c > b Then
ElseIf c + b > b Then
End If
R = Val(txtR.Text)
a = R * Rnd
b = R * Rnd
c = a * b * Cos(a / b)
z = Cos(R / b) + Cos(R / c)
m = Cos(a / R) + Cos(b / R)
n = Cos(R / a) + Cos(R / z)
lblresult = Str(z)
lblresult = Str(m)
lblresult = Str(n)
End Sub
 
Private Sub txtR_Change()
R = Val(txtR.Text)
End Sub
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
11.05.2011, 11:15 4
Visual Basic
1
2
3
4
5
Private Sub cmdRashet_Click()
If a + b > c Then
ElseIf a + c > b Then
ElseIf c + b > b Then
End If
что делает этот блок если еще не назначены a, b, c?
Visual Basic
1
2
a = R * Rnd
b = R * Rnd
В таком случае стороны могут оказаться = 0. Некрасиво. Лучше:a = R * Rnd + 0.2*R(к примеру)
С математикой твоей не разобрался. Я делал по картинке.
Visual Basic
1
2
3
4
Alf = Arcsin(A / (2 * R))
Bet = Arcsin(B / (2 * R))
Gam = Pi - Alf - Bet
C = (A ^ 2 + B ^ 2 - 2 * A * B * Cos(Gam)) ^ 0.5
зачем выводить всё в один? Ведь увидишь только последний
Visual Basic
1
2
3
lblresult = Str(z)
lblresult = Str(m)
lblresult = Str(n)
Миниатюры
Окружность. Хорды. Углы треугольника  
0
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 14
12.05.2011, 10:16  [ТС] 5
Это моё основное условие a = R * Rnd
b = R * Rnd

В выходные побробую разобраться в этом
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
12.05.2011, 10:46 6
Может оказаться и a = 0 и b = 0
треугольник выродится в точку.
Если только одня сторона = 0 получится отрезок, но не треугольник
Да и потом все следующие строки будут ругаться на деление на 0:
Visual Basic
1
2
3
z = Cos(R / b) + Cos(R / c)
m = Cos(a / R) + Cos(b / R)
n = Cos(R / a) + Cos(R / z)
0
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 14
13.06.2011, 09:55  [ТС] 7
Вот правильный код на соответствующую задачу


Private Sub Command1_Click()
Const Pi = 3.1415926
Dim X As Single, Y As Single, R As Single, a As Single, b As Single
R = Val(Text1.Text)
a = Rnd * R
b = Rnd * R
Lab_a.Caption = a
Lab_b.Caption = b
fa = arcsin(a / (2 * R))
fb = arcsin(a / (2 * R))
fab = Pi - fa - fb
d = Sqr(a ^ 2 + b ^ 2 - 2 * a * b * Cos(fab))
fda = arccos((-b ^ 2 + d ^ 2 + a ^ 2) / (2 * a * d))
fdb = arccos((-a ^ 2 + b ^ 2 + d ^ 2) / (2 * b * d))
Fab_g = fab * 180 / Pi
Fab_m = (Fab_g - Int(Fab_g)) * 60
Fab_s = Fix((Fab_m - Int(Fab_m)) * 60)
Fab_g = Int(Fab_g)
Fab_m = Int(Fab_m)
Lab_ab.Caption = Fab_g & "° " & Fab_m & "` " & Fab_s & "``"
fda_g = fda * 180 / Pi
fda_m = (fda_g - Int(fda_g)) * 60
fda_s = Fix((fda_m - Int(fda_m)) * 60)
fda_g = Int(fda_g)
fda_m = Int(fda_m)
Lab_da.Caption = fda_g & "° " & fda_m & "` " & fda_s & "``"
fdb_g = fdb * 180 / Pi
fdb_m = (fdb_g - Int(fdb_g)) * 60
fdb_s = Fix((fdb_m - Int(fdb_m)) * 60)
fdb_g = Int(fdb_g)
fdb_m = Int(fdb_m)
Lab_db.Caption = fdb_g & "° " & fdb_m & "` " & fdb_s & "``"
End Sub

Function arcsin(f) As Single
arcsin = Atn(f / Sqr(-f * f + 1))
End Function

Function arccos(f) As Single
arccos = Atn(-f / Sqr(-f * f + 1)) + 2 * Atn(1)
End Function
0
13.06.2011, 09:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2011, 09:55
Помогаю со студенческими работами здесь

Заданы два катета прямоугольного треугольника Найти гипотенузу и углы треугольника
Разработать программу в среде программирования Lazarus. Для задачи создать интерфейс,...

С клавиатуры вводятся три числа, считая их сторонами треугольника найти углы этого треугольника
с клавиатуры вводятся три числа, считая их сторонами треугольника найти углы этого треугольника,...

Углы, вписанные в окружность
http://img.leprosorium.com/989154 К задачам необходимы объяснения. Заранее спасибо!

Углы треугольника
Заданы три числа. Считая их сторонами треугольника, найти углы этого треугольника.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru