?

Log in

No account? Create an account
Почти школьная задачка - ФилимоненковДО [entries|archive|friends|userinfo]
ФилимоненковДО

[ website | My Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Почти школьная задачка [Jan. 27th, 2011|12:12 pm]
ФилимоненковДО
[Tags|, , ]

Последние несколько дней программисты нашей компании с разной степенью успешности думают над задачей:

Дано. Прямая l и точка A. С помощью циркуля и линейки построить прямую, проходящую через A и перпендикулярную l, построив при этом минимальное число вспомогательных линий.

Чтобы было ясно, что понимается под вспомогательными линиями, приведем пример школьного решения задачи построения перпендикуляра к прямой. Итак. Возьмем произвольную точку B на прямой l. Проведем окружность с центром в точке A и радиусом AB (вспомогательная линия номер один). Обозначим буквой С вторую точку пересечения этой окружности и прямой l. Проведем окружности с центрами в точках B и C, радиус каждой равен BC (вспомогательные линии номер два и три). Проведем прямую через точки пересечения второй и третьей окружности - это и есть искомый перпендикуляр. Итого - три вспомогательные линии. Но в школьном случае задача минимизации не ставилась.

Разумеется, полное решение должно еще включать доказательство того, что полученная прямая - именно то, что нужно (то есть проходит через A и перпендикулярна l), но его оставим читателю. Кстати, при доказательстве кому-то может понадобиться провести еще какие-то линии. Пожалуйста, они не считаются. В зачет идут только вспомогательные линии, проведенные непосредственно при построении.

Есть желающие присоединиться к нашему дискурсу? :-) Комменты скринятся.

И если уж разговор зашел: а никто не подкинет занимательных головоломок, которые ходят (или ходили) в вашем коллективе? Производственных задач не предлагать - у нас и своих полно.

мне эту задачу в свое время сообщил knop

P.S. Список решивших: fiviol, zvezdo4ert, 57ded, p_govorun, al_pas, edo_rus, Коля Шестаков, falcao,

irishoak тоже прислал правильный ответ, но без собственно построения. Впрочем, насколько я понимаю, он эту задачу просто знал.

P.P.S Я не знаю, как правильно поставить ссылку на того, пришел в ЖЖ через Фейсбук :-(
LinkReply

Comments:
Page 1 of 2
<<[1] [2] >>
(Screened comment)
From: fdo_eq
2011-01-27 07:21 am (UTC)
Нет.
(Reply) (Parent) (Thread)
[User Picture]From: fiviol
2011-01-27 07:30 am (UTC)
Ну, с двумя вспомогательными очевидно:
1. Берем В на прямой, проводим окружность (вспомогательная-1) с центром В радиуса ВА.
2. Пусть С - одна из точек пересечения вспомогательной-1 и прямой. Проводим окружность с центром С и радиусом СА (всмогательная-2).
Пусть Д - вторая точка пересечения вспомогательной-1 и вспомогательной 2. Тогда DA - искомый перепендикуляр.

На несколько дней раздумий это явно не тянет. Неужели можно с одной?
(Reply) (Thread)
From: fdo_eq
2011-01-27 07:42 am (UTC)
Это не всегда работает!
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: amironenko
2011-01-27 07:31 am (UTC)
Если А не на прямой то две линии:
проводим окружность из точки В радиусом ВА, пересечение с l обозначаем за С, проводим из точки С окружность радиусом СА, точка пересечения двух окружностей вместе с А дает перпендикуляр

Если на прямой - линейкой отмеряем по 1 см в обе стороны вдоль l - получаем точки В и C :), дальше школьным способом.
(Reply) (Thread)
From: fdo_eq
2011-01-27 07:43 am (UTC)
Решена половина задачи :-)
(Reply) (Parent) (Thread) (Expand)
From: irishoak
2011-01-27 07:43 am (UTC)
Ответ - 2 в любом случае, хотя алгоритмы, когда точка A на прямой и вне прямой, разбираются по-разному...

Была вот такая задача, мне всегда очень нравилась. Существут ли конечное множество точек на плоскости, что а) никакие три не лежат на одной прямой, и б) для любых двух точек множества A и B , есть как минимум две точки C такие, что CA=CB?

Если существует - какое минимальное колмчество очек может там быть?
(Reply) (Thread)
[User Picture]From: vasbur
2011-01-27 07:50 am (UTC)
1. проводим окружность с центром в А, пересекающую линию
2. между точками пересечения окружности и линии - проводим перпендикуляр по середине. Это классическая школьная задача. требующая построения еще 2-х окружностей

итого - 3 вспомогательные окружности нужны нам
(Reply) (Thread)
From: fdo_eq
2011-01-27 07:52 am (UTC)
Это решение и так приведено у меня в посте в качестве примера. А что с минимальностью-то?
(Reply) (Parent) (Thread)
[User Picture]From: leonwolf
2011-01-27 07:55 am (UTC)
Возьмем произвольную точку B на прямой I, и проведем окружность с центром в этой точке B, радиусом AB. Она пересечет прямую I в точках C и D. Выберем любую из них (например точку C) поставим ножку циркуля в эту точку C, раскроем его на ширину AC, и найдем точку E, которая находится на ранее построенной окружности на таком же расстоянии от точки C, как и точка A, но с другой стороны - это точка F. Воткнем туда вторую ножку циркуля, приложим линейку к ней и к точке А, и проведем прямую AF - вот она, искомая! И всего с одной дополнительной линией :)))
Если так нечестно, то придется все-таки рисовать вторую окружность - с центром в точке C и с радиусом AC, это будет вторая дополнительная линия.
То, что она искомая - очевидно, так как по построению равны треугольники BAC и BFC; то, что меньшим числом линий обойтись нельзя - тоже очевидно. Нам требуется построить еще одну точку, чтобы задать прямую; одна точка - точка A - у нас уже есть), а точка это ведь и есть пересечение двух линий. Вот их мы и построили. (Опять же, если, конечно, не будет позволено одну "держать в уме"). Обойтись одной вспомогательной линией можно было бы только в том случае, если бы в качестве второй линии, задающей точку, была бы прямая I, но понятно же, что нельзя ничего не делая просто отыскать точку на этой прямой, в которую падает перпендикуляр из A :)
(Reply) (Thread)
From: fdo_eq
2011-01-27 08:14 am (UTC)
Решена половина задачи

> точка это ведь и есть пересечение двух линий

Вот именно. Поэтому найти точку E без дополнительной линии не получится. Ответ в рассмотренном случае - 2.
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: p_govorun
2011-01-27 08:06 am (UTC)

Две линии

Берём на прямой две произвольный точки. Проводим через A две окружности с центрами в этих точках. Они пересекаются в точке A и ещё в одной точке; через эти две точки и проходит искомая прямая.
(Reply) (Thread)
From: fdo_eq
2011-01-27 08:12 am (UTC)

Re: Две линии

решена половина задачи
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: zvezdo4ert
2011-01-27 09:02 am (UTC)
Получается вроде так:

Берем произвольную точку В, не лежащую на прямой. Проводим с центром в точке В окружность радиусом ВА - вспомогательная линия 1. Она пересекает нашу прямую в точке С (первый случай).
Проводим линию СВ - вторая вспомогательная линия - она пересекает окружность в точке D.
Из точки D опускаем наш искомый перпендикуляр АD. (То что он перпендикуляр доказывается через углы, если я второпях ничего не напутала)...

Ну и второй случай - если наша первая вспомогательная окружность не пересечет нашу прямую во второй точке. Тогда просто рисуем перпендикуляр АВ.
(Reply) (Thread)
From: fdo_eq
2011-01-27 09:08 am (UTC)
Решена половина задачи.

Такой комментарий есть у многих, но Вы нашли решение именно в том случае, который большинство не рассматривает. Видимо, вам остался более простой шаг, чем всем :-)
(Reply) (Parent) (Thread) (Expand)
(no subject) - (Anonymous) Expand
[User Picture]From: 57ded
2011-01-27 09:02 am (UTC)
2
берём точку P_RndL на прямой l, проводим окружность Circle_1 с центром в P_RndL, проходящую через A. Она пересекает l в точках P_Intersection0 и P_Intersection1. Проводим окружность Circle_2 с центром, скажем в P_Intersection0 и проходящую через A. Вторая точка пересечения Circle_1 и Circle_2 лежит на искомой прямой.
(Reply) (Thread)
From: fdo_eq
2011-01-27 09:05 am (UTC)
Решена половина задачи
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: Николай Шестаков
2011-01-27 09:26 am (UTC)
1) Проводим окружность (О1) произвольного радиуса (Р1) с центром в произвольно точке (Т1) на прямой и проходящей через точку А.
2) Проводим окружность произвольного радиуса (Р2), но отличающегося от первой окружности, с центром в произвольно точке (Т2) на прямой и проходящей через точку А.
3) Окружности пересекаются в А, и еще где-то (точка Б).
4) Соединяем А и Б и получаем искомую прямую

Итого две вспомогательные прямые

Доказательство

П - пересечение полученных прямых

Предположим, что Т1 и Т2 по разную сторону от прямой А Б (или выберем при построении чтобы не рассматривать другой случай :) )
1) Проведем окружность с радиусом Р1 с центром в точке А.
2) Окружность пройдет через точку Т1 (т.к. одинакового радиуса)
3) Окружность пересечет I в точке В
4) В А Т1 Б - ромб (все стороны равны)
5) прямые В Т и А Б - диагонали ромба - прямой угол

Как-то так. думаю смысл ясен



(Reply) (Thread)
From: fdo_eq
2011-01-27 10:02 am (UTC)
Решена половина задачи
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: Николай Шестаков
2011-01-27 09:33 am (UTC)
Доказательство еще и проще
треугольники Т1 А Т2 и Т1 Б Т2 подобны (равны соответствующие стороны), слеовательно равны и углы Т2 Т1 А и Т2 Т1 Б, следовательно подобны треугольники П Т1 А и П Т1 Б, следовательно равны углы А П Т1 и Б П Т1, а их сумма 180 градусов
с
(Reply) (Thread)
(Deleted comment)
From: fdo_eq
2011-01-27 10:01 am (UTC)
Фраза "проводим циркулем от точки до прямой" вызывает у меня идиосинкразию. Гораздо большую, чем даже выражение "берем бесконечно удаленную точку"...
(Reply) (Parent) (Thread)
(Deleted comment)
[User Picture]From: zvezdo4ert
2011-01-27 09:54 am (UTC)
А. Поняла. Если ничего не помогает, то стоит почитать условие задачи :)
Нигде же не сказано, лежит точка А на прямой или нет.
Если она лежит на прямой - то предыдущий предложенный вариант.

Если точка А не лежит на прямой:

Берем на прямой произвольную точку В. Строим окружность радиусом ВА - первая вспомогательная линия.
Она пересечет нашу прямую в двух точках С и D.
Берем любую из этих точек (например С, чтоб раскладку клавиатуры не менять).
Строим окружность с центром в точке С радиусом СА - вторая вспомогательная линия.
Она пересечет первую окружность в точке А и точке К.

Проводим перпендикуляр АК.

Ничего не забыла?
(Reply) (Thread)
From: fdo_eq
2011-01-27 10:04 am (UTC)
Accepted! :-)
(Reply) (Parent) (Thread)
[User Picture]From: nadine_n
2011-01-27 10:37 am (UTC)
такая головоломка подойдет?
http://chudo-ptitsa.livejournal.com/8904.html?mode=reply
(Reply) (Thread)
From: fdo_eq
2011-01-27 10:42 am (UTC)
Эта задача мне известна.

Мне вообще много задач известно :-) Суть вопроса была не в том, какие задачи бывали, а в том, какие задачи обсуждались в рабочих коллективах. Ну не везде же разговоры только о работе, да о политике...
(Reply) (Parent) (Thread)
From: (Anonymous)
2011-01-27 10:37 am (UTC)
1. Выбираем на прямой любую точку B. Ставим циркуль на расстояния АВ, проводим окружность.
2. То же самое для любой точки С, отличной от В.
3. Окружности пересекутся по двму точкам, одна из них А, вторую назовём Е
4. АЕ - искомый перпендикуляр
(Reply) (Thread)
From: fdo_eq
2011-01-27 10:42 am (UTC)
Решена половина задачи
(Reply) (Parent) (Thread)
Page 1 of 2
<<[1] [2] >>