Вход на сайт
VBA Школьная задачка
13.03.10 11:13
Круглая поляна. Д=100м
на границе поляны колышек вбит. К колышку коза привязана. На верёвочке.Коза ходит равномерно вокруг и ест траву.
Вопрос: какой длинны должна быть верёвочка, чтоб коза ровно половину поверхности поляны объела.
Есть какая нибудь формула с пом. которой можно вычислить площадь пересекающихся окружностей?
http://foren.germany.ru/wissen/t/15662409.html?Cat=&page=0&view=collapsed&sb=5
Я не знаю программирование. Ну немного представляю VBA,даже что-то пытаюсь сделать. Я и эту задачку хотел решить. Но вижу,что не смогу.
У меня вопрос,а решается ли вообще эта задачка на VBA.
A = 2500 * arccos(1 - H / 50) - Sqr(100 * H - H ^ 2 * (50 - H))
Компьютер(Макро) не признаёт это. Чем заменить?
на границе поляны колышек вбит. К колышку коза привязана. На верёвочке.Коза ходит равномерно вокруг и ест траву.
Вопрос: какой длинны должна быть верёвочка, чтоб коза ровно половину поверхности поляны объела.
Есть какая нибудь формула с пом. которой можно вычислить площадь пересекающихся окружностей?
http://foren.germany.ru/wissen/t/15662409.html?Cat=&page=0&view=collapsed&sb=5
Я не знаю программирование. Ну немного представляю VBA,даже что-то пытаюсь сделать. Я и эту задачку хотел решить. Но вижу,что не смогу.
У меня вопрос,а решается ли вообще эта задачка на VBA.
A = 2500 * arccos(1 - H / 50) - Sqr(100 * H - H ^ 2 * (50 - H))
Компьютер(Макро) не признаёт это. Чем заменить?
NEW 13.03.10 15:45
Я тоже так считаю. Если задачка имеет решение,то она должна решаться и на VBA Но как?
Какое задание сформулировать для программы,какой алгоритм составить? (не знаю,правильно я выражаюсь)
Я вижу,что зря привел этот пример. Может он и не нужен вообще для решения задачи.
Меня интересовало почему написание «arccos» считается ошибкой и как надо это писать.
Мне надо было чётко задать вопрос: почему комп(Макро) считает запись « A= arccos(X) »ошибочной.
В ответ на:
на VBA все решается
на VBA все решается
Я тоже так считаю. Если задачка имеет решение,то она должна решаться и на VBA Но как?
Какое задание сформулировать для программы,какой алгоритм составить? (не знаю,правильно я выражаюсь)
В ответ на:
A = 2500 * arccos(1 - H / 50) - Sqr(100 * H - H ^ 2 * (50 - H))
- - - - -
скобок не хватает, однако. мой ексел умер, не могу проверить
A = 2500 * arccos(1 - H / 50) - Sqr(100 * H - H ^ 2 * (50 - H))
- - - - -
скобок не хватает, однако. мой ексел умер, не могу проверить
Я вижу,что зря привел этот пример. Может он и не нужен вообще для решения задачи.
Меня интересовало почему написание «arccos» считается ошибкой и как надо это писать.
Мне надо было чётко задать вопрос: почему комп(Макро) считает запись « A= arccos(X) »ошибочной.
NEW 13.03.10 15:57
В ответ на:
Чем заменить?
Чем заменить?
Public Function acos(x As Double) As Double
If Abs(x) < 1 Then
acos = atn(-x / sqr(1 - x * x)) + 2 * atn(1)
ElseIf x = 1 Then
acos = 0
ElseIf x = -1 Then
acos = 4 * atn(1)
Else
msgbox "Not defined for |x|>1"
End If
End Function
Dropbox - средство синхронизации и бэкапа файлов.
NEW 13.03.10 18:18
в ответ reviz 13.03.10 11:13
Есть какая нибудь формула с пом. которой можно вычислить площадь пересекающихся окружностей?
-----
Да, разумеется. У тебя две криволинейных фигуры и условие равенства площадей. Пишешь два интеграла по "площади фигуры ограниченной функцией" и решаешь в общем виде относительно нужного значения. Там не сложно, 10-й класс советской средней школы...
У меня вопрос,а решается ли вообще эта задачка на VBA.
------
Решается. Вопрос в том, каким методом надо решать... Я бы взял Монте-Корло...
-----
Да, разумеется. У тебя две криволинейных фигуры и условие равенства площадей. Пишешь два интеграла по "площади фигуры ограниченной функцией" и решаешь в общем виде относительно нужного значения. Там не сложно, 10-й класс советской средней школы...
У меня вопрос,а решается ли вообще эта задачка на VBA.
------
Решается. Вопрос в том, каким методом надо решать... Я бы взял Монте-Корло...
NEW 13.03.10 19:07
Если считать центр поляны центром координат (0, 0), а точку привязки козы (100, 0), то точки пересечения окружностей имеют координаты...
x=100-r^2/200
y=(+/-)r*(1-r^2/40000)^0.5
где r - радиус "окружности козы".
Площадь искомой фигуры равна сумме площадей сектора "окружности козы" и двух сегментов "окружности поляны". Все три площади считаются через координаты центра "окружности козы" и точек пересечения. Затем, из полученного уравнения, находится радиус "окружности козы".
ЗЫ А решать задачу по тригонометрии для шестого класса посредством интегрирования и особенно, методом Монте-Карло - это внушаить, да...
ЗЗЫ А вообще-то говоря, тут и считать ничего не стоит (полученное уравнение, имеется в виду). Банальное половинное деление. r - в интервале от 100 до 200. Думаю, шагов за тридцать искомый радиус найдется с очень большой точностью.
x=100-r^2/200
y=(+/-)r*(1-r^2/40000)^0.5
где r - радиус "окружности козы".
Площадь искомой фигуры равна сумме площадей сектора "окружности козы" и двух сегментов "окружности поляны". Все три площади считаются через координаты центра "окружности козы" и точек пересечения. Затем, из полученного уравнения, находится радиус "окружности козы".
ЗЫ А решать задачу по тригонометрии для шестого класса посредством интегрирования и особенно, методом Монте-Карло - это внушаить, да...
ЗЗЫ А вообще-то говоря, тут и считать ничего не стоит (полученное уравнение, имеется в виду). Банальное половинное деление. r - в интервале от 100 до 200. Думаю, шагов за тридцать искомый радиус найдется с очень большой точностью.
I find my way through night and day
'cause I know I just can't stay
here in heaven
'cause I know I just can't stay
here in heaven
I find my way through night and day'cause I know I just can't stayhere in heaven
NEW 13.03.10 20:07
в ответ Vijon 13.03.10 19:07
точки пересечения окружностей имеют координаты
Площадь искомой фигуры равна сумме площадей...
------
Ну насмешил - у тебя есть координаты двух точек - центра окружности и места пересечения двух окружностей и ты считаешь площади и строишь дополнительное уравнение... Смотри определение радиуса на Вики... и подумай как посчитать длину отрезка, заданного двумя координатами...
Единственное - НО - сумей рассчитать точки пересечения.
Площадь искомой фигуры равна сумме площадей...
------
Ну насмешил - у тебя есть координаты двух точек - центра окружности и места пересечения двух окружностей и ты считаешь площади и строишь дополнительное уравнение... Смотри определение радиуса на Вики... и подумай как посчитать длину отрезка, заданного двумя координатами...
Единственное - НО - сумей рассчитать точки пересечения.

NEW 13.03.10 20:23
в ответ Murr 13.03.10 20:07
У меня есть: центр первой окружности, центр второй окружности, обе точки пересечения. Исходя из этих четырех точек, вывести в общем виде формулу площадей сектора и сегментов сможет любой шестиклассник.
Так, площадь сектора "окружности козы" будет равна...
S=r*2*arccos((100-x)/r)
где x - абсцисса точек пересечения (см. мое предыдущее сообщение)
Площади сегментов "окружности поляны" считаются с не меньшей легкостью
Полученное уравнение относительно r, насколько я понимаю, решить в общем виде будет довольно затруднительно. А вот методом половинного деления наоборот - легче легкого.
ЗЫ А ссылка на Вики для понимания определения "радиус"- это внушаить еще поболе... Аффтар по-прежнему жжот.
Так, площадь сектора "окружности козы" будет равна...
S=r*2*arccos((100-x)/r)
где x - абсцисса точек пересечения (см. мое предыдущее сообщение)
Площади сегментов "окружности поляны" считаются с не меньшей легкостью
Полученное уравнение относительно r, насколько я понимаю, решить в общем виде будет довольно затруднительно. А вот методом половинного деления наоборот - легче легкого.
ЗЫ А ссылка на Вики для понимания определения "радиус"- это внушаить еще поболе... Аффтар по-прежнему жжот.
I find my way through night and day'cause I know I just can't stayhere in heaven
NEW 13.03.10 20:37
в ответ Vijon 13.03.10 20:23
У меня есть: центр первой окружности, центр второй окружности, обе точки пересечения.
-----
Ндааа...
Центр окружности - (0,100)
Точка пересечения (x1, y1)
Чем является растояние от Центра-Окружности до Точки-Лежащей-На-Окружности? (подсказка - см ссылку выше)
И как его посчитать, имея координаты двух точек?
сможет любой шестиклассник.
------
Ждем.
-----
Ндааа...
Центр окружности - (0,100)
Точка пересечения (x1, y1)
Чем является растояние от Центра-Окружности до Точки-Лежащей-На-Окружности? (подсказка - см ссылку выше)
И как его посчитать, имея координаты двух точек?
сможет любой шестиклассник.
------
Ждем.
NEW 13.03.10 20:58
в ответ Murr 13.03.10 20:37
Рисунок.
I find my way through night and day'cause I know I just can't stayhere in heaven
NEW 13.03.10 21:02
Почему-то во мне живет надежда, что люди с высшим естественным образованием в состоянии вывести формулу общей площади заштрихованных областей относительно параметра r и прировнять его к половине площади всей окружности.
...Хотя если честно, то эта надежда уже практически при смерти.
...Хотя если честно, то эта надежда уже практически при смерти.
I find my way through night and day'cause I know I just can't stayhere in heaven
NEW 13.03.10 21:28
в ответ Vijon 13.03.10 21:02
в состоянии вывести формулу общей площади заштрихованных областей
------
Хи-хи... Именно это Я и предлагал сделать в самом первом посте - посчитать площадь (интеграл, сумму) двух областей, ограниченных двумя уравнениями в условиях равенства площадей...
Ну если тебе поможет - область решения немного другая - дуга "козы" будет пересекать вертикальную линию (твоя картинка) делящую окружность пополам в двух местах.
Подсказка 2. При этом, площадь выпуклого участка в центре будет равна площади "кривых" треугольников по бокам.
ЗЫ. Ты так и не определился как посчитать длину отрезка. Еще подсказка - см определение гипотенузы.
------
Хи-хи... Именно это Я и предлагал сделать в самом первом посте - посчитать площадь (интеграл, сумму) двух областей, ограниченных двумя уравнениями в условиях равенства площадей...

Ну если тебе поможет - область решения немного другая - дуга "козы" будет пересекать вертикальную линию (твоя картинка) делящую окружность пополам в двух местах.
Подсказка 2. При этом, площадь выпуклого участка в центре будет равна площади "кривых" треугольников по бокам.
ЗЫ. Ты так и не определился как посчитать длину отрезка. Еще подсказка - см определение гипотенузы.

NEW 13.03.10 21:42
Нет, уважаемый. Вы написали достаточно четко: берешь интеграл. Интеграл по корню из квадратного многочлена - милое дело. Подстановка тригонометрических функций либо подстановки Эйлера. Как раз для школьника.
Это абсолютно не важно. Площади сектора и сегментов будут вычисляться по тем же элементарным формулам.
Чушь.
Какого еще отрезка?
Вам бы в школе поучиться. В средней. Это ж п..ц. Полный.
В ответ на:
Хи-хи... Именно это Я и предлагал сделать в самом первом посте - посчитать площадь (интеграл, сумму) двух областей, ограниченных двумя уравнениями в условиях равенства площадей...
Хи-хи... Именно это Я и предлагал сделать в самом первом посте - посчитать площадь (интеграл, сумму) двух областей, ограниченных двумя уравнениями в условиях равенства площадей...
Нет, уважаемый. Вы написали достаточно четко: берешь интеграл. Интеграл по корню из квадратного многочлена - милое дело. Подстановка тригонометрических функций либо подстановки Эйлера. Как раз для школьника.
В ответ на:
Ну если тебе поможет - область решения немного другая - дуга "козы" будет пересекать вертикальную линию (твоя картинка) делящую окружность пополам в двух местах.
Ну если тебе поможет - область решения немного другая - дуга "козы" будет пересекать вертикальную линию (твоя картинка) делящую окружность пополам в двух местах.
Это абсолютно не важно. Площади сектора и сегментов будут вычисляться по тем же элементарным формулам.
В ответ на:
Подсказка 2. При этом, площадь выпуклого участка в центре будет равна площади "кривых" треугольников по бокам.
Подсказка 2. При этом, площадь выпуклого участка в центре будет равна площади "кривых" треугольников по бокам.
Чушь.
В ответ
на:
ЗЫ. Ты так и не определился как посчитать длину отрезка. Еще подсказка - см определение гипотенузы.
ЗЫ. Ты так и не определился как посчитать длину отрезка. Еще подсказка - см определение гипотенузы.
Какого еще отрезка?
Вам бы в школе поучиться. В средней. Это ж п..ц. Полный.
I find my way through night and day'cause I know I just can't stayhere in heaven
NEW 13.03.10 22:18
в ответ Vijon 13.03.10 21:42
берешь интеграл
------
Читай внимательнее. Написано было - "пишешь интеграл".
Чушь.
------
Да ну? Вот уж не думал, что площади двух половинок окружности хоть как-то отличаются...
А если принять... ну как аксиому... что они все же не отличаются, т.е. равны, то требуемое по задаче равенство таки определяет равные "слева" и "справа" части.
Подсказка 3. Если ограничится рассмотрением половинки дуги... скажем - только верхней части, то картинка упростится... возможно - до уровня понимания проблемы.
Какого еще отрезка?
------
Ну, вообще-то, того самого радиуса, который пор задаче требуется вычислить. Да и вычисления элементарные - sqrt((x1-0)^2 + (y1-100)^2)...
ЗЫ. Таки все, что тебе надо найти - координаты любой точки окружности... Ну скажем, для простоты, при Х=0... Еще раз - любой - выбирай какую проще искать...
------
Читай внимательнее. Написано было - "пишешь интеграл".
Чушь.
------
Да ну? Вот уж не думал, что площади двух половинок окружности хоть как-то отличаются...

А если принять... ну как аксиому... что они все же не отличаются, т.е. равны, то требуемое по задаче равенство таки определяет равные "слева" и "справа" части.
Подсказка 3. Если ограничится рассмотрением половинки дуги... скажем - только верхней части, то картинка упростится... возможно - до уровня понимания проблемы.
Какого еще отрезка?
------
Ну, вообще-то, того самого радиуса, который пор задаче требуется вычислить. Да и вычисления элементарные - sqrt((x1-0)^2 + (y1-100)^2)...

ЗЫ. Таки все, что тебе надо найти - координаты любой точки окружности... Ну скажем, для простоты, при Х=0... Еще раз - любой - выбирай какую проще искать...
<--- nobody harmed in this
action -->
NEW 13.03.10 23:23
Диаметр поляны - 100 м. Значит, радиус - 50 м. Немножко перепутал. Но не суть...
По моему рисунку...
Площадь красного сектора:
S1=r^2*arcsin(y1/r)/PI
где y1 - ордината верхней точки пересечения.
Площадь одного из синих сегментов:
S2=1250*arcsin(y1/50)/PI-50^2*(y1/50)/2=1250*arcsin(y1/50)/PI-25*y1
Суммарная площадь:
S=S1+S2*2=r^2*arcsin(y1/r)/PI+2500*arcsin(y1/50)/PI-50*y1=r^2*arcsin((1-r^2/10000)^.5)/PI+2500*arcsin(r*(1-r^2/10000)^.5/50)/PI-50*r*(1-r^2/10000)^.5
При этом, S=1250*PI, r={50, 100}
r находится алгоритмом половинного деления по приведенным формулам.
По моему рисунку...
Площадь красного сектора:
S1=r^2*arcsin(y1/r)/PI
где y1 - ордината верхней точки пересечения.
Площадь одного из синих сегментов:
S2=1250*arcsin(y1/50)/PI-50^2*(y1/50)/2=1250*arcsin(y1/50)/PI-25*y1
Суммарная площадь:
S=S1+S2*2=r^2*arcsin(y1/r)/PI+2500*arcsin(y1/50)/PI-50*y1=r^2*arcsin((1-r^2/10000)^.5)/PI+2500*arcsin(r*(1-r^2/10000)^.5/50)/PI-50*r*(1-r^2/10000)^.5
При этом, S=1250*PI, r={50, 100}
r находится алгоритмом половинного деления по приведенным формулам.
I find my way through night and day'cause I know I just can't stayhere in heaven
NEW 14.03.10 00:21
В морге упростят...
Уважаемый, у Вас есть свое алгоритмическое или даже аналитическое решение? Ну так приведите его, хрена ли?.. Будет с чем сравнивать.
Про метод Монте-Карло я уже слышал. Или это тоже опечатка как с "интегралами"?
Уважаемый, у Вас есть свое алгоритмическое или даже аналитическое решение? Ну так приведите его, хрена ли?.. Будет с чем сравнивать.
Про метод Монте-Карло я уже слышал. Или это тоже опечатка как с "интегралами"?
I find my way through night and day'cause I know I just can't stayhere in heaven