Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.29;
Скачать: CL | DM;

Вниз

Спрашивали на собеседовании...   Найти похожие ветки 

 
Ketmar ©   (2006-10-04 20:21) [40]

"агрегирование" -- это включение объекта в другой объект. обычно при помощи поля-переменной. %-) остальное додумай сам. %-))


 
MeF Dei Corvi ©   (2006-10-04 20:22) [41]


> допускаются...

Гм. Ну можно попытаться триангулировать этот полигон и проверять принадлежность точки полученым треугольникам. Или разбить его на выпуклые. Что-то умное решение не придумывается :(


 
Palladin ©   (2006-10-04 20:22) [42]


> ой. а потом это состыковывать? бр-р-р... common lisp, например,
> prolog, php и assembler. %-)

во блин... ну ты вспомнил... однажды что то на lisp"е решал задачку для знакомой (гы :) )...

конечно есть разумные ограничения для используемых инструментов :) например нет денег чтобы его купить :))


> [34] Сатир  

фигасе чем... да всем... агрегация - включение сущности в состав другой и никакого отношения к наследованию абсолютно не имеет...


 
Ketmar ©   (2006-10-04 20:24) [43]

>[42] Palladin(c) 4-Oct-2006, 20:22
>во блин... ну ты вспомнил... однажды что то на
>lisp"е решал задачку для знакомой (гы :) )...
а что? прикольный язык. иногда пописываю.
>
>конечно есть разумные ограничения для
>используемых инструментов :) например нет денег
>чтобы его купить :))
а у меня свой лисп. на нём написан целый тетрис и текстовый редактор. %-) и всё -- public domain. %-)


 
Джо ©   (2006-10-04 20:26) [44]

> [38] Сатир   (04.10.06 20:19)
>
> > Это простой вопрос, вообще-то.
>
> не спорю. но читал об этом только в одной книжке и потому
> не особо запомнилось.
> напомни, плиз:)

Ну, вот Кетмар напомнил. От себя, буквоеда эдакого, могу только добавить, что агрегирование и наследование ничего общего не имеют :)


 
Джо ©   (2006-10-04 20:27) [45]

> [43] Ketmar ©   (04.10.06 20:24)
> а у меня свой лисп. на нём написан целый тетрис и текстовый
> редактор. %-) и всё -- public domain. %-)

Компилятор или интерпретатор?


 
Иксик ©   (2006-10-04 20:29) [46]

А эта, оно возможно без виртуальной машины?


 
Сатир   (2006-10-04 20:29) [47]


> агрегирование и наследование ничего общего не имеют :)

вот это называется вопрос с подковыркой)))


 
Palladin ©   (2006-10-04 20:30) [48]


> [43] Ketmar ©

да ептыть, какие проблемы :) если научишь свой lisp реализовывать интерфесы и компилировать dll без проблем милости просим...

и в связи с такими способностями у меня найдется очень очень много интересных низкоуровневых задачь... "гы-хы-хы" (C) bender... :)


 
Джо ©   (2006-10-04 20:30) [49]

> [46] Иксик ©   (04.10.06 20:29)
> А эта, оно возможно без виртуальной машины?

Что, Lisp или RTTI? :)


 
Ketmar ©   (2006-10-04 20:37) [50]

>[45] Джо(c) 4-Oct-2006, 20:27
>Компилятор или интерпретатор?
уомпилит в нечто, похожее на байт-код (хотя по сути это всё ещё лисповые списки), и иногда это даже оптимайзит. умеет делать модули/oop. %-)

>[48] Palladin(c) 4-Oct-2006, 20:30
>lisp реализовывать интерфесы
лениво. %-)

>и компилировать dll
запросто. собираем runtime как dll, прифигачеваем скомпиленый пул ресурсом -- и вперёд. %-)

>и в связи с такими способностями у меня найдется
>очень очень много интересных низкоуровневых
>задачь... "гы-хы-хы" (C) bender... :)
ну да. "инициатива наказуема" (ц) остальные отработают положеное -- и домой, а ты сиди, делай свой низкий уровень. %-))


 
Palladin ©   (2006-10-04 20:44) [51]


> лениво. %-)

у чела оперделяется на уровне объяснения практики :)


> ну да. "инициатива наказуема" (ц) остальные отработают положеное
> -- и домой, а ты сиди, делай свой низкий уровень. %-))

ага... в точку :)

а остальные, кстати, нифига не домой. пока приложение не будет валиться при обращении к затронутой функциональности... да и низкоуровневое тестируется отдельно, так что чел может домой утопать гораздо раньше "высоких" :)


 
DiamondShark ©   (2006-10-04 20:45) [52]


> и чем оно отличается от обычного наследования?

Встречный вопрос: а наследование бывает каким-либо кроме обычного?


 
Ketmar ©   (2006-10-04 20:49) [53]

>[52] DiamondShark(c) 4-Oct-2006, 20:45
>Встречный вопрос: а наследование бывает каким-
>либо кроме обычного?
множественным. или через анус. что, в принципе, одно и то же. %-)


 
Ketmar ©   (2006-10-04 20:50) [54]

>[51] Palladin(c) 4-Oct-2006, 20:44
>> лениво. %-)
>у чела оперделяется на уровне объяснения
>практики :)
ленивые пишут код так, чтобы потом как можно меньше его менять и отлаживать. чтобы, блин, работало железобетонно. потому что лень перерабатывать. %-)


 
Palladin ©   (2006-10-04 20:53) [55]


> ленивые пишут код так, чтобы потом как можно меньше его
> менять и отлаживать. чтобы, блин, работало железобетонно.
> потому что лень перерабатывать. %-)

для "низких" это правило... для "высоких" наиутопическая архиутопия...  :)


 
Ketmar ©   (2006-10-04 20:58) [56]

>[55] Palladin(c) 4-Oct-2006, 20:53
>для "низких" это правило... для "высоких"
>наиутопическая архиутопия...  :)
ну, я про идеал и говорил... %-)


 
Prohodil Mimo ©   (2006-10-04 21:46) [57]

Palladin ©   (04.10.06 19:47) [19]
определить вхождение точки в n-угольник (опционально)


Определить самую левую вершину, самую правую, самую верхнюю и самую нижнюю.
После чего пустить 4 луча вверх, вниз, влево и вправо, пока он не достигнет самой крайней граници или не пересечётся с гранью. Если все 4 пересеклись, значит входит :о)


 
Prohodil Mimo ©   (2006-10-04 21:47) [58]

Prohodil Mimo ©   (04.10.06 21:46) [57]

хотя такой вариант не всегда прокатит, но можно и до ума довести :о)


 
Джо ©   (2006-10-04 21:50) [59]

> [58] Prohodil Mimo ©   (04.10.06 21:47)
> Prohodil Mimo ©   (04.10.06 21:46) [57]
>
> хотя такой вариант не всегда прокатит, но можно и до ума
> довести :о)

А зачем доводить? Если изначальный подход неверен... :о)


 
Ketmar ©   (2006-10-04 21:52) [60]

>[59] Джо(c) 4-Oct-2006, 21:50
>А зачем доводить? Если изначальный подход
>неверен... :о)
из мазохизма? %-)


 
Джо ©   (2006-10-04 21:55) [61]

> [60] Ketmar ©   (04.10.06 21:52)
> >А зачем доводить? Если изначальный подход
> >неверен... :о)
> из мазохизма? %-)

Разве что... А я бы лучше выспался... или напился. Чем неверные алгоритмы  доводить до того, чтобы они выдавали псевдо-верные результаты :)


 
Ketmar ©   (2006-10-04 21:56) [62]

>[61] Джо(c) 4-Oct-2006, 21:55
я вот на одну контору писал тестовое задание -- построитель блок-схем. алгоритм был кривой, зато работал на их примерах. меня взяли. %-)


 
Джо ©   (2006-10-04 21:57) [63]

> [62] Ketmar ©   (04.10.06 21:56)
> >[61] Джо(c) 4-Oct-2006, 21:55
> я вот на одну контору писал тестовое задание -- построитель
> блок-схем. алгоритм был кривой, зато работал на их примерах.
> меня взяли. %-)

Неужели эта контора выкупила исходники у Димы? :)


 
Petr V. Abramov ©   (2006-10-04 21:57) [64]

> Какая связь между published, TPersistent и RTTI?
глубокая
все слова очень умные
связи никакой, т.к. published - ключевое слово, TPersistent - имя класса, а RTTI - фича
слово published здесь вообще лишнее, т.к. в нем нет буквы R
слово RTTI тоже лишнее, т.к целиком написано большими буквами
слово TPersistent тоже лишнее, т.к. published и RTTI лишние слова, и по этому признаку оно от них отличается.


 
Джо ©   (2006-10-04 22:00) [65]

TPersistent, кроме прочего — использует  Upper Camel Case, в отличие от остальных слов :)


 
Джо ©   (2006-10-04 22:01) [66]

Тьху, даже не upper camel case, а как его? В общем, что-то из этой оперы :)


 
saxon   (2006-10-04 22:05) [67]

Ну тогда RTTI - просто Upper Case, а published ваще ни какой Upper не использует - оно лишнее. :)


 
Ketmar ©   (2006-10-04 22:05) [68]

>[63] Джо(c) 4-Oct-2006, 21:57
>Неужели эта контора выкупила исходники у Димы? :)
хуже. они посчитали мои написаными нормально. %-)


 
Джо ©   (2006-10-04 22:09) [69]

> [68] Ketmar ©   (04.10.06 22:05)
> >[63] Джо(c) 4-Oct-2006, 21:57
> >Неужели эта контора выкупила исходники у Димы? :)
> хуже. они посчитали мои написаными нормально. %-)

Вай, что делается, что делается... [качаю головой]. :))


 
Ketmar ©   (2006-10-04 22:12) [70]

>[69] Джо(c) 4-Oct-2006, 22:09
>Вай, что делается, что делается... [качаю
>головой]. :))
всё было ещё хуже: они меня на работу взяли. %-)


 
Джо ©   (2006-10-04 22:14) [71]

> [70] Ketmar ©   (04.10.06 22:12)
> >[69] Джо(c) 4-Oct-2006, 22:09
> >Вай, что делается, что делается... [качаю
> >головой]. :))
> всё было ещё хуже: они меня на работу взяли. %-)

Это, простите, вообще ни в какие ворота! ;-)


 
Prohodil Mimo ©   (2006-10-04 22:17) [72]

хотите сказать, что если точка находится внутри многоугольника, все пущенные от неё лучи не достигнут граней?


 
Ketmar ©   (2006-10-04 22:17) [73]

>[71] Джо(c) 4-Oct-2006, 22:14
>Это, простите, вообще ни в какие ворота! ;-)
на я их спас: быстро уволился. %-)


 
Джо ©   (2006-10-04 22:29) [74]

> [72] Prohodil Mimo ©   (04.10.06 22:17)
> хотите сказать, что если точка находится внутри многоугольника,
> все пущенные от неё лучи не достигнут граней?

Нет, хочу сказать, что то, что луч достигнет грани еще ничего не означает:
http://www.unclejoe.ho.com.ua/img/poly.PNG
;)


 
wl ©   (2006-10-04 22:36) [75]

>3. определить вхождение точки в n-угольник (опционально)
я бы стал решать такую задачу геометрически - нарисовать многоугольник, закрасить цветом, отличным от цвета фона, после чего проверить цвет в нужной точке - если совпадает с цветом фона не попадает


 
Prohodil Mimo ©   (2006-10-04 22:46) [76]

Джо ©   (04.10.06 22:29) [74]
А вот это я и имел в виду во втором своём посте.

вот вам второй вариант: определяем точку за пределами многоугольника и пытаемся из первой точки прийти к нему (встретив препятствие - обходим его). Если не удалось, значит мы внутри. :о)

ЗЫ. бредовых идей у меня много, и все их можно заставить работать, даже, если через одно место :о)


 
Чапаев ©   (2006-10-04 22:50) [77]

> а вот это с ходу не решу. потому что лениво формулы вспоминать.

А я бы CreatePolygonRgn()+PtInRgn()... ;-)


 
Ketmar ©   (2006-10-04 22:57) [78]

>[77] Чапаев(c) 4-Oct-2006, 22:50
>А я бы CreatePolygonRgn()+PtInRgn()... ;-)
неинтересно. так кто угодно может. %-)


 
Чапаев ©   (2006-10-04 22:57) [79]

Кто угодно может, да не кто угодно вспомнит вовремя... ;-)


 
atruhin ©   (2006-10-04 22:58) [80]

Треугольник.
Решение сводится к алгоритмам выхода из лабиринта. Например:
1. Вычисляем описывающую область (прямоугольник).
2. Находим ближайшее ребро.
3. Двигаемся по векторам (ребрам), пока не достигнем вершины принадлежащей многоугольнику и описывающей области.
4. Проверяем с какой стороны свободное пространство и вектор. Если с одной стороны, точка внутри.



Страницы: 1 2 3 вся ветка

Текущий архив: 2006.10.29;
Скачать: CL | DM;

Наверх




Память: 0.63 MB
Время: 0.055 c
15-1159942976
PHPcoder
2006-10-04 10:22
2006.10.29
Отловить вращение колесика.


2-1160472952
horse
2006-10-10 13:35
2006.10.29
Как изменить языковую раскладку клавиатуры?


15-1160399500
oldman
2006-10-09 17:11
2006.10.29
Как скопировать файлы с длинными русскими именами???


2-1160465616
B0Bka
2006-10-10 11:33
2006.10.29
МП3 таг


2-1160993503
Megabyte
2006-10-16 14:11
2006.10.29
Показ XML-файла в читабельном виде