0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 14
|
|
1 | |
Окружность. Хорды. Углы треугольника06.05.2011, 05:49. Показов 1325. Ответов 6
Метки нет (Все метки)
Привет участникам форума. нужна помощь в решении задачи в Бэйсике:
Задана окружность с радиусом R Хорды a и b определяются соотношением a=R*RND, b=R*RND. Нужно найти третью хорду d образующая с первыми двумя треугольник вписанную в эту окружность. Найти и выдать на печать углы этого треугольника в градусах и минутах У меня есть заготовка программного кода, но он не верен/не работает в ближайшее время напечатаю его. жду ваши советы
0
|
06.05.2011, 05:49 | |
Ответы с готовыми решениями:
6
Определить углы треугольника, длины сторон которого заданы Сложноватая планиметрическая задачка: окружность, хорды, подобие Углы лежащие на одной дуге и лежащие по одну сторону от хорды равны? Построить окружность, проходящее через три точки. Где находиться центр описанной возле треугольника окружность |
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
06.05.2011, 08:59 | 2 |
Возникнут вопросы - спрашивай конкретно Вот так можно её решить. Добавить вывод углов(в коде они находятся)
0
|
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 14
|
||||||
11.05.2011, 06:43 [ТС] | 3 | |||||
Я начал её решать, но не получается! Поэтому хотел бы узнать программный код этой задачи
P.S. Спасибо за программу, но как мне узнать её кд? Бэйсик не открывает Добавлено через 7 минут
0
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|||||||||||||||||||||
11.05.2011, 11:15 | 4 | ||||||||||||||||||||
С математикой твоей не разобрался. Я делал по картинке.
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:
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 | |
13.06.2011, 09:55 | |
Помогаю со студенческими работами здесь
7
Заданы два катета прямоугольного треугольника Найти гипотенузу и углы треугольника С клавиатуры вводятся три числа, считая их сторонами треугольника найти углы этого треугольника Углы, вписанные в окружность Углы треугольника Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |