# как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 26.12.10 00:38
Оценка: 3 (2) -10 :)))
Знакомый манагер из Новой Империи Зла (G$$gle) под рождество совсем опечалился, потому как Самый Главный Злодей (HR) бьется головой об стену и просит в качестве выходного пособия выдать ему веревку и ведро мыло.

А все потому что претендентам на Senior C/C++, Senior Java, Senior JavaScript, etc... было предложено следующее задание в стиле "блиц" для решения на бумаге за 30 сек.

Привожу вариант для сишников:

foo(TYPEA a){ return ((a + 1) == a); }

1) определить TYPEA;
2) объяснить смысловую нагрузку данного кода;
3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;
hint: ЦП без багов, язык ансишный, по стандарту.


вариант для JS отличался только тем, что там нету TYPEA

function foo(a){ return ((a + 1) == a); }

ВОПРОС:
Как вы считаете, сколько кандидатов прошло тест даже когда им предоставили комп и минут с полчаса для раздумий и экспериментрв?

ЗЫ. Действие происходило в долине сисек.

ЗЫ.ЗЫ. и это не индусы.

ЗЫ.ЗЫ.ЗЫ. а вы говорите, что за рубежом наших спецов не надо. уверен, что тут на форуме это решат влет (у меня ушло ~5 сек)
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re: # как манагеров достали те, кого достали манагеры
От: -MyXa- Россия  
Дата: 26.12.10 01:25
Оценка:
Про ведро мыло не понятно. Остальное довольно просто.
Если не поможет, будем действовать током... 600 Вольт (C)
Re: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.12.10 01:30
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>ЗЫ.ЗЫ.ЗЫ. а вы говорите, что за рубежом наших спецов не надо. уверен, что тут на форуме это решат влет (у меня ушло ~5 сек)


Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).

Для bool'ов тоже должно работать, но смысл не улавливается.
Re[2]: # как манагеров достали те, кого достали манагеры
От: -MyXa- Россия  
Дата: 26.12.10 01:57
Оценка: -1
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, мыщъх, Вы писали:


М>>ЗЫ.ЗЫ.ЗЫ. а вы говорите, что за рубежом наших спецов не надо. уверен, что тут на форуме это решат влет (у меня ушло ~5 сек)


Pzz>Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).


Не обязательно велико. При сильно мало тоже. Но и это ещё не всё.

Pzz>Для bool'ов тоже должно работать, но смысл не улавливается.
Если не поможет, будем действовать током... 600 Вольт (C)
Re[2]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 26.12.10 02:12
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, мыщъх, Вы писали:


М>>ЗЫ.ЗЫ.ЗЫ. а вы говорите, что за рубежом наших спецов не надо. уверен, что тут на форуме это решат влет (у меня ушло ~5 сек)


Pzz>Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).

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

Pzz>Для bool'ов тоже должно работать, но смысл не улавливается.

на си есть bool?
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[3]: # как манагеров достали те, кого достали манагеры
От: -MyXa- Россия  
Дата: 26.12.10 02:33
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>на си есть bool?


Гугль набирает сишников?
Если не поможет, будем действовать током... 600 Вольт (C)
Re[3]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 26.12.10 02:53
Оценка:
Здравствуйте, мыщъх, Вы писали:


Pzz>>Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).

М>вот видите. все просто.
То есть проверяется опыт работы с вещественными?
Re[4]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 26.12.10 02:59
Оценка: 2 (2) +9
Pzz>>>Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).
М>>вот видите. все просто.
Z_>То есть проверяется опыт работы с вещественными?
Имхо кто-то выпендривается.
Re: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 26.12.10 03:02
Оценка: 2 (2) +8
М>Привожу вариант для сишников:
М>foo(TYPEA a){ return ((a + 1) == a); }

М>1) определить TYPEA;

М>2) объяснить смысловую нагрузку данного кода;
М>3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;
М>hint: ЦП без багов, язык ансишный, по стандарту.

Практическая ценность сего вопроса?

ЗЫ. Где return type?
Re[4]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 26.12.10 03:03
Оценка:
MX>Гугль набирает сишников?

их интел купил, а не гугл
Re[2]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 26.12.10 03:10
Оценка: -3
Здравствуйте, Олег К., Вы писали:

М>>Привожу вариант для сишников:

М>>foo(TYPEA a){ return ((a + 1) == a); }

М>>1) определить TYPEA;

М>>2) объяснить смысловую нагрузку данного кода;
М>>3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;
М>>hint: ЦП без багов, язык ансишный, по стандарту.
ОК>Практическая ценность сего вопроса?
ОК>ЗЫ. Где return type?
Имхо кто-то выпендривается.
Re[3]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 26.12.10 03:55
Оценка:
М>>>Привожу вариант для сишников:
М>>>foo(TYPEA a){ return ((a + 1) == a); }

М>>>1) определить TYPEA;

М>>>2) объяснить смысловую нагрузку данного кода;
М>>>3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;
М>>>hint: ЦП без багов, язык ансишный, по стандарту.
ОК>>Практическая ценность сего вопроса?
ОК>>ЗЫ. Где return type?
Z_>Имхо кто-то выпендривается.
Вопрос кто?
Re: # как манагеров достали те, кого достали манагеры
От: Pavel_Agurov Россия  
Дата: 26.12.10 06:51
Оценка: 16 (7) +23 -1
М>А все потому что претендентам на Senior C/C++, Senior Java, Senior JavaScript, etc... было предложено следующее задание в стиле "блиц" для решения на бумаге за 30 сек.
М>Привожу вариант для сишников:
М>foo(TYPEA a){ return ((a + 1) == a); }
М>1) определить TYPEA;
М>2) объяснить смысловую нагрузку данного кода;
М>3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;

Смысла в этом 0. За такие вопросы на интервью нужно выгоднять манагеров, а не претендентов.
Это из серии — быстро в уме подсчитайте что будет после ++i--i++i--++ или (*p++)-- и
подобный удивительные конструкции. Да это можно в С++, да бывает нужно — ну так и код
тогда должен быть соответствующий.

Тип тут придумать можно. Смысловая нагрузка как-то теряется.

Встречный вопрос — зачем и кто придумал писать код так, чтобы у другого этот код вызывал
размышнения даже на 30 сек? Пишите по-человечески! Так чтобы при чтении кода не возникал вопрос WTF!


P.S. Я манагер. Такие вопросы не задавал и никогда не буду.
Re[2]: # как манагеров достали те, кого достали манагеры
От: Sap78  
Дата: 26.12.10 07:08
Оценка: 1 (1) +3
Здравствуйте, Pzz, Вы писали:

Pzz>Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).


Для меня этот код не выглядит осмысленным, даже если TYPEA — float или double.

if(foo(myDoubleVariable))
{
//значение myDoubleVariable столь велико, что прибавление 1 тонет в округлении
//факт, конечно, забавный, но что с этим делать в production code - непонятно.
}
Re: # как манагеров достали те, кого достали манагеры
От: Finder_b  
Дата: 26.12.10 07:19
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>Привожу вариант для сишников:


М>foo(TYPEA a){ return ((a + 1) == a); }


М>1) определить TYPEA;

Double, long double или float

М>2) объяснить смысловую нагрузку данного кода;

Проверка на то превысило ли число допустимый диапазон? Фигня какая то, для финансов надо использовать фиксированную точку или десятичные цифры, для остальной математики не имеет смысла.

М>3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;

Бесконечность? Её вроде можно было сравнивать на равенство.
Re[3]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.12.10 08:57
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>вот видите. все просто. но люди режутся на этом только так. кстати, вы число не назвали для которого это выражение истино. а на размышления 30 сек и под рукой только бумага и авторучка.


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

Pzz>>Для bool'ов тоже должно работать, но смысл не улавливается.

М>на си есть bool?

на c99 есть
Re[4]: # как манагеров достали те, кого достали манагеры
От: ylem  
Дата: 26.12.10 09:15
Оценка: :)))
Pzz>чтобы назвать число, человек должен знать, как плавучка внутри себя устроена. думаю, современные соискатели

Гыы, плавучка
Re: # как манагеров достали те, кого достали манагеры
От: SE Украина  
Дата: 26.12.10 09:16
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>вариант для JS отличался только тем, что там нету TYPEA


М>function foo(a){ return ((a + 1) == a); }


1) В С не силен, потому для жабаскрипта.
2) Проверка на NaN, к примеру
3) NaN

А манагера за шкирку и на улицу за такие задачки. Или дать таки ведро мыла.
Re: # как манагеров достали те, кого достали манагеры
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 26.12.10 09:22
Оценка: +5 -3

А все потому что претендентам на Senior C/C++, Senior Java, Senior JavaScript, etc... было предложено следующее задание в стиле "блиц" для решения на бумаге за 30 сек.


Я Senior C/C++. Задачу не решил, потому как ни разу за более чем пятнадцатилетнюю карьеру не пытался переполнить float. Доктор, что я делаю не так?

P.S. Интересно, а вы сами diamond problem наизусть помните?
Re[4]: # как манагеров достали те, кого достали манагеры
От: StandAlone  
Дата: 26.12.10 09:30
Оценка:
Здравствуйте, Pzz, Вы писали:

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


Смутно вспоминается что-то про 11 бит на мантиссу и 29 на порядок.

Интересно, массовый уход сотрудников из Гугла начался до или после введения этих задачек?
И почему бы не просить собеседуемого реализовать swap командой xor?
Или там спеть, станцевать, постоять на голове, показать слона.. по степени осмысленности примерно равнозначно будет.
Re: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 26.12.10 09:39
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>ЗЫ.ЗЫ.ЗЫ. а вы говорите, что за рубежом наших спецов не надо. уверен, что тут на форуме это решат влет (у меня ушло ~5 сек)

Хех. Для программистов на JavaScript это, кстати, достаточно важный момент.
Sapienti sat!
Re[2]: # как манагеров достали те, кого достали манагеры
От: Finder_b  
Дата: 26.12.10 10:08
Оценка:
Здравствуйте, SE, Вы писали:

SE>Здравствуйте, мыщъх, Вы писали:


М>>вариант для JS отличался только тем, что там нету TYPEA


М>>function foo(a){ return ((a + 1) == a); }


SE>1) В С не силен, потому для жабаскрипта.

SE>2) Проверка на NaN, к примеру
SE>3) NaN
NaN похож на null в SQL, то есть он не чему не равен включая самого себя. Для нан функция вернет false. Уж не знаю как в JS, но во всех известных мне языках так.

SE>А манагера за шкирку и на улицу за такие задачки. Или дать таки ведро мыла.

+1
Re[2]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 26.12.10 10:11
Оценка: +1
Здравствуйте, Олег К., Вы писали:

ОК>ЗЫ. Где return type?


Это же C без плюс плюс.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 26.12.10 10:25
Оценка: 11 (4) +1
Здравствуйте, мыщъх, Вы писали:

Задача крайне странная. Выглядит как "догадайся что именно хотел спросить интервьюер". Т.е. надо отгадать (именно отгадать а не решить) не ответ а вопрос.

М>1) определить TYPEA;


любой тип потдерживающий сложение с 1. Или непотдерживающий, если задача получить ошибку компиляции.

М>2) объяснить смысловую нагрузку данного кода;


Никакого смысла функция с названием foo не может нести по определению, если за это пытаются выдать функцию проверяющую абсолютную точность то увольнять надо того кто задачу писал (обязан знать штатные средства для работы с плавающими числами и поведение при NAN INF и т.п. ).

М>3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;

М>hint: ЦП без багов, язык ансишный, по стандарту.

Это просто, 16.0/FLT_EPSILON при типе "float"

М>ЗЫ.ЗЫ.ЗЫ. а вы говорите, что за рубежом наших спецов не надо. уверен, что тут на форуме это решат влет (у меня ушло ~5 сек)


Если задача найти телепатов непроста для HR , мои ему соболезнования.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: # как манагеров достали те, кого достали манагеры
От: StandAlone  
Дата: 26.12.10 10:27
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Хех. Для программистов на JavaScript это, кстати, достаточно важный момент.


Usecase?
Написание рэйтрейсера, или оболочки бортовой ЭВМ?
Re[3]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 26.12.10 11:07
Оценка: 1 (1)
Здравствуйте, StandAlone, Вы писали:

C>>Хех. Для программистов на JavaScript это, кстати, достаточно важный момент.

SA>Usecase?
SA>Написание рэйтрейсера, или оболочки бортовой ЭВМ?
Если бы. В JS все числа по стандарту — это double. Но при этом на них возможны битовые операции. И они ведут себя как операции над обычными int'ами.

До тех пор, пока число не превысит 2^52. После чего они ВНЕЗАПНО перестают работать. Про мелочи типа a+1==a тоже не забываем.

И на это вполне реально наткнутся, скажем, при рисовании на Canvas'е в этом вашем новомодном HTML5.
Sapienti sat!
Re[3]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.12.10 12:07
Оценка: +1 -1
Здравствуйте, -MyXa-, Вы писали:

Pzz>>Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).


MX>Не обязательно велико. При сильно мало тоже. Но и это ещё не всё.


Велико по абсолютному значению

А какие еще варианты?
Re[3]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.12.10 12:18
Оценка:
Здравствуйте, Sap78, Вы писали:

Pzz>>Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).


S>Для меня этот код не выглядит осмысленным, даже если TYPEA — float или double.


Это утверждение про вас или про код?

S>
S>if(foo(myDoubleVariable))
S>{
S>//значение myDoubleVariable столь велико, что прибавление 1 тонет в округлении
S>//факт, конечно, забавный, но что с этим делать в production code - непонятно.
S>}
S>


Ну, например, не прибавлять по единице.
Re[5]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.12.10 12:20
Оценка:
Здравствуйте, StandAlone, Вы писали:

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


SA>Смутно вспоминается что-то про 11 бит на мантиссу и 29 на порядок.


Ответ не верный. По крайней мере, для x86.

SA>Интересно, массовый уход сотрудников из Гугла начался до или после введения этих задачек?


Это задачка на входе. Уже принятых сотрудников она не касается.

SA>И почему бы не просить собеседуемого реализовать swap командой xor?


Потому что ответ все знают наизусть.

SA>Или там спеть, станцевать, постоять на голове, показать слона.. по степени осмысленности примерно равнозначно будет.


Потому что в гугле нет пока циркового отделения.
Re[2]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 26.12.10 12:22
Оценка: +1
Pzz>Для bool'ов тоже должно работать, но смысл не улавливается.

для булов не будет работать, потому что если А это true, то при вычислении (A+1) оно неявно приводится к инту, то есть получается 2. Дальше при сравнении с А, это А тоже неявно приводится к инту (integral promotion bool->int, потому что левый операнд инт), и в результате 2 сравнивается с 1.
Re: а вот я не догадался
От: alzt  
Дата: 26.12.10 12:30
Оценка: +2 -1
Здравствуйте, мыщъх, Вы писали:

М>foo(TYPEA a){ return ((a + 1) == a); }


М>1) определить TYPEA;

М>2) объяснить смысловую нагрузку данного кода;
М>3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;
М>hint: ЦП без багов, язык ансишный, по стандарту.

Это вообще какая-то угадайка, где надо заранее знать правильный ответ.

Причём ответить надо быстро. А ведь многие люди теряются, когда их поджимает время. 30 секунд — это неадкватно для программиста. Может подобный навык требуется на разных олимпиадах или ток шоу, но на нормальной работе за такое надо по рукам бить — нужно качественное продуманное решение, а этот м.... "мегамозг" таймер засёк, на время делать решил. Потом будет хвалиться как быстро решил задачу.
Всё же в программировании важнее не скорость решения, а продуманность. Конечно, если челове "думает" месяц над недельной задачей — это не хорошо. Но обычно задачи затягиваются не потому, что кто-то долго думает. а потому, что вообще не думает, пишет всякую ерунду, а потом баги выловить пытается.

Вычисления с плавающей запятой знаю нормально. В ВУЗе, помню, заставляли вручную все их просчитывать. Ну а потом как-то вплотную с ними не работал. Понимаю базовые вещи, понимаю что если отсортированную последовательность float-ов складывать, то результат очень сильно зависит от типа сортировки (по возрастанию, по убыванию). При необходимости могу освежить свои знания и знать какой бит за что отвечает. Но не возникало таких необходимостей как-то.

На С нет вывода типов, там даже шаблонов нету. Такие задачи там просто возникнуть не могут.
Меня сразу сбила константа 1. Её тип int и точка. Сразу начал думать в другом направлении. До неявных преобразований как-то и не дошло.
Re[4]: # как манагеров достали те, кого достали манагеры
От: -MyXa- Россия  
Дата: 26.12.10 12:40
Оценка: -3
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, -MyXa-, Вы писали:


Pzz>>>Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).


MX>>Не обязательно велико. При сильно мало тоже. Но и это ещё не всё.


Pzz>Велико по абсолютному значению


Ой. Я имел в виду "сильно близко к 0". Через это, например, машинный ноль определяется.

Pzz>А какие еще варианты?
Если не поможет, будем действовать током... 600 Вольт (C)
Re[3]: # как манагеров достали те, кого достали манагеры
От: SE Украина  
Дата: 26.12.10 13:50
Оценка:
Здравствуйте, Finder_b, Вы писали:

F_>NaN похож на null в SQL, то есть он не чему не равен включая самого себя. Для нан функция вернет false. Уж не знаю как в JS, но во всех известных мне языках так.


Об этом я и не подумал. Не работать мне у того манагера.
Но тогда если верить доками будет работать с Number.POSITIVE_INFINITY.
Re[4]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 26.12.10 14:13
Оценка:
Pzz>А какие еще варианты?

в С99 есть комплексные типы с плавающей точкой.

Для беззнаковых целочисленных типов ненулевой ширины -- понятно что выражение (a+1)==a всегда ложно.
Для знаковых целочисленных типов переполнение это UB, значит это на усмотрении компилятора что делать для максимального значения, имеет полное право считать тоже всегда false.

бывают целочисленные битовые поля размером 0 бит (для выравнивания). Но во-1 gcc требует чтобы они были безымянными, во-2 они существуют только как поля структуры, а не как самостоятельный тип, который можно передать как аргумент функции.

Можно было бы подумать про энум с одним или без одного значения, но реально все вычисления (a+1)==a будут проходить после перевода в целое, поэтому не получится ничего что не может дать целое.
Re: # как манагеров достали те, кого достали манагеры
От: shrecher  
Дата: 26.12.10 14:39
Оценка: 1 (1) :)))
Здравствуйте, мыщъх, Вы писали:

М>foo(TYPEA a){ return ((a + 1) == a); }


М>1) определить TYPEA;


Я думаю, TYPEA имеет перегруженный "operator +(int)", который ничего не делает. В результате, a + 1 не меняеет значение. В принципе, я больше не вижу решений, которые не зависили бы от плаформы или компайлера.
Re[4]: # как манагеров достали те, кого достали манагеры
От: jed  
Дата: 26.12.10 16:09
Оценка:
C>До тех пор, пока число не превысит 2^52. После чего они ВНЕЗАПНО перестают работать. Про мелочи типа a+1==a тоже не забываем.
В яваскрипте может поднадобится a+1==a? В каком случае?
Re[5]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 26.12.10 16:20
Оценка: 2 (2) +1
Здравствуйте, jed, Вы писали:

C>>До тех пор, пока число не превысит 2^52. После чего они ВНЕЗАПНО перестают работать. Про мелочи типа a+1==a тоже не забываем.

jed>В яваскрипте может поднадобится a+1==a? В каком случае?
Опосредованно — много для чего. Банальный цикл for может вдруг стать бесконечным, к примеру.
Sapienti sat!
Re[6]: # как манагеров достали те, кого достали манагеры
От: jed  
Дата: 26.12.10 16:26
Оценка:
C>Опосредованно — много для чего. Банальный цикл for может вдруг стать бесконечным, к примеру.

При каком "а" там возможно true? При undefined или что-то подобное?
Re: # как манагеров достали те, кого достали манагеры
От: Young yunoshev.ru
Дата: 26.12.10 16:37
Оценка: 6 (2) +2
Здравствуйте, мыщъх, Вы писали:

М>Знакомый манагер из Новой Империи Зла (G$$gle) под рождество совсем опечалился, потому как Самый Главный Злодей (HR) бьется головой об стену и просит в качестве выходного пособия выдать ему веревку и ведро мыло.


М>А все потому что претендентам на Senior C/C++, Senior Java, Senior JavaScript, etc... было предложено следующее задание в стиле "блиц" для решения на бумаге за 30 сек.


М>Привожу вариант для сишников:


М>foo(TYPEA a){ return ((a + 1) == a); }


А я вот, когда увидел код то подумал, так float это быть не может потому что иначе было бь "a + 1.0f".


Вообщем ты должен быть фанатом "собеседование у Баткина" — http://blog.gamedeff.com/?p=64

Но увы и ах — мой опыт показывает набирать людей которые могут пройти подобное интервью в отделы которые не занимаются research-ом, а выпускают обыкновенные end-user продукты экономически не целесообразно.
Re: # как манагеров достали те, кого достали манагеры
От: Alexey Sudachen Чили  
Дата: 26.12.10 17:11
Оценка:
М>Как вы считаете, сколько кандидатов прошло тест даже когда им предоставили комп и минут с полчаса для раздумий и экспериментрв?

И сколько? Колись давай!

На моей памяти никто из собеседуемых не мог обьяснить, как так может быть что (int)(.5+i) == (int)(1.5+i). i — целое. А казалось бы.
Re[4]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.12.10 17:32
Оценка: +1
Здравствуйте, dZentle_man, Вы писали:

Pzz>>>Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).

М>>вот видите. все просто.
Z_>То есть проверяется опыт работы с вещественными?

Ну, скорее, общий кругозор. Я вот ответ придумал, а с плавучкой сроду не работал (и не умею с ней работать, по большому счету)
Re[5]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.12.10 17:43
Оценка: +1
Здравствуйте, -MyXa-, Вы писали:

Pzz>>Велико по абсолютному значению


MX>Ой. Я имел в виду "сильно близко к 0". Через это, например, машинный ноль определяется.


Как это? Если число синьно близко к 0, то прибавляя к нему 1, вы получите результат, сильно близкий к единице.
Re[7]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 26.12.10 17:56
Оценка: :)
Здравствуйте, jed, Вы писали:

C>>Опосредованно — много для чего. Банальный цикл for может вдруг стать бесконечным, к примеру.

jed>При каком "а" там возможно true? При undefined или что-то подобное?
При a=2^54

Можешь попробовать.
Sapienti sat!
Re: # как манагеров достали те, кого достали манагеры
От: AlexFox  
Дата: 26.12.10 18:27
Оценка: 1 (1) +2 :))) :))
Здравствуйте, мыщъх, Вы писали:

М>ЗЫ. Действие происходило в долине сисек.


Тема сисек не раскрыта.
Re[8]: # как манагеров достали те, кого достали манагеры
От: jed  
Дата: 26.12.10 18:31
Оценка:
C>При a=2^54
C>Можешь попробовать.

Попробовал на IE7 и FF 3.6, и правда есть такое. Забавно. Но начинается с 2^53.
Где-то видимо парсит строку как число и не хватает разрядов? По идее могли бы и ексепшен кидать.


------ p=51
a_e=2.251799813685248e+15
a__=2251799813685248
a+1=22517998136852481
(a+1==a)=false
------ p=52
a_e=4.503599627370496e+15
a__=4503599627370496
a+1=45035996273704961
(a+1==a)=false
------ p=53
a_e=9.007199254740992e+15
a__=9007199254740992
a+1=90071992547409921
(a+1==a)=true
------ p=54
a_e=1.8014398509481984e+16
a__=18014398509481984
a+1=180143985094819841
(a+1==a)=true
------ p=55
a_e=3.602879701896397e+16
a__=36028797018963970
a+1=360287970189639701
(a+1==a)=true


var p = [51,52,53,54,55];
for(var i in p){
    Log("------ p="+p[i]);
    var  a = Math.pow(2,p[i]);
    Log("a_e="+a.toExponential());
    Log("a__="+a);
    Log("a+1="+a+1);
    Log("(a+1==a)="+(a+1==a));
}
Re[9]: # как манагеров достали те, кого достали манагеры
От: jed  
Дата: 26.12.10 18:35
Оценка:
ошибся с преведение к строке, но получилось то же самое 2^53

------ p=51
2251799813685248
2251799813685249
(a+1==a)=false
------ p=52
4503599627370496
4503599627370497
(a+1==a)=false
------ p=53
9007199254740992
9007199254740992
(a+1==a)=true
------ p=54
18014398509481984
18014398509481984
(a+1==a)=true
------ p=55
36028797018963970
36028797018963970
(a+1==a)=true


var p = [51,52,53,54,55];
for(var i in p){
    Log("------ p="+p[i]);
    var  a = Math.pow(2,p[i]);
    var  b = a+1;
    Log(a);
    Log(b);
    Log("(a+1==a)="+(b==a));
}
Re[2]: # как манагеров достали те, кого достали манагеры
От: carpenter Голландия  
Дата: 26.12.10 18:52
Оценка: +1
Здравствуйте, shrecher, Вы писали:

S>Здравствуйте, мыщъх, Вы писали:


М>>foo(TYPEA a){ return ((a + 1) == a); }


М>>1) определить TYPEA;


S>Я думаю, TYPEA имеет перегруженный "operator +(int)", который ничего не делает. В результате, a + 1 не меняеет значение. В принципе, я больше не вижу решений, которые не зависили бы от плаформы или компайлера.


ога — я тоже о чемто подобном подумал
Весь мир — Кремль, а люди в нем — агенты
Re[2]: # как манагеров достали те, кого достали манагеры
От: SE Украина  
Дата: 26.12.10 19:22
Оценка:
Здравствуйте, Alexey Sudachen, Вы писали:

М>>Как вы считаете, сколько кандидатов прошло тест даже когда им предоставили комп и минут с полчаса для раздумий и экспериментрв?


AS>И сколько? Колись давай!


AS>На моей памяти никто из собеседуемых не мог обьяснить, как так может быть что (int)(.5+i) == (int)(1.5+i). i — целое. А казалось бы.


Ну так это по стандарту во множестве языков. Связан с округлением больших массивов чисел в банковской сфере, насколько помню.
Интересно, что .NET в первой версии Math.Round был только один вариант округления, а во втором их два
Re[9]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 26.12.10 20:07
Оценка:
Здравствуйте, jed, Вы писали:

C>>При a=2^54

C>>Можешь попробовать.
jed>Попробовал на IE7 и FF 3.6, и правда есть такое. Забавно. Но начинается с 2^53.
2^54 я с запасом назвал.

jed>Где-то видимо парсит строку как число и не хватает разрядов? По идее могли бы и ексепшен кидать.

Не совсем. Это вполне честное поведение для double-числа, в которое и разбирается строка. А вот то что в JavaScript все числа — это double как раз и может быть очень неожиданно.
Sapienti sat!
Re[3]: # как манагеров достали те, кого достали манагеры
От: Alexey Sudachen Чили  
Дата: 26.12.10 20:12
Оценка:
Здравствуйте, SE, Вы писали:

AS>>На моей памяти никто из собеседуемых не мог обьяснить, как так может быть что (int)(.5+i) == (int)(1.5+i). i — целое. А казалось бы.

SE>Ну так это по стандарту во множестве языков. Связан с округлением больших массивов чисел в банковской сфере, насколько помню.

и -1 тоже? =))) тут специально два ответа.

Но вообще-то конечно да, это должен знать каждый уважающий себя программер =) от только проблема в том что не зают.

P.S.
как на счёт залинкидиниться? я, к сожалению, инвайт без мыла прислать не могу =(
http://www.linkedin.com/in/alexeychen
Re[3]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 26.12.10 23:55
Оценка: -1
ОК>>ЗЫ. Где return type?
M>Это же C без плюс плюс.
Конкретно эта фича называется "implicit int" и была deprecated еще в 1988-ом году. Речь именно о Си.

Советую учить Си по Кернигану и Ритчи а непонятно по кому.
Re[4]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 00:26
Оценка:
Здравствуйте, -MyXa-, Вы писали:

MX>Здравствуйте, мыщъх, Вы писали:


М>>на си есть bool?


MX>Гугль набирает сишников?

эта задача давалась по меньшей мере на c/c++, java, js и, кажется, какие-то еще скриптовые языки. но тут я уже не уверен. поскольку я знаю си и совем чуть-чуть js, то остальное меня не интересовало. собственно, задача давалась не мне. собеседования я по ней не проходил. просто у нас зашел разговор какие программеры круче и мне привели пример на чем валятся американские выпускники и полюбопытствовали -- а как с этим у русских. вот завтра пошлю ссылку на этот форум. пусть гугловцы переводят своим гугл транслейтом мож кому оффер подкинут
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[5]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 00:32
Оценка:
Здравствуйте, Олег К., Вы писали:

Pzz>>>>Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).

М>>>вот видите. все просто.
Z_>>То есть проверяется опыт работы с вещественными?
ОК>Имхо кто-то выпендривается.
задача как задача. все же лучше, чем сдвинуть гору фудзи кстати, гугл большой. намного больше чем слон. единого стандарта набора спецов там нет. HR'ы обращаются к программерам, чтобы те составили им задачку которая не встречалась ранее и которая бы проверяла базовые знания. кстати, работа с вещественными это и есть та база без которой никуда. как тут уже справедливо заметили, что банальный цикл рискует стать бесконечным только потому что на каком-то этапе обломиться с инкрементом. хотя сам я с вещественными не работаю. только целочисленка, т.к. в основном пишу разные системные тулзы для распаковки файлов, детекции вирусов и т.д. там плавучка вообще не упала. зачем плавучка гуглу -- ну я тут не знаю. зависит от специализации...
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[2]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 00:42
Оценка:
Здравствуйте, Олег К., Вы писали:

М>>Привожу вариант для сишников:

М>>foo(TYPEA a){ return ((a + 1) == a); }

М>>1) определить TYPEA;

М>>2) объяснить смысловую нагрузку данного кода;
М>>3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;
М>>hint: ЦП без багов, язык ансишный, по стандарту.

ОК>Практическая ценность сего вопроса?

хз. какая практическая ценность в сексе с горой фудзи?

ОК>ЗЫ. Где return type?

гм, ну тут я слегка сократил задачу. в оригинале было if ((a+1)==a) return true; else return false; но это ИМХО избыточно, т.к. ((a+1)==a) _уже_ true или false
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[5]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 00:42
Оценка:
Здравствуйте, dilmah, Вы писали:


MX>>Гугль набирает сишников?


D>их интел купил, а не гугл

еще не купил.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[2]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 00:52
Оценка:
Здравствуйте, Pavel_Agurov, Вы писали:

М>>А все потому что претендентам на Senior C/C++, Senior Java, Senior JavaScript, etc... было предложено следующее задание в стиле "блиц" для решения на бумаге за 30 сек.

М>>Привожу вариант для сишников:
М>>foo(TYPEA a){ return ((a + 1) == a); }
М>>1) определить TYPEA;
М>>2) объяснить смысловую нагрузку данного кода;
М>>3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;

P_A>Смысла в этом 0. За такие вопросы на интервью нужно выгоднять манагеров, а не претендентов.

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

P_A>Это из серии — быстро в уме подсчитайте что будет после ++i--i++i--++ или (*p++)-- и

кстати, если память мне не изменяет, то что-то смутно помниться про вычислить в уме **p++; где-то мелькала и такая задача.

P_A>подобный удивительные конструкции. Да это можно в С++, да бывает нужно — ну так и код

P_A>тогда должен быть соответствующий.

P_A>Тип тут придумать можно. Смысловая нагрузка как-то теряется.

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

P_A>Встречный вопрос — зачем и кто придумал писать код так, чтобы у другого этот код вызывал

P_A>размышнения даже на 30 сек? Пишите по-человечески! Так чтобы при чтении кода не возникал вопрос WTF!

P_A>P.S. Я манагер. Такие вопросы не задавал и никогда не буду.
скажу про себя. я думаю медленно. и потому даже за руль садиться не рискую. ибо сразу впадаю в ступор. но вот если дать мне время... и если не дышать над ухом, то справлюсь даже раньше срока. и я тоже против задач в стиле "блиц". но в данном случае задача слишком проста.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[3]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 01:03
Оценка:
Здравствуйте, Sap78, Вы писали:

S>Здравствуйте, Pzz, Вы писали:


Pzz>>Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).


S>Для меня этот код не выглядит осмысленным, даже если TYPEA — float или double.


S>
S>if(foo(myDoubleVariable))
S>{
S>//значение myDoubleVariable столь велико, что прибавление 1 тонет в округлении
S>//факт, конечно, забавный, но что с этим делать в production code - непонятно.
S>}
S>


внимание, правильный ответ:
(ну может не совсем правильный, но это то, что ответил я и мне сказали -- угу, это мы и хотели бы услышать). этот код проверят -- не вышло ли 'a' за диапазон, в котором начинаются потери слева от запятой, но этот код кривой и делает это неправильно, поскольку операция сравнения с плавучкой оператором == не делаются и в продакшене этому коду не место, конечно. с другой стороны, касательно js и других языков где типы невозможно задать явно это вполне сносный способ оценки с каким типом мы имеем дело, при условии, что интерпретатор языка не будет менять типы на лету.

это было то, что ответил я. и мне сказали "угу", а "угу" это по крайней мере "уд".
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[2]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 01:11
Оценка:
Здравствуйте, Finder_b, Вы писали:

F_>Здравствуйте, мыщъх, Вы писали:


М>>Привожу вариант для сишников:


М>>foo(TYPEA a){ return ((a + 1) == a); }


М>>1) определить TYPEA;

F_>Double, long double или float

М>>2) объяснить смысловую нагрузку данного кода;

F_>Проверка на то превысило ли число допустимый диапазон? Фигня какая то, для финансов надо использовать фиксированную точку или десятичные цифры, для остальной математики не имеет смысла.

про финансы никто не говорил. мое мнение, что TYPEA это все-таки плавучка, но для плавучки в общем случае нельзя использовать '=='. а смысл данного кода... ну это похоже на проверку успешности инкремента на единицу. как только единица теряется мы думаем что делать по контексту.

М>>3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;

F_>Бесконечность? Её вроде можно было сравнивать на равенство.
9,007,199,254,740,992 (20,0000,0000,0000h) например. то, что назвал я. это для float.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[4]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 01:23
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, мыщъх, Вы писали:


М>>вот видите. все просто. но люди режутся на этом только так. кстати, вы число не назвали для которого это выражение истино. а на размышления 30 сек и под рукой только бумага и авторучка.


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

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

мой ход рассуждений был таким -- если это арифметика с насыщением, то выражение имеет смысл, но где вы видели арифметику с насыщением на си? а вот если это вещественное, то добавление единицы может и не изменить значения. а вот зачем делать такую проверку -- вот тут я теряюсь. если это проверка диапазона в котором можно добавлять единицы без потерь, то код неверен. т.к. существует такое "а" для которого (a+1)==a ложно, но (a+1+1)==a истино (типа попали на "стык" округления). остается только проверка успешности добавления единицы, которая может быть использована в... цикле?!


Pzz>>>Для bool'ов тоже должно работать, но смысл не улавливается.

М>>на си есть bool?

Pzz>на c99 есть

опс. точно. совсем забыл.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[4]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 01:39
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>>>ЗЫ. Где return type?

M>>Это же C без плюс плюс.
ОК>Конкретно эта фича называется "implicit int" и была deprecated еще в 1988-ом году. Речь именно о Си.

ОК>Советую учить Си по Кернигану и Ритчи а непонятно по кому.

но до сих пор работает: foo(a,b){return a+b;}
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[5]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 27.12.10 01:47
Оценка:
ОК>>Советую учить Си по Кернигану и Ритчи а непонятно по кому.
М>но до сих пор работает: foo(a,b){return a+b;}
Это для legacy кода. Не учи людей плохому.
Re[3]: # как манагеров достали те, кого достали манагеры
От: MescalitoPeyot Украина  
Дата: 27.12.10 01:49
Оценка: 1 (1) +2 :)
Здравствуйте, мыщъх, Вы писали:

М>я с вами не спорю. и даже не уточню кто будет их выгонять. это одна из задачек которая дается претендентам и по результатам которой делаются выводы. не понимаю за что минусы поставили __мне__


За описание идиотской практики без должного порицания.

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


Не понимаете. Причинно-следственные связи не в ту сторону повернуты. Гугль сейчас на вершине пирамиды и может себе позволить некоторое время делать локальные глупости, но это не значит что всем остальным их надо копировать или что остальным подобное сойдет с рук или что самому гуглю глупости будут сходить с рук вечно.
... << RSDN@Home 1.2.0 alpha 4 rev. 1138>>
Re[5]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 27.12.10 01:57
Оценка: :)
ОК>>Советую учить Си по Кернигану и Ритчи а непонятно по кому.
М>но до сих пор работает: foo(a,b){return a+b;}
Кстати, как это будет работать если при вызове передашь double-ы, например? Или структуры?
Re[4]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 27.12.10 06:13
Оценка: +2 :)))
Здравствуйте, MescalitoPeyot, Вы писали:

MP>Не понимаете. Причинно-следственные связи не в ту сторону повернуты. Гугль сейчас на вершине пирамиды и может себе позволить некоторое время делать локальные глупости, но это не значит что всем остальным их надо копировать или что остальным подобное сойдет с рук или что самому гуглю глупости будут сходить с рук вечно.

Кстати, вопрос совершенно неглупый. Так как:
1) Проверяет знакомство с базовыми понятиями в программировании. Всё-таки представление чисел — это то, что программисты обязаны знать.
2) Это реально может встретится на практике в неожиданных контекстах. Например, в JavaScript'е.
3) Вопрос помогает найти тех, кто способен решать проблемы, которые ВНЕЗАПНО возникают на ровном месте.
Sapienti sat!
Re[4]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 27.12.10 06:40
Оценка: -1
Здравствуйте, Олег К., Вы писали:

ОК>>>ЗЫ. Где return type?

M>>Это же C без плюс плюс.
ОК>Конкретно эта фича называется "implicit int" и была deprecated еще в 1988-ом году. Речь именно о Си.

ОК>Советую учить Си по Кернигану и Ритчи а непонятно по кому.


Кеп на высоте , спасибо
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[6]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 07:07
Оценка: -1
Здравствуйте, Олег К., Вы писали:

ОК>>>Советую учить Си по Кернигану и Ритчи а непонятно по кому.

М>>но до сих пор работает: foo(a,b){return a+b;}
ОК>Кстати, как это будет работать если при вызове передашь double-ы, например? Или структуры?
какие структуры? это работает как int foo(int a, int b){return a+b;} ну и как это будет работать если при вызове передать структуры? это int по умолчанию, а вовсе не #define foo(a,b) ((a)+(b))
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[6]: # как манагеров достали те, кого достали манагеры
От: LaptevVV Россия  
Дата: 27.12.10 07:26
Оценка: +1
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, StandAlone, Вы писали:


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


SA>>Смутно вспоминается что-то про 11 бит на мантиссу и 29 на порядок.


Pzz>Ответ не верный. По крайней мере, для x86.


Ответ неверный для всех современных ЭВМ. ИБО IEEE-754 — стандарт представления чисел с плавающей точкой. Реализован на ВСЕХ современных ЭВМ.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: # как манагеров достали те, кого достали манагеры
От: StandAlone  
Дата: 27.12.10 07:38
Оценка: +2 -1
Здравствуйте, Cyberax, Вы писали:

C>1) Проверяет знакомство с базовыми понятиями в программировании.


Базовыми? O RLY?
Базовыми для кого — кодера?

C>Всё-таки представление чисел — это то, что программисты обязаны знать.


А RS-232 и формулу пересечения плоскости с прямой программисты обязаны знать?
Re[7]: # как манагеров достали те, кого достали манагеры
От: StandAlone  
Дата: 27.12.10 07:38
Оценка:
Здравствуйте, LaptevVV, Вы писали:

Pzz>>Ответ не верный. По крайней мере, для x86.


LVV>Ответ неверный для всех современных ЭВМ. ИБО IEEE-754 — стандарт представления чисел с плавающей точкой. Реализован на ВСЕХ современных ЭВМ.


Все, не сдал я экзамен ни Лаптёву, ни Pzz. Бида-бида.
Re[8]: # как манагеров достали те, кого достали манагеры
От: LaptevVV Россия  
Дата: 27.12.10 08:00
Оценка:
Здравствуйте, StandAlone, Вы писали:

SA>Здравствуйте, LaptevVV, Вы писали:


Pzz>>>Ответ не верный. По крайней мере, для x86.


LVV>>Ответ неверный для всех современных ЭВМ. ИБО IEEE-754 — стандарт представления чисел с плавающей точкой. Реализован на ВСЕХ современных ЭВМ.


SA>Все, не сдал я экзамен ни Лаптёву, ни Pzz. Бида-бида.

Да ладно...
Слово "неверный" пишется слитно.
Отдельно можно писать, например, тогда, когда между не и верный можно вставить слово.
"Ответ не только верный, но и точный."
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 27.12.10 08:11
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Для bool'ов тоже должно работать, но смысл не улавливается.


Для bool В С++ будет false, как и для любых целых типов.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 27.12.10 08:17
Оценка:
Здравствуйте, Eye of Hell, Вы писали:

EOH>Я Senior C/C++. Задачу не решил, потому как ни разу за более чем пятнадцатилетнюю карьеру не пытался переполнить float. Доктор, что я делаю не так?


Не знаешь, как пользоваться плавающей точкой.
Этот код не проверияет переполнение плавающей точки... Он вернёт true для намного меньших чисел... Что-то около 1/DBL_EPSILON
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 27.12.10 08:23
Оценка: 3 (1)
Здравствуйте, minorlogic, Вы писали:

M>Это просто, 16.0/FLT_EPSILON при типе "float"


Это не так. при вычислениях (а+1) тип продвинется до double, по крайней мере. Так что число будет несколько побольше...

Кстати, а почему именно 16.0 надо делить, а не 1 или PI, например?

Казалось бы,
1+DBL_EPSILON =def= 1
Разделим обе стороны на DBL_EPSILON^
1/DBL_EPSILON + 1 = 1/DBL_EPSILON
То есть a = 1/DBL_EPSILON
Но тут возможны приколы из-за того, что DBL_EPSILON известно не совсем точно. Но не в 16 же рвз (4 двоичных порядка) нужен запас?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[3]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 27.12.10 08:30
Оценка:
Здравствуйте, carpenter, Вы писали:

S>>Я думаю, TYPEA имеет перегруженный "operator +(int)", который ничего не делает. В результате, a + 1 не меняеет значение. В принципе, я больше не вижу решений, которые не зависили бы от плаформы или компайлера.


C>ога — я тоже о чемто подобном подумал


То, что язык С никого не смущает?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[5]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 27.12.10 08:39
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>3) Вопрос помогает найти тех, кто способен решать проблемы, которые ВНЕЗАПНО возникают на ровном месте.


Мне тоже понравился. Только, IMHO, не надо прессовать 30-ю секундами. Можно при тестировании отмечать, что типа тупил боьлше 30 секунд, но при постановке задачи не надо чела напрягать. А то много сил будет тратиться на поиск какой-то дополнительной подлянки. Ну типа, что для прохождения теста надо, на самом деле на на заданный вопрсо ответить, а какой-то встречный задасть, может быть и т. д...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[3]: # как манагеров достали те, кого достали манагеры
От: CreatorCray  
Дата: 27.12.10 09:02
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>но для плавучки в общем случае нельзя использовать '=='.

Для того, чтоб узнать что число не изменилось — можно.
Еще простая проверка на NaN делается сравнением числа с самим собой. Если (a != a) — то a == NaN.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: # как манагеров достали те, кого достали манагеры
От: CreatorCray  
Дата: 27.12.10 09:02
Оценка:
Здравствуйте, Erop, Вы писали:

EOH>>Я Senior C/C++. Задачу не решил, потому как ни разу за более чем пятнадцатилетнюю карьеру не пытался переполнить float. Доктор, что я делаю не так?


E>Не знаешь, как пользоваться плавающей точкой.

E>Этот код не проверияет переполнение плавающей точки... Он вернёт true для намного меньших чисел... Что-то около 1/DBL_EPSILON

Более точно для double a >= pow (2, 53)
Битиков в мантиссе перестанет хватать для добавления единицы.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 27.12.10 09:07
Оценка: +5 -1 :)
Здравствуйте, StandAlone, Вы писали:

C>>1) Проверяет знакомство с базовыми понятиями в программировании.

SA>Базовыми? O RLY?
Да. Представление чисел — это уже такая вещь, что базовее некуда.

SA>Базовыми для кого — кодера?

Для программистов — всех.

C>>Всё-таки представление чисел — это то, что программисты обязаны знать.

SA>А RS-232 и формулу пересечения плоскости с прямой программисты обязаны знать?
Второе — в принципе да, так как это школьная программа. Первое — необязательно.
Sapienti sat!
Re[6]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 27.12.10 09:09
Оценка: +1
Здравствуйте, Erop, Вы писали:

C>>3) Вопрос помогает найти тех, кто способен решать проблемы, которые ВНЕЗАПНО возникают на ровном месте.

E>Мне тоже понравился. Только, IMHO, не надо прессовать 30-ю секундами. Можно при тестировании отмечать, что типа тупил боьлше 30 секунд, но при постановке задачи не надо чела напрягать.
Ну это да, согласен.
Sapienti sat!
Re[3]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 27.12.10 09:45
Оценка: :)
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, minorlogic, Вы писали:


M>>Это просто, 16.0/FLT_EPSILON при типе "float"


E>Это не так. при вычислениях (а+1) тип продвинется до double, по крайней мере. Так что число будет несколько побольше...


Угу , ошибся. Надо было DBL_EPSILON писать.

E>Кстати, а почему именно 16.0 надо делить, а не 1 или PI, например?


перестраховка на пару бит.
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[5]: # как манагеров достали те, кого достали манагеры
От: MescalitoPeyot Украина  
Дата: 27.12.10 10:04
Оценка: +3 :)
Здравствуйте, Cyberax, Вы писали:

C>1) Проверяет знакомство с базовыми понятиями в программировании. Всё-таки представление чисел — это то, что программисты обязаны знать.


Ну я вот знаком с базовыми понятиями о представлении флоатов (еше со времен спектрумовского и x86 FPU ассемблера теоретически, пару багов с эпсилон приходилось фиксить на практике) и что помогло это мне? Черт с два, я принялся искать группу с нейтральным элементом 1. За 30 секунд на собеседовании точно не сообразил бы что от меня хотят ибо у самого в коде только + 1.0f, да и в чужом не часто +1 для флоата видишь, так что просто не проскакивает нужная ассоциация.

C>2) Это реально может встретится на практике в неожиданных контекстах. Например, в JavaScript'е.


Уже прочитал выше про JS. Содрогнулся. Хорошо что я плюсовик.

C>3) Вопрос помогает найти тех, кто способен решать проблемы, которые ВНЕЗАПНО возникают на ровном месте.


Ни разу. Это помогает выявить тех у кого на данное выражение возникают ассоциации сходные с таковыми у автора задачки. И всё. Более того, автор задачки мог сочинять ее полчаса или увидеть в интернете или она могла прийти ему в голову при просмотре кода т. е. данный тест вообще может быть тестом на сферичность в вакууме.

Еще раз: быстрые задачки несколько-ходовки определяют только имеет ли кандидат ожидаемые ассоциации, а также уровень его волнения/мотивации и, в меньшей степени, скорость мышления — если оставлено время на откат и проверку версий.
... << RSDN@Home 1.2.0 alpha 4 rev. 1138>>
Re[5]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 10:19
Оценка: 3 (2) +4 :)
Здравствуйте, мыщъх, Вы писали:

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

М>похоже на то. вероятно, данный вопрос и задумывался как тест на тех кто это знает. тем более что задание принимает не машина, а живой человек и тут можно смотреть хотя бы на ход рассуждений.

Мее кажется, такого рода тесты очень хорошо отличают людей типа "я 20 лет уже этим гаечным ключом гайки кручу, и ничего подобного мне никогда знать было не надо" от людей, которых любопытство заставляет заглядывать за пределы своего гаечного ключа.
Re[5]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 27.12.10 10:50
Оценка:
Здравствуйте, мыщъх, Вы писали:

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

М>похоже на то. вероятно, данный вопрос и задумывался как тест на тех кто это знает. тем более что задание принимает не машина, а живой человек и тут можно смотреть хотя бы на ход рассуждений.

Мой ход рассуждений был более простым: перебираем все типы. Для целочисленных это не может быть справедливо для любого диапазона, в котором два и более значений. Следовательно код бессмысленный. С bool вопрос остался открытым (ибо любую операцию можно выразить проще). Потом рассмотрел действительный числа, где у кода хорошая смысловая нагрузка. Ну а использовать в принципе можно в какой-нить математике, в общем возможны варианты.
Re[3]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 27.12.10 10:56
Оценка:
Здравствуйте, Sap78, Вы писали:

S>Здравствуйте, Pzz, Вы писали:


S>Для меня этот код не выглядит осмысленным, даже если TYPEA — float или double.


S>
S>if(foo(myDoubleVariable))
S>{
S>//значение myDoubleVariable столь велико, что прибавление 1 тонет в округлении
S>//факт, конечно, забавный, но что с этим делать в production code - непонятно.
S>}
S>


  float sup = estimate_supremum(arg_list);
  if (can_be_used(sup))
    float_algorithm(arg_list);
  else
    general_slow_algorithm(arg_list);
Re[4]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 27.12.10 11:14
Оценка: :)
Здравствуйте, Pzz, Вы писали:

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


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

ЗЫ: возвращаемое значение насколько я помню по-умолчанию void — в сях традиционно не указывалось, это "плюсы" всех испортили более строгим синтаксисом. В этом плане — собеседования — более интересным вопрос будет понимания разницы си и си++ и что где будет компилироваться, а что — нет. Это — более практическое знание для _программиста_. Где-то так...
Голь на выдумку хитра, однако...
Re[2]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 27.12.10 11:17
Оценка: -1
Здравствуйте, Eye of Hell, Вы писали:

EOH>

А все потому что претендентам на Senior C/C++, Senior Java, Senior JavaScript, etc... было предложено следующее задание в стиле "блиц" для решения на бумаге за 30 сек.


EOH>Я Senior C/C++. Задачу не решил, потому как ни разу за более чем пятнадцатилетнюю карьеру не пытался переполнить float. Доктор, что я делаю не так?


EOH>P.S. Интересно, а вы сами diamond problem наизусть помните?


Там не в переполнении фокус, а в сложении чисел сильно разной величины — крайне давно известная вычислительная проблема при работе с числами ограниченной точности. Вы всего-то не работали в этой области — мощные математические вычисления — не более того. Как я уже говорил, "даймонд проблем" вычитывается по методичке за полчаса. А вот если кто хочет реальный математический аппарат от кандидата — так это уже совсем другая история. Данная "задача" к этому отношения не имеет ни малейшего.
Голь на выдумку хитра, однако...
Re[6]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 27.12.10 11:21
Оценка: :)
Здравствуйте, Pzz, Вы писали:

SA>>Смутно вспоминается что-то про 11 бит на мантиссу и 29 на порядок.


Pzz>Ответ не верный. По крайней мере, для x86.


Да, кстати: встречал данный вопрос на собеседованиях. Вот скажите честно: кому он может понадобиться в качестве "активного знания наизусть" — кроме самого представления что там есть две части числа и знак.

SA>>И почему бы не просить собеседуемого реализовать swap командой xor?


Pzz>Потому что ответ все знают наизусть.


Не все. Я все время забываю, когда в очередной раз на бОмажке пишу функцию разворота строки в обратную сторону.

SA>>Или там спеть, станцевать, постоять на голове, показать слона.. по степени осмысленности примерно равнозначно будет.


Pzz>Потому что в гугле нет пока циркового отделения.


А я на фото у них шары всякие видел и клоунская раскраска везде...
Голь на выдумку хитра, однако...
Re: # как манагеров достали те, кого достали манагеры
От: Michael7 Россия  
Дата: 27.12.10 11:25
Оценка:
Здравствуйте, мыщъх, Вы писали:


М>function foo(a){ return ((a + 1) == a); }


М>ВОПРОС:

М>Как вы считаете, сколько кандидатов прошло тест даже когда им предоставили комп и минут с полчаса для раздумий и экспериментрв?

А что про машинное эпсилон уже перестали рассказывать? Дауж. Может мне в гугль наняться, вроде чувствую еще не все из матмоделирования забыл
Re[4]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 27.12.10 11:28
Оценка: +1
Здравствуйте, мыщъх, Вы писали:

М>внимание, правильный ответ:

М>(ну может не совсем правильный, но это то, что ответил я и мне сказали -- угу, это мы и хотели бы услышать). этот код проверят -- не вышло ли 'a' за диапазон, в котором начинаются потери слева от запятой, но этот код кривой и делает это неправильно, поскольку операция сравнения с плавучкой оператором == не делаются и в продакшене этому коду не место, конечно. с другой стороны, касательно js и других языков где типы невозможно задать явно это вполне сносный способ оценки с каким типом мы имеем дело, при условии, что интерпретатор языка не будет менять типы на лету.

Можно встречный вопрос: какая практическая ценность от такой проверки — в смысле от знания, что "не вышло ли 'a' за диапазон, в котором начинаются потери слева от запятой"?

М>это было то, что ответил я. и мне сказали "угу", а "угу" это по крайней мере "уд".
Голь на выдумку хитра, однако...
Re[5]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 27.12.10 11:31
Оценка: :)
Здравствуйте, Cyberax, Вы писали:

C>3) Вопрос помогает найти тех, кто способен решать проблемы, которые ВНЕЗАПНО возникают на ровном месте.


Причем "проблемы" специально "отфильтрованные креативными умами". И тратит на это не более 30 секунд.
Голь на выдумку хитра, однако...
Re[8]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 27.12.10 11:32
Оценка:
Здравствуйте, StandAlone, Вы писали:

SA>Все, не сдал я экзамен ни Лаптёву, ни Pzz. Бида-бида.


Бида-бида — иметь подобных умников на проекте и встречать такой код в продакшине.
Голь на выдумку хитра, однако...
Re[2]: # как манагеров достали те, кого достали манагеры
От: Michael7 Россия  
Дата: 27.12.10 11:34
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Здравствуйте, мыщъх, Вы писали:



М>>function foo(a){ return ((a + 1) == a); }


М>>ВОПРОС:

М>>Как вы считаете, сколько кандидатов прошло тест даже когда им предоставили комп и минут с полчаса для раздумий и экспериментрв?

M>А что про машинное эпсилон уже перестали рассказывать? Дауж. Может мне в гугль наняться, вроде чувствую еще не все из матмоделирования забыл


Упс, не сразу обратил внимание, что сравнение не с 1-цей, а с a. Тогда это должно быть большое вещественное число любого знака, что-то по модулю, навскидку большее 10^12 степени, точно не вспомню сейчас, смысл, что самый младший разряд мантисы становится больше 10.

Вообще, в свое время, у нас в институте курс прикладной математики как раз начали с машинной арифметики и довольно долго мучили.
Re[6]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 27.12.10 11:36
Оценка: :)
Здравствуйте, Pzz, Вы писали:

Pzz>Мее кажется, такого рода тесты очень хорошо отличают людей типа "я 20 лет уже этим гаечным ключом гайки кручу, и ничего подобного мне никогда знать было не надо" от людей, которых любопытство заставляет заглядывать за пределы своего гаечного ключа.


Невероятно задалбывают такие люди почему-то. Когда ты ему говоришь, что вместо изобретения велосипеда "за пределами своего гаечного ключа" лучше бы он занялся как раз именно "гаечным ключом" — ответ... не помню. Что-то вроде "но ведь это так классно — заглядывать за пределы своего гаечного ключа!" (к)
Голь на выдумку хитра, однако...
Re[7]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 27.12.10 11:37
Оценка: +1
SA>>>Смутно вспоминается что-то про 11 бит на мантиссу и 29 на порядок.

Pzz>>Ответ не верный. По крайней мере, для x86.


TL>Да, кстати: встречал данный вопрос на собеседованиях. Вот скажите честно: кому он может понадобиться в качестве "активного знания наизусть" — кроме самого представления что там есть две части числа и знак.


конечно, вряд ли нужно знание точного кол-ва бит.
Но на собеседовании смотрят на общую адекватность, а адекватность включает в себя умение делать всякие прикидки, оценки, сэнити чеки.
Данные числа (11 бит на мантиссу и 29 на порядок) бредовы. Во-первых, они в сумме дают 40 бит, это первый звоночек. Во-вторых, 11 бит на мантиссу это 3 с половиной десятичных цифры. Ну по моему любой кто простейшим образом использовал флоаты должен понимать что 3 с половиной значащих десятичных цифры это слишком мало.
Re[5]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 27.12.10 11:44
Оценка: 3 (1) +3
TL>ЗЫ: возвращаемое значение насколько я помню по-умолчанию void — в сях традиционно не указывалось

неправильно помнишь. По умолчанию именно int.
А void в первых версиях С вообще не было. Вместо void* использовали char*
Re[5]: # как манагеров достали те, кого достали манагеры
От: Skelterer Россия  
Дата: 27.12.10 11:45
Оценка:
Здравствуйте, dilmah, Вы писали:


MX>>Гугль набирает сишников?


D>их интел купил, а не гугл


мыщх писал:
М>Знакомый манагер из Новой Империи Зла (G$$gle) под рождество совсем опечалился
Re[4]: # как манагеров достали те, кого достали манагеры
От: Sap78  
Дата: 27.12.10 11:52
Оценка:
Здравствуйте, Mystic, Вы писали:

M>
M>  float sup = estimate_supremum(arg_list);
M>  if (can_be_used(sup))
M>    float_algorithm(arg_list);
M>  else
M>    general_slow_algorithm(arg_list);
M>


Если can_be_used это foo(TYPEA a), то баги уже прут:
1) Исходя из foo's body: foo(TYPEA a){ return ((a + 1) == a); } это скорее cant_be_used для float_algorithm.

2) IMO выбор алгоритма должен осуществляться в estimate_supremum(arg_list). Уже при конвертации string -> float должно быть понятно, можно ли представить arg_list в float с достаточной точностью или нет.
Re[5]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 27.12.10 11:52
Оценка:
Здравствуйте, The Lex, Вы писали:

TL>Можно встречный вопрос: какая практическая ценность от такой проверки — в смысле от знания, что "не вышло ли 'a' за диапазон, в котором начинаются потери слева от запятой"?


Например, в MATLAB по умолчанию используется один тип float, в том числе и для индексации матриц. Соответственно, если размер массива превышает это значение, то нам нужно хотя бы предупреждение вывести, например...
Re[6]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 27.12.10 11:52
Оценка:
Здравствуйте, MescalitoPeyot, Вы писали:

MP>За 30 секунд на собеседовании точно не сообразил бы что от меня хотят ибо у самого в коде только + 1.0f, да и в чужом не часто +1 для флоата видишь, так что просто не проскакивает нужная ассоциация.


Ну так тест как раз на то, что в ЧГК называют "умение выйти из плоскости"...

MP>Ни разу. Это помогает выявить тех у кого на данное выражение возникают ассоциации сходные с таковыми у автора задачки. И всё. Более того, автор задачки мог сочинять ее полчаса или увидеть в интернете или она могла прийти ему в голову при просмотре кода т. е. данный тест вообще может быть тестом на сферичность в вакууме.


Я не согласен.
Во-вторых,
выделенный тези противоречит тому, что обсуждаемый персонаж -- автор задачки.
Во-первых, задачка как раз на то, как быстро чел начинает тупить. Типа нет решения в лоб. Нет и всё, и никто его не видит, а решение таки есть.
Так, кстати, при всяких запутанных эффектах реально бывает, что людям не хватает для решения проблемы вовсе и не званий, а некоторой незашоренности, что ли, универсальности, фантазии, наконец.
Бывают такие сверхнеожиданные баги, например, которые просто нереально трудно себе ПРЕДСТАВИТЬ, а пока не представишь -- не поймёшь.
Вот тут Кочетков недавно в этюдах игруху предлагал -- расследовать реальную проблему. И там тоже они несколько дней отделом рыли, пока не допёрли до того, как воспроизводится эффект. А ларчик просто открывался. Просто трудно было себе ВООБРАЗИТЬ, что такой ход может на что-то влиять. и это при том, что лни смотрели несколько дней в логи, где ход был хронометрирован и записан по лолям секунды...

Конечно есть риск нарваться на чела, который просто собаку на даблах съел. Но мне так кажется, что в подавляющей доле случаев тест выявит тех, кто умеет быстро искать пародоксальные ответы, а не спецтв в даблах...

Но для контроля можно аналогичную задачку из другой совсем области дать...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[5]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 27.12.10 11:58
Оценка:
Здравствуйте, The Lex, Вы писали:

TL>Вменяемый человек под профессией "программер профессиональный" ознакамливается с подобными фокусами буквально за полчаса путем чтения методички, которая несомненно должна быть в конторе, которая а) занимается написанием числодробилок; б) хочет нанять себе "программиста профессионального обыкновенного".


Э-э-э, тут вопрос про другое совсем. Вот ты не знал о том, что если взять достаточно больше число, то 1 уже не прибавится? Если не щнал, то как это может быть? Как ты себе вообще представлял работу дабла? Ну хотя бы в общих чертах? А если знал, то решил ли ты задачку за 30 сек?
Я вот решил не до конца. Я не мог вспомнить, как точно константа называется, но это потому, что я ий очень давно не пользовался...

TL>ЗЫ: возвращаемое значение насколько я помню по-умолчанию void — в сях традиционно не указывалось,

Ты помнишь всё неаерно. В С неуказанный тип был всегда int.
например:
static count = 10;


TL>это "плюсы" всех испортили более строгим синтаксисом. В этом плане — собеседования — более интересным вопрос будет понимания разницы си и си++ и что где будет компилироваться, а что — нет. Это — более практическое знание для _программиста_. Где-то так...


Нафига бы и кому нужен спец сразу по обоим языкам?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[5]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 27.12.10 12:03
Оценка:
Здравствуйте, Sap78, Вы писали:

S>2) IMO выбор алгоритма должен осуществляться в estimate_supremum(arg_list). Уже при конвертации string -> float должно быть понятно, можно ли представить arg_list в float с достаточной точностью или нет.


А при чем там конвертация string -> float? Оценка может быть сложным математическим алгоритмом. Получили некоторое число, например, максимальную размерность массива. А далее выбираем алгоритм, который лучше всего будет работать для указанной верхней грани. Например, alg<float>, alg<long float>, alg<bycicle_float>.

Другой пример, в интерпретируемом языке при индексации массива при помощи float вывести warning, если can_not_be_used.
Re[5]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 12:07
Оценка: +1
Здравствуйте, The Lex, Вы писали:

TL>Те, кто работает с вычислительными задачами, осведомлены об этом еще со времен программируемых калькуляторов. В других сферах подобное знание особой ценности не имеет вообще — исключительно для тех, кто пишет числодробилки. Но они, как я уже и сказал, с детства об этом и так знают. Вменяемый человек под профессией "программер профессиональный" ознакамливается с подобными фокусами буквально за полчаса путем чтения методички, которая несомненно должна быть в конторе, которая а) занимается написанием числодробилок; б) хочет нанять себе "программиста профессионального обыкновенного".


Не совсем. Умение грамотно работать с плавучкой — особый род программерского искусства и я, например, им не владею. Но понимание, какие там могут таиться опасности, полезно для всех, потому что хоть иногда плавучку используют все (ну и чтобы не возникало искушения использовать плавучку там, где она не применима).

TL>ЗЫ: возвращаемое значение насколько я помню по-умолчанию void — в сях традиционно не указывалось, это "плюсы" всех испортили более строгим синтаксисом. В этом плане — собеседования — более интересным вопрос будет понимания разницы си и си++ и что где будет компилироваться, а что — нет. Это — более практическое знание для _программиста_. Где-то так...


В сях функция возвращает int, если не указано иначе. C++, по-моему, не разрешает не указывать.
Re[7]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 12:36
Оценка: 2 (1) +3
Здравствуйте, The Lex, Вы писали:

TL>Невероятно задалбывают такие люди почему-то. Когда ты ему говоришь, что вместо изобретения велосипеда "за пределами своего гаечного ключа" лучше бы он занялся как раз именно "гаечным ключом" — ответ... не помню. Что-то вроде "но ведь это так классно — заглядывать за пределы своего гаечного ключа!" (к)


А меня ровно в такой же степени задалбывают те, которые дальше своего гаечного ключа не видят, потому что со стандартными задачами они худо-бедно справляются, а вот как чуть что слегка нестандартное (или просто стандартное решение ломается неочевидным образом), и сразу приходится думать за них.
Re[5]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:20
Оценка:
Здравствуйте, мыщъх, Вы писали:

Pzz>>>>Для bool'ов тоже должно работать, но смысл не улавливается.

М>>>на си есть bool?

Как мне тут справедливо объяснили пару человек, true + 1 == 2, а не true. Так что про bool я был не прав.

В оправдание свое скажу, что я всегда считал искусственное приведение в C++/C99 bool'а к 0/1 вредной ересью
Re[6]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:21
Оценка: +1 -1
Здравствуйте, Олег К., Вы писали:

ОК>>>Советую учить Си по Кернигану и Ритчи а непонятно по кому.

М>>но до сих пор работает: foo(a,b){return a+b;}
ОК>Кстати, как это будет работать если при вызове передашь double-ы, например? Или структуры?

Если аргументы не описаны, подразумевается int, а не полиморфизм
Re[7]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:25
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Ответ неверный для всех современных ЭВМ. ИБО IEEE-754 — стандарт представления чисел с плавающей точкой. Реализован на ВСЕХ современных ЭВМ.


Ну уж если меряться пиписьками, мне найдется, что ответить:
1. Я сознательно сказал x86, а не ieee-754, потому что первое слово понятно всем, а второе мало кому (к тому же, мне лень уточнять номер стандарта)
2. Софтверная реализация плавучки может использовать другой формат, более удобный именно для софтверной реализации. И такое реально встречается на практике
Re[6]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:26
Оценка: +1 :))
Здравствуйте, StandAlone, Вы писали:

C>>Всё-таки представление чисел — это то, что программисты обязаны знать.


SA>А RS-232 и формулу пересечения плоскости с прямой программисты обязаны знать?


Они обязаны иметь представление о том и другом. Что до формулы пересечения плоскости с прямой, ее должен быть в состоянии вывести любой выпускник средней школы.
Re[6]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:30
Оценка:
Здравствуйте, Erop, Вы писали:

C>>3) Вопрос помогает найти тех, кто способен решать проблемы, которые ВНЕЗАПНО возникают на ровном месте.


E>Мне тоже понравился. Только, IMHO, не надо прессовать 30-ю секундами. Можно при тестировании отмечать, что типа тупил боьлше 30 секунд, но при постановке задачи не надо чела напрягать. А то много сил будет тратиться на поиск какой-то дополнительной подлянки. Ну типа, что для прохождения теста надо, на самом деле на на заданный вопрсо ответить, а какой-то встречный задасть, может быть и т. д...


Мне кажется, во вменяемых компаниях, типа гугля, никто с секундомером сидеть не будет.

Ну а так, вообще, да, обстановка на собеседовании заметно отличается от обстановки в реальной жизни. Мы в свое время давали задачки, показывали человеку, где туалет, говорили, как нас найти в случае, если возникнут вопросы, и оставляли человека в покое на час-полтора. Никто даже не следил, не звонит ли человек куда по сотовому, чтобы узнать правильный ответ
Re[7]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:32
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>Всё-таки представление чисел — это то, что программисты обязаны знать.

SA>>А RS-232 и формулу пересечения плоскости с прямой программисты обязаны знать?
C>Второе — в принципе да, так как это школьная программа. Первое — необязательно.

Распайку проводов, знание используемых уровней сигналов и т.п. — необязательно. Общее представление о наличии последовательных каналов и о присущих им фундаментальных ограничениях знать ИМХО все же не вредно. Надо ли знать разницу между синхронным и асинхронным режимом передачи — открытый вопрос
Re[7]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:41
Оценка:
Здравствуйте, The Lex, Вы писали:

Pzz>>Ответ не верный. По крайней мере, для x86.


TL>Да, кстати: встречал данный вопрос на собеседованиях. Вот скажите честно: кому он может понадобиться в качестве "активного знания наизусть" — кроме самого представления что там есть две части числа и знак.


Никому. Но по крайней мере, надо отличать то, что ты знаешь (что плавающее число состоит из мантиссы и порядка) от того, что только что придумал (точное количество бит)

Pzz>>Потому что ответ все знают наизусть.


TL>Не все. Я все время забываю, когда в очередной раз на бОмажке пишу функцию разворота строки в обратную сторону.


Ну, почти все.

Pzz>>Потому что в гугле нет пока циркового отделения.


TL>А я на фото у них шары всякие видел и клоунская раскраска везде...


Я думаю, они это аутсорсят
Re[5]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:42
Оценка: :)
Здравствуйте, The Lex, Вы писали:

TL>Можно встречный вопрос: какая практическая ценность от такой проверки — в смысле от знания, что "не вышло ли 'a' за диапазон, в котором начинаются потери слева от запятой"?


Я думаю, есть очень большой смысл от понимания того факта, что при некоторых условиях оно может выйти за этот диапазон.
Re[4]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 27.12.10 13:43
Оценка:
M>Угу , ошибся. Надо было DBL_EPSILON писать.

Ээ.. есть сомнение..
Это было бы так, если бы промежуточный результат (a+1) был сохранен явно в переменную типа double.
В данном случае просто выражение и компилятор вычисляет его как он хочет. В частности если используется x86 сопроцессор то промежуточные вычисления идут с 80-битными числами. А double 64-битный.

Далее, абсолютно непонятно откуда вообще решили что тут будет promotion to double. Если бы вместо 1 стояло 1. то действительно был бы promotion to double.
А это выражение компилятор имеет право вычислять чисто во float. Я так полагаю.
Re[10]: # как манагеров достали те, кого достали манагеры
От: CreatorCray  
Дата: 27.12.10 13:44
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>При a=2^54

C>>>Можешь попробовать.
jed>>Попробовал на IE7 и FF 3.6, и правда есть такое. Забавно. Но начинается с 2^53.
C>2^54 я с запасом назвал.
У double 52 бита на мантиссу. Старший бит мантиссы не хранится, но подразумевается. Так что 52+1
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: # как манагеров достали те, кого достали манагеры
От: CreatorCray  
Дата: 27.12.10 13:44
Оценка: :)
Здравствуйте, shrecher, Вы писали:

S>Я думаю, TYPEA имеет перегруженный "operator +(int)", который ничего не делает. В результате, a + 1 не меняеет значение. В принципе, я больше не вижу решений, которые не зависили бы от плаформы или компайлера.


Приз за оригинальность!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:48
Оценка:
Здравствуйте, CreatorCray, Вы писали:

S>>Я думаю, TYPEA имеет перегруженный "operator +(int)", который ничего не делает. В результате, a + 1 не меняеет значение. В принципе, я больше не вижу решений, которые не зависили бы от плаформы или компайлера.


CC>Приз за оригинальность!


Угу. Особенно для яваскрипта. У которого, AFAIK, операторы не перегружаются.
Re[2]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 27.12.10 13:50
Оценка:
S>Я думаю, TYPEA имеет перегруженный "operator +(int)", который ничего не делает. В результате, a + 1 не меняеет значение. В принципе, я больше не вижу решений, которые не зависили бы от плаформы или компайлера.

Еще operator== можно перегрузить for fun and for profit
Re[6]: # как манагеров достали те, кого достали манагеры
От: antonio_banderas Россия  
Дата: 27.12.10 14:09
Оценка: +1
Здравствуйте, Mystic, Вы писали:

M>... С bool вопрос остался открытым (ибо любую операцию можно выразить проще).


А что тут открытого?
(a+1) будет преобразовано к типу int, (a+1)==a при сравнении а которое справа будет преобразовано к типу int, true всегда равно единице, т.е. таких bool a, для которых это выражение может быть истинным, нет. Т.е. bool не подходит.
Re[3]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 27.12.10 14:10
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>про финансы никто не говорил. мое мнение, что TYPEA это все-таки плавучка, но для плавучки в общем случае нельзя использовать '=='. а смысл данного кода... ну это похоже на проверку успешности инкремента на единицу. как только единица теряется мы думаем что делать по контексту.


В общем случае нельзя. Но в конкретном случае можно, если знаешь, что делаешь.
Re[5]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 27.12.10 14:17
Оценка:
Здравствуйте, dilmah, Вы писали:


D>Ээ.. есть сомнение..

D>Это было бы так, если бы промежуточный результат (a+1) был сохранен явно в переменную типа double.
D>В данном случае просто выражение и компилятор вычисляет его как он хочет. В частности если используется x86 сопроцессор то промежуточные вычисления идут с 80-битными числами. А double 64-битный.

По крайней мере MSVC это выражение показывает как double.

D>Далее, абсолютно непонятно откуда вообще решили что тут будет promotion to double. Если бы вместо 1 стояло 1. то действительно был бы promotion to double.

D>А это выражение компилятор имеет право вычислять чисто во float. Я так полагаю.

Я тоже думал что должно в float , но селяви. Разбираться в тонкости нет желания.
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[6]: # как манагеров достали те, кого достали манагеры
От: Vzhyk  
Дата: 27.12.10 14:20
Оценка:
27.12.2010 12:19, Pzz пишет:

> Мее кажется, такого рода тесты очень хорошо отличают людей типа "я 20

> лет уже этим гаечным ключом гайки кручу, и ничего подобного мне никогда
> знать было не надо" от людей, которых любопытство заставляет заглядывать
> за пределы своего гаечного ключа.
А там всего-лишь обычный таракан.
Posted via RSDN NNTP Server 2.1 beta
Re[3]: # как манагеров достали те, кого достали манагеры
От: Vzhyk  
Дата: 27.12.10 14:21
Оценка:
26.12.2010 9:08, Sap78 пишет:

> if(foo(myDoubleVariable))

> {
> //значение myDoubleVariable столь велико, что прибавление 1 тонет в округлении
> //факт, конечно, забавный, но что с этим делать в production code — непонятно.
> }
Ну как же что? Баги.
Posted via RSDN NNTP Server 2.1 beta
Re[6]: # как манагеров достали те, кого достали манагеры
От: Vzhyk  
Дата: 27.12.10 14:24
Оценка:
27.12.2010 13:52, Mystic пишет:

> Например, в MATLAB по умолчанию используется один тип float, в том числе

> и для индексации матриц. Соответственно, если размер массива превышает
> это значение, то нам нужно хотя бы предупреждение вывести, например...
Ты бы сначала справку матлаба почитал...
Posted via RSDN NNTP Server 2.1 beta
Re[5]: # как манагеров достали те, кого достали манагеры
От: Vzhyk  
Дата: 27.12.10 14:28
Оценка: 18 (2) +2
27.12.2010 8:13, Cyberax пишет:

> 3) Вопрос помогает найти тех, кто способен решать проблемы, которые

> ВНЕЗАПНО возникают на ровном месте.
4) А так же тех, которые будут их вам ВНЕЗАПНО создавать на ровном месте.
Posted via RSDN NNTP Server 2.1 beta
Re[7]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 14:31
Оценка:
Здравствуйте, Vzhyk, Вы писали:

>> Мее кажется, такого рода тесты очень хорошо отличают людей типа "я 20

>> лет уже этим гаечным ключом гайки кручу, и ничего подобного мне никогда
>> знать было не надо" от людей, которых любопытство заставляет заглядывать
>> за пределы своего гаечного ключа.
V>А там всего-лишь обычный таракан.

Да нет же, там целый мир, а таракан у смотрящего в голове
Re[6]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 27.12.10 14:39
Оценка:
D>>А это выражение компилятор имеет право вычислять чисто во float. Я так полагаю.

M>Я тоже думал что должно в float , но селяви. Разбираться в тонкости нет желания.


ты пишешь "я тоже думал что должно быть в float". Слово "тоже" употреблено некорректно, потому что оно подразумевает, что я тоже думаю, что ДОЛЖНО быть в float. Но я же ясно написал, что "имеет право" == МОЖЕТ, а не должен. Скажем, компилятор имеет право здесь поставить SSE команды оперирующие 32-битными флоатами.
В то же время, часто промежуточные вычисления выполняются с 80-бит, значит DBL_EPSILON не достаточно.
Re[6]: # как манагеров достали те, кого достали манагеры
От: landerhigh Пират  
Дата: 27.12.10 14:41
Оценка: +3
Здравствуйте, мыщъх, Вы писали:

М>задача как задача. все же лучше, чем сдвинуть гору фудзи кстати, гугл большой. намного больше чем слон. единого стандарта набора спецов там нет. HR'ы обращаются к программерам, чтобы те составили им задачку которая не встречалась ранее и которая бы проверяла базовые знания. кстати, работа с вещественными это и есть та база без которой никуда. как тут уже справедливо заметили, что банальный цикл рискует стать бесконечным только потому что на каком-то этапе обломиться с инкрементом.


Задача Г, автор М.

Как ты правильно отметил, большинство разумных людей используют целочисленные индексы при итерациях.
Но если вдруг возникнет сферическая необходимость запихнуть вещественное число в for, то подобная бяка должна выявляться вторым юнит-тестом.

Просто некоторые предпочитают всю жизнь обосновывать, почему самолет не взлетит, в то время как те, кто знает, что взлетит, уже давно перешли к решению более насущных задач.
www.blinnov.com
Re[7]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 27.12.10 14:43
Оценка:
Здравствуйте, dilmah, Вы писали:

D>>>А это выражение компилятор имеет право вычислять чисто во float. Я так полагаю.


M>>Я тоже думал что должно в float , но селяви. Разбираться в тонкости нет желания.


D>ты пишешь "я тоже думал что должно быть в float". Слово "тоже" употреблено некорректно, потому что оно подразумевает, что я тоже думаю, что ДОЛЖНО быть в float. Но я же ясно написал, что "имеет право" == МОЖЕТ, а не должен. Скажем, компилятор имеет право здесь поставить SSE команды оперирующие 32-битными флоатами.

D>В то же время, часто промежуточные вычисления выполняются с 80-бит, значит DBL_EPSILON не достаточно.

И вот имеет ли право компилятор использовать 80 бит точность для сравнения , не уверен. Буду благодарен если ткнешь в стандарт
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[7]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 27.12.10 15:03
Оценка:
ОК>>>>Советую учить Си по Кернигану и Ритчи а непонятно по кому.
М>>>но до сих пор работает: foo(a,b){return a+b;}
ОК>>Кстати, как это будет работать если при вызове передашь double-ы, например? Или структуры?
Pzz>Если аргументы не описаны, подразумевается int, а не полиморфизм
Если параметры не описаны или функция вообще не объявлена, отключается type and parameter checking при вызове. Программист может передать в функцию все что угодно и компилятор не будет делать никаких проверок. Вызываемая функция, разумеется, будет считать что ей действительно были переданы int-ы. Именно поэтому ANSI C ввел C++-style function declarations and definitions.
Re[7]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 27.12.10 15:07
Оценка:
ОК>>>>Советую учить Си по Кернигану и Ритчи а непонятно по кому.
М>>>но до сих пор работает: foo(a,b){return a+b;}
ОК>>Кстати, как это будет работать если при вызове передашь double-ы, например? Или структуры?
М>какие структуры? это работает как int foo(int a, int b){return a+b;} ну и как это будет работать если при вызове передать структуры? это int по умолчанию, а вовсе не #define foo(a,b) ((a)+(b))

Здесь
Автор: Олег К.
Дата: 27.12.10
Re[7]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 27.12.10 15:13
Оценка:
Pzz>Мне кажется, во вменяемых компаниях, типа гугля, никто с секундомером сидеть не будет.
Ты действительно думаешь что Гугл вменяемая компания?

Они поработали на имя. Теперь имя работает на них.
Re[8]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 27.12.10 15:15
Оценка:
M>И вот имеет ли право компилятор использовать 80 бит точность для сравнения , не уверен. Буду благодарен если ткнешь в стандарт

Я применю простую логику. Итак, мы имеем float a;
Утверждение первое: тип (a+1) это float, a не double. Здесь нет никаких причин для промоушена в дабл.

Тест на практике:

#include <stdio.h>

int main() {
  float f = 0.f;
  double d = 0.;
  printf("%d %d %d %d\n", sizeof(f), sizeof(f+1), sizeof(f+1.), sizeof(d));
  return 0;
}


$ gcc fltdbl.c

$ ./a.exe
4 4 8 8


Значит, либо достаточно FLT_EPSILON. Но его конечно не достаточно. Но в таком случае нет никаких причин говорить что достаточно DBL_EPSILON, потому что double здесь никак не фигурирует, компилятор имеет право проводить промежуточные вычисления в любом расширенном типе какой захочет. Нет никаких оснований выделить 64-битный тип, он в данном случае ничем не выделяется.
Re[8]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 15:15
Оценка:
Здравствуйте, Олег К., Вы писали:

Pzz>>Мне кажется, во вменяемых компаниях, типа гугля, никто с секундомером сидеть не будет.

ОК>Ты действительно думаешь что Гугл вменяемая компания?

Ну, относительно вменяемая. У меня там знакомые кое-какие работают.
Re[8]: # как манагеров достали те, кого достали манагеры
От: andrey.desman  
Дата: 27.12.10 15:18
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>И вот имеет ли право компилятор использовать 80 бит точность для сравнения , не уверен. Буду благодарен если ткнешь в стандарт


Компилятор может и не имеет, а intel x86 fpu все действия производит над 80-битными числами (по крайней мере раньше производил), а потом при сохранении в память округляет до double. Впрочем, это не имеет значения, ведь все равно единица отсечется при сохранении в 64 бита.
Re[6]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 27.12.10 15:19
Оценка:
C>>3) Вопрос помогает найти тех, кто способен решать проблемы, которые ВНЕЗАПНО возникают на ровном месте.
E>Мне тоже понравился.
А мне не понравился. В Computer Science навалом фундаментальных вещей которые имеют большее отношение к практике чем данный вопрос.

Поддерживаю MescalitoPeyot. Тема топика тоже дурацкая.
Re[9]: # как манагеров достали те, кого достали манагеры
От: andrey.desman  
Дата: 27.12.10 15:23
Оценка:
Здравствуйте, andrey.desman, Вы писали:

AD>Компилятор может и не имеет, а intel x86 fpu все действия производит над 80-битными числами (по крайней мере раньше производил), а потом при сохранении в память округляет до double. Впрочем, это не имеет значения, ведь все равно единица отсечется при сохранении в 64 бита.


а, ну да. сравнение ведь происходит до сохранения, значит не прокатит (может не прокатить), если только не запретить это компилятору явно
Re[8]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 27.12.10 15:26
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>Ты действительно думаешь что Гугл вменяемая компания?


А что есть вменяемая компания? Ведут прием сотрудников на работу в соответствие с твоими рекомендациями?

ОК>Они поработали на имя. Теперь имя работает на них.


У google вроде всегда так было.
Re[9]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 27.12.10 15:33
Оценка:
Pzz>>>Мне кажется, во вменяемых компаниях, типа гугля, никто с секундомером сидеть не будет.
ОК>>Ты действительно думаешь что Гугл вменяемая компания?
Pzz>Ну, относительно вменяемая. У меня там знакомые кое-какие работают.
У меня тоже. И еще пара ходила совсем недавно на интервью.
Re[9]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 27.12.10 15:40
Оценка:
ОК>>Ты действительно думаешь что Гугл вменяемая компания?
M>А что есть вменяемая компания? Ведут прием сотрудников на работу в соответствие с твоими рекомендациями?
Есть какой-то предел на котором сойдутся большинство толковых интервьюируемых. Гугл, имхо, перегибает палку. И, потом, имелась в виду сама работа в Гугле. Не все там так шоколодно.

ОК>>Они поработали на имя. Теперь имя работает на них.

M>У google вроде всегда так было.
Отнюдь. Сейчас Гугл уже не тот как лет восемь назад.
Re[10]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 27.12.10 15:51
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>Есть какой-то предел на котором сойдутся большинство толковых интервьюируемых. Гугл, имхо, перегибает палку. И, потом, имелась в виду сама работа в Гугле. Не все там так шоколодно.


Нет единственно правильного варианта. Есть несколько возможных вариантов. И толковые интервьюеры есть в каждом из них.

ОК>>>Они поработали на имя. Теперь имя работает на них.

M>>У google вроде всегда так было.
ОК>Отнюдь. Сейчас Гугл уже не тот как лет восемь назад.
Всегда там были такие задачки, я про это еще восемь лет назад читал.
Re[7]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 27.12.10 16:00
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Задача Г, автор М.

L>Как ты правильно отметил, большинство разумных людей используют целочисленные индексы при итерациях.
L>Но если вдруг возникнет сферическая необходимость запихнуть вещественное число в for, то подобная бяка должна выявляться вторым юнит-тестом.
А ты знаешь, что ВСЕ числа в JS — это double? Или ты хочешь сказать, что HTML — это никому не нужно?
Sapienti sat!
Re[8]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 27.12.10 16:05
Оценка:
L>>Задача Г, автор М.
L>>Как ты правильно отметил, большинство разумных людей используют целочисленные индексы при итерациях.
L>>Но если вдруг возникнет сферическая необходимость запихнуть вещественное число в for, то подобная бяка должна выявляться вторым юнит-тестом.
C>А ты знаешь, что ВСЕ числа в JS — это double? Или ты хочешь сказать, что HTML — это никому не нужно?
Да пофиг. Нормальный программист напишет
for (var i = 0; i < 5; ++i)
     do_something();

Ненормальный напишет
for (var i = 0; i != 5; ++i)
     do_something();
Re[9]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 27.12.10 16:09
Оценка: +5
ОК>Да пофиг. Нормальный программист напишет
ОК>
ОК>for (var i = 0; i < 5; ++i)
ОК>     do_something();
ОК>

ОК>Ненормальный напишет
ОК>
ОК>for (var i = 0; i != 5; ++i)
ОК>     do_something();
ОК>


ты видимо не просек всю фишку. Фишка в том, что если 5 велико, то возникнет бесконечный цикл, потому что i перестанет меняться от итерации к итерации, и останется меньше предела.
Re[11]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 27.12.10 16:13
Оценка:
ОК>>>>Они поработали на имя. Теперь имя работает на них.
M>>>У google вроде всегда так было.
ОК>>Отнюдь. Сейчас Гугл уже не тот как лет восемь назад.
M>Всегда там были такие задачки, я про это еще восемь лет назад читал.
Я о работе а не интервью.
Re[10]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 27.12.10 16:17
Оценка:
D>ты видимо не просек всю фишку. Фишка в том, что если 5 велико, то возникнет бесконечный цикл, потому что i перестанет меняться от итерации к итерации, и останется меньше предела.
Как часто у тебя встречалась такая ситуация на практике?
Re[9]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 27.12.10 16:32
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>Ненормальный напишет

ОК>
ОК>for (var i = 0; i != 5; ++i)
ОК>     do_something();
ОК>


А что в этом ненормального? Например, у меня есть такой код, как его запишут адекватные программисты?

function lineMoves(from, delta, isShort)
{
  for (var i=0; i<delta.length; ++i)
  {
    var to = from;
    for(;;)
    {
      to += delta[i];
      if ((to & 0x88) != 0) break;
      var piece = fields[to];
      if (chessGame.pieceColor(piece) == active) break;
      retValue.push(newMove(from, to, piece != null ? "TAKING" : "MOVE"));
      if (isShort) break;
      if (piece != null) break;
    }
  }
}

function kingMoves(from)
{
  lineMoves(from, [1, 15, 16, 17, -1, -15, -16, -17], true);
}

function queenMoves(from)
{
  lineMoves(from, [1, 15, 16, 17, -1, -15, -16, -17]);
}

function rookMoves(from)
{
  lineMoves(from, [1, 16, -1, -16]);
}

function bishopMoves(from)
{
  lineMoves(from, [15, 17, -15, -17]);
}

function knightMoves(from)
{
  lineMoves(from, [14, 18, 31, 33, -14, -18, -31, -33], true);
}
Re[6]: # как манагеров достали те, кого достали манагеры
От: Трурль  
Дата: 27.12.10 16:43
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Мой ход рассуждений был более простым: перебираем все типы. Для целочисленных это не может быть справедливо для любого диапазона, в котором два и более значений. Следовательно код бессмысленный.


Не скажите. А может, нам нужна функция, тождественно равная нулю.
Re[7]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 27.12.10 16:49
Оценка: +1
Здравствуйте, Трурль, Вы писали:

Т>Не скажите. А может, нам нужна функция, тождественно равная нулю.


Есть более понятное выражение этой идеи:

function() { return 0; }
Re[7]: # как манагеров достали те, кого достали манагеры
От: MescalitoPeyot Украина  
Дата: 27.12.10 16:53
Оценка: +1
Здравствуйте, Erop, Вы писали:

E>Во-первых, задачка как раз на то, как быстро чел начинает тупить. Типа нет решения в лоб. Нет и всё, и никто его не видит, а решение таки есть.


А как такое решение: "какой-то тип с перегруженным плюсом, образует группу с нейтральной 1"? По собственному опыту знаю, после этого начнется "ой, ну да, это подходит, ну а вот можно и по другому". И эти люди мне будут говорить о зашоренности? Я ж говорю задачка в такой формулировке и с таким временным ограничением тупо на первую ассоциацию.

E>Вот тут Кочетков недавно в этюдах игруху предлагал -- расследовать реальную проблему. И там тоже они несколько дней отделом рыли, пока не допёрли до того, как воспроизводится эффект.


Читал, участвовал. Аналогия не катит. Это как раз антипример который показывает что между решением задач на 30 секунд и решением рабочих проблем на несколько дней нет ничего общего. Как по мне такая длительная задержка произошла как раз из-за того что в горячке не сели и не расписали возможные стороны проблемы, т. е. не хватило той самой методичности которая на коротких задачах только мешает. (А вообще Кочетков сам виноват: он Оперу не любит вот она ему и мстит).

E>Конечно есть риск нарваться на чела, который просто собаку на даблах съел. Но мне так кажется, что в подавляющей доле случаев тест выявит тех, кто умеет быстро искать пародоксальные ответы, а не спецтв в даблах...


Осталось разобраться какое отношение имеют парадоксальные ответы к практической деятельности.
Re[3]: # как манагеров достали те, кого достали манагеры
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 27.12.10 18:28
Оценка: +1

Не знаешь, как пользоваться плавающей точкой.


Нифига не сильная телепатия . Я знаю как ими пользоватья и даже примерно представляю внутреннее устройство — но — прмерно. Ни разу на практике мне не понадобилось точно выяснять как реализованы числа с плавающей точкой. Ни на одном из языков, на которых программировал. Хотя бы потому, что если я буду лезть внутрь всех используемых языков и технологий — то мне жизни не хватит чтобы досконально разобраться, как оно все работает. Такой фокус пожалуй можно бы было провернуть с профильным C++ — но необходимости ни разу не было.
Re[3]: # как манагеров достали те, кого достали манагеры
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 27.12.10 18:33
Оценка:

Вы всего-то не работали в этой области — мощные математические вычисления — не более того.


Угумс. Что как бы намекает нам — Senior C/C++ не будет знать наизусть весь ISO и все corner cases. Вот я например разрабатывал библиотеки и досканально знаю как рабтают шаблоны. А программист из того же геймдева вряд ли сможет за 30 секунд нарисовать шаблон, который при параметризации сигнатурой функции поэвалуейтиться (какое красивое слово) в тип ее второго параметра O_O. И не потому что хуже меня — а потому что изучал другие области применения — оптимизацию по скорости, работу с памятью и иже с ней.
Re[8]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 19:28
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>>>>>Советую учить Си по Кернигану и Ритчи а непонятно по кому.

М>>>>но до сих пор работает: foo(a,b){return a+b;}
ОК>>>Кстати, как это будет работать если при вызове передашь double-ы, например? Или структуры?
М>>какие структуры? это работает как int foo(int a, int b){return a+b;} ну и как это будет работать если при вызове передать структуры? это int по умолчанию, а вовсе не #define foo(a,b) ((a)+(b))

ОК>Здесь
Автор: Олег К.
Дата: 27.12.10

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

foo();

bar()
{
foo("hello", 3);
}

foo(char *s, int n)
{
for(;n>0;n--) printf("%s\n", s);
}

и о чем дохлый страус писал в дизайне и эволюции плюсов.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[7]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 19:30
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Здравствуйте, мыщъх, Вы писали:


М>>задача как задача. все же лучше, чем сдвинуть гору фудзи кстати, гугл большой. намного больше чем слон. единого стандарта набора спецов там нет. HR'ы обращаются к программерам, чтобы те составили им задачку которая не встречалась ранее и которая бы проверяла базовые знания. кстати, работа с вещественными это и есть та база без которой никуда. как тут уже справедливо заметили, что банальный цикл рискует стать бесконечным только потому что на каком-то этапе обломиться с инкрементом.


L>Задача Г, автор М.


L>Как ты правильно отметил, большинство разумных людей используют целочисленные индексы при итерациях.

L>Но если вдруг возникнет сферическая необходимость запихнуть вещественное число в for, то подобная бяка должна выявляться вторым юнит-тестом.
на си и плюсах -- согласен. как быть с java script?
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[4]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 19:35
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, мыщъх, Вы писали:


М>>про финансы никто не говорил. мое мнение, что TYPEA это все-таки плавучка, но для плавучки в общем случае нельзя использовать '=='. а смысл данного кода... ну это похоже на проверку успешности инкремента на единицу. как только единица теряется мы думаем что делать по контексту.


M>В общем случае нельзя. Но в конкретном случае можно, если знаешь, что делаешь.

а я вот подумал вот о чем -- а если ли у нас гарантия, что поведение программы не будет зависеть от настроек компилятора? ведь x86 нативно работает не с float'ом. и без оптимизации там на каждом шагу происходит сплошное преобразование типов. а после оптимизации может оказаться, что у нас уже далеко не float и потери единицы не происходит. и если мы используем данную функции как IsIncOk(float a) то она может вернуть ок, даже когда на float начинается потеря точности, что обрушит код вызывающей функции...
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[5]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 19:40
Оценка: 3 (1) +2
Здравствуйте, The Lex, Вы писали:

TL>Здравствуйте, мыщъх, Вы писали:


М>>внимание, правильный ответ:

М>>(ну может не совсем правильный, но это то, что ответил я и мне сказали -- угу, это мы и хотели бы услышать). этот код проверят -- не вышло ли 'a' за диапазон, в котором начинаются потери слева от запятой, но этот код кривой и делает это неправильно, поскольку операция сравнения с плавучкой оператором == не делаются и в продакшене этому коду не место, конечно. с другой стороны, касательно js и других языков где типы невозможно задать явно это вполне сносный способ оценки с каким типом мы имеем дело, при условии, что интерпретатор языка не будет менять типы на лету.

TL>Можно встречный вопрос: какая практическая ценность от такой проверки — в смысле от знания, что "не вышло ли 'a' за диапазон, в котором начинаются потери слева от запятой"?


у меня есть только одна идея. если мы вращаем цикл, последовательно увеличива a на единицу, то это глупо, конечно, но мы хотим знать, что действительно ли a увеличилось или нет. однако, это не будет работать при включенной оптимизации. точнее может и не работать, т.к. компилер выполнит (a+1)==a на регистрах FPU и скажет, что все пучком, а в настоящем float уже будут потери и все накроется медным тазом. короче, очень нестабильный код...
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[2]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 19:46
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Здравствуйте, мыщъх, Вы писали:



М>>function foo(a){ return ((a + 1) == a); }


М>>ВОПРОС:

М>>Как вы считаете, сколько кандидатов прошло тест даже когда им предоставили комп и минут с полчаса для раздумий и экспериментрв?

M>А что про машинное эпсилон уже перестали рассказывать? Дауж. Может мне в гугль наняться, вроде чувствую еще не все из матмоделирования забыл

а вот я про эпсилон слышал звон, да не знаю где он. гугл сейчас готовит очередную порцию найма. по каким направлениям не в курсе. но точно не по поиску. планирует добавить новые сервисы. какие -- пока не разглашается. но мат. моделирования там будет много это я точно говорю
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[6]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 19:49
Оценка: +1
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, мыщъх, Вы писали:


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

М>>похоже на то. вероятно, данный вопрос и задумывался как тест на тех кто это знает. тем более что задание принимает не машина, а живой человек и тут можно смотреть хотя бы на ход рассуждений.

Pzz>Мее кажется, такого рода тесты очень хорошо отличают людей типа "я 20 лет уже этим гаечным ключом гайки кручу, и ничего подобного мне никогда знать было не надо" от людей, которых любопытство заставляет заглядывать за пределы своего гаечного ключа.

совершенно согласен. огромному кол-ву людей ничего не интересно за пределами из узкой специальности. просто потому что непосредственно за знание формата плавучки и преобразования ее к "нативному" формату FPU им никто не платит...
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[7]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 19:54
Оценка:
Здравствуйте, мыщъх, Вы писали:

Pzz>>Мее кажется, такого рода тесты очень хорошо отличают людей типа "я 20 лет уже этим гаечным ключом гайки кручу, и ничего подобного мне никогда знать было не надо" от людей, которых любопытство заставляет заглядывать за пределы своего гаечного ключа.

М>совершенно согласен. огромному кол-ву людей ничего не интересно за пределами из узкой специальности. просто потому что непосредственно за знание формата плавучки и преобразования ее к "нативному" формату FPU им никто не платит...

Вообще, забавно. Ребенку интересно все, до чего он может дотянуться. В какой момент взрослые утрачивают этот интерес, и почему это происходит с большинством, но не со всеми?
Re: # как манагеров достали те, кого достали манагеры
От: superman  
Дата: 27.12.10 20:06
Оценка:
Здравствуйте, мыщъх, Вы писали:

Вот за что люблю КЫВТ — тут и в ветке для флейма можно что-нибудь интересное подчерпнуть
Re[8]: # как манагеров достали те, кого достали манагеры
От: LaptevVV Россия  
Дата: 27.12.10 20:33
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, LaptevVV, Вы писали:


LVV>>Ответ неверный для всех современных ЭВМ. ИБО IEEE-754 — стандарт представления чисел с плавающей точкой. Реализован на ВСЕХ современных ЭВМ.


Pzz>Ну уж если меряться пиписьками, мне найдется, что ответить:

Я — не меряюсь ничем...
Pzz>1. Я сознательно сказал x86, а не ieee-754, потому что первое слово понятно всем, а второе мало кому (к тому же, мне лень уточнять номер стандарта)
Не нужно думать, что большинство не знает стандарта. Я думаю, что большинство как раз знакомо с ним...
Pzz>2. Софтверная реализация плавучки может использовать другой формат, более удобный именно для софтверной реализации. И такое реально встречается на практике
С этим согласен, да. В ТурбоПаскале тип real по структуре совершенно отличался от ieee-754 и занимал 6 байтов, а не 4 или 8.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[6]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 21:12
Оценка:
Здравствуйте, Skelterer, Вы писали:

S>Здравствуйте, dilmah, Вы писали:



MX>>>Гугль набирает сишников?


D>>их интел купил, а не гугл


S>мыщх писал:

М>>Знакомый манагер из Новой Империи Зла (G$$gle) под рождество совсем опечалился
что не мешает мне иметь друзей в гугле и говорить с ними на извечные темы, что программисты нынче уже не те...
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[7]: # как манагеров достали те, кого достали манагеры
От: MozgC США http://nightcoder.livejournal.com
Дата: 27.12.10 22:12
Оценка: +1 -1
Здравствуйте, мыщъх, Вы писали:

М>совершенно согласен. огромному кол-ву людей ничего не интересно за пределами из узкой специальности. просто потому что непосредственно за знание формата плавучки и преобразования ее к "нативному" формату FPU им никто не платит...


Скорее не потому что "никто не платит", а потому что нет времени на всё. Часто не хватает времени чтобы прочитать нужную литературу даже чисто по своей специализации.
Re[8]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 27.12.10 22:43
Оценка: +1
Здравствуйте, MozgC, Вы писали:

MC>Здравствуйте, мыщъх, Вы писали:


М>>совершенно согласен. огромному кол-ву людей ничего не интересно за пределами из узкой специальности. просто потому что непосредственно за знание формата плавучки и преобразования ее к "нативному" формату FPU им никто не платит...


MC>Скорее не потому что "никто не платит", а потому что нет времени на всё. Часто не хватает времени чтобы прочитать нужную литературу даже чисто по своей специализации.

я все-таки не соглашусь. выбор типов -- ответственная операция. вот что лучше в некой задаче -- float/double или int? если мы умножим int на 1000 мы будем считать с точностью до десятых долей копейки. (если речь о бабках), а вот если мы возьмем плавучку -- то получим кучу сюрпризов на ровном месте. хотя, конечно, для финансов там все по другому делается... ну пусть не финансы. пусть графика это будет хотя бы.... какой тип выбрать?
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[10]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 27.12.10 22:47
Оценка:
У тебя другая ситуация. Ты проверяешь установлены биты или нет. В приведенном же коде происходит сравнение double-ов.

Кстати, ты не с Паскаля начинал?
Re[9]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 27.12.10 23:08
Оценка:
М>вы меня извините, но во времена дохлого страуса был распротранен код типа (который его жутко напрягал):

М>foo();


М>bar()

М>{
М> foo("hello", 3);
М>}

М>foo(char *s, int n)

М>{
М> for(;n>0;n--) printf("%s\n", s);
М>}

М>и о чем дохлый страус писал в дизайне и эволюции плюсов.


Я так понимаю ты называешь дохлым страусом Страуструпа? Напомню что речь идет об ANSI C который и позаимствовал новые объявления и определения функций из C++.

Конкретно в этом примере, ты можешь передать при вызове и double-ы и структуры и вообще любое количество любых аргументов. И компилятор все схавает. О чем тебе и говорят. Короче, в чем смысл этого твоего ответа?
Re[2]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 27.12.10 23:15
Оценка: +1
S>Вот за что люблю КЫВТ — тут и в ветке для флейма можно что-нибудь интересное подчерпнуть

Предполагаю что ответы в этом топике потекли не в том русле как хотелось бы топик-стартеру.
Re[8]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 27.12.10 23:23
Оценка: :)
М>>совершенно согласен. огромному кол-ву людей ничего не интересно за пределами из узкой специальности. просто потому что непосредственно за знание формата плавучки и преобразования ее к "нативному" формату FPU им никто не платит...
MC>Скорее не потому что "никто не платит", а потому что нет времени на всё. Часто не хватает времени чтобы прочитать нужную литературу даже чисто по своей специализации.

+1. Добавлю что нужно только знать что представление чисел с плавающей точкой отличается от представления целых чисел и помнить что есть там мантисса и экспонент. А больше и не надо.
Re[7]: # как манагеров достали те, кого достали манагеры
От: olegkr  
Дата: 28.12.10 01:24
Оценка: 1 (1) +1 -1
Здравствуйте, Pzz, Вы писали:

Pzz>Что до формулы пересечения плоскости с прямой, ее должен быть в состоянии вывести любой выпускник средней школы.

Если стоит цель набрать недавних выпускников школы — то да, задача корректная.
Re[8]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 28.12.10 01:37
Оценка: +1 :)
Здравствуйте, olegkr, Вы писали:

Pzz>>Что до формулы пересечения плоскости с прямой, ее должен быть в состоянии вывести любой выпускник средней школы.

O>Если стоит цель набрать недавних выпускников школы — то да, задача корректная.

А потом что, суровая правда взрослой жизни превращает мозги в фарш?
Re[9]: # как манагеров достали те, кого достали манагеры
От: olegkr  
Дата: 28.12.10 02:03
Оценка: +1
Здравствуйте, Pzz, Вы писали:

Pzz>А потом что, суровая правда взрослой жизни превращает мозги в фарш?

Потом оказывается, что для мозгов есть более интересные задачи, школьные формулы уходят на второй план и забываются. У меня сейчас дите математику учит — полчаса вспоминал, как решить систему из пары уравнений с тремя неизвестными. Ну если тебе приходится каждый день плоскость с линией пересекать, то да! ты крут!
ЗЫ Давно из универа выписался?
Re[8]: # как манагеров достали те, кого достали манагеры
От: landerhigh Пират  
Дата: 28.12.10 02:22
Оценка: +3
Здравствуйте, Cyberax, Вы писали:

C>А ты знаешь, что ВСЕ числа в JS — это double? Или ты хочешь сказать, что HTML — это никому не нужно?


А ты знаешь, как передаются целые числа согласно MMS маппингу стандарта IEC 61850? Или ты хочешь сказать, что электрические подстанции никому не нужны?

Мне пофиг, что там в JS. Я на нем не пишу.
www.blinnov.com
Re[10]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 28.12.10 03:00
Оценка: -1
Здравствуйте, olegkr, Вы писали:

O>ЗЫ Давно из универа выписался?


Ну вообще-то, надо примерно 3 раза нажать мышью, чтобы узнать дату моего рождения. Хотя я понимаю, что у настоящего профессионала этот навык со временем утеривается
Re[4]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 03:22
Оценка: +1 :)
Здравствуйте, Eye of Hell, Вы писали:

EOH>

Не знаешь, как пользоваться плавающей точкой.


EOH>Нифига не сильная телепатия . Я знаю как ими пользоватья и даже примерно представляю внутреннее устройство — но — прмерно. Ни разу на практике мне не понадобилось точно выяснять как реализованы числа с плавающей точкой. Ни на одном из языков, на которых программировал. Хотя бы потому, что если я буду лезть внутрь всех используемых языков и технологий — то мне жизни не хватит чтобы досконально разобраться, как оно все работает. Такой фокус пожалуй можно бы было провернуть с профильным C++ — но необходимости ни разу не было.



Плохо помню контекст. Кажется, ты написал, что имеешь большой опыт, но не можешь решить эту задачу, потому, что за 20 лет ни разу не переполнял float.

Сначала про то, чего ты якобы не знаешь. Ты же писал своё замечание уже зная ответ?
Тем не менее написал, о переполнении float. А функция возвращает true вовсе и не при переполнении float, а совсем в другой ситуации
При этом понимание, что это за ситуация, и как она неизбежно возникает -- следует прямо из понимания ПРИНЦИПОВ такого представления чисел.
Ты же знаешь, например, что в С означает DBL_EPSILON? Наверное понимаешь и то, что такое число неизбежно должно быть пи любой реализации плавающей точки с фиксированным объёмом памяти, занимаемой числом. Ну просто потому, что в 64 бита можно представить только 2^64 РАЗНЫХ значений. Так что неизбежно найдётся такое маленькое число, что прибавление его к 1, уже не будет изменять сумму. Итак DBL_EPSILON.
Ну вот умножь обе стороны равенства на х + 1 — х на DBL_EPSILON. Ничего не напоминает?...

Вот это всё ты знал или нет? Если не знал, то прости, ты не знаешь, как юзать плавучку.
А если знал, но просто не подумал об этом, то ты значит не имеешь привычки думать, во всяком случае перед тем как отвечать на форуме

На то, собственно и тест был -- на умение и желание думать нешаблонно. Ты его провалил. Но списал на то, что тест плохой, и ты типа на практивке не сталкивался. Конечно, то что ты не сталкивался с "переполнением float" (которое тут вообще не при чём, ни переполнение, ни float) на практике намного менее позорно, чем то, что ты не умеешь или не любишь творчески мыслить.

Я всего лишь в шутку поддержал твою игру, но ны продолжил "не уметь и не желать творчески мыслить"...


Не знаю как я тебя, а вот ты меня, таки убедил, что тест хороший и адекватный
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 03:24
Оценка:
Здравствуйте, Eye of Hell, Вы писали:

EOH>P.S. Интересно, а вы сами diamond problem наизусть помните?


Нет, конечно. А что именно там нужно помнить наизусть?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[8]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 03:31
Оценка:
Здравствуйте, MescalitoPeyot, Вы писали:

MP>А как такое решение: "какой-то тип с перегруженным плюсом, образует группу с нейтральной 1"? По собственному опыту знаю, после этого начнется "ой, ну да, это подходит, ну а вот можно и по другому". И эти люди мне будут говорить о зашоренности? Я ж говорю задачка в такой формулировке и с таким временным ограничением тупо на первую ассоциацию.


Методичность, говоришь? Ты собственно какую версию задачи решаешь и для какого языка?
ТС привёл две версии. Вообще без типа для JS и с TYPEA для С
Твоё рассуждение о "типе с перегруженным плюсом" оно к какому из двух языков относится?..

MP>Осталось разобраться какое отношение имеют парадоксальные ответы к практической деятельности.

Ну практическая деятельность она разная бывает. Бывает надо неделями "клепать свою болванку" и не чудить. А бывает надо ловко и нешаблонно соображать...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[7]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 03:44
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>А мне не понравился. В Computer Science навалом фундаментальных вещей которые имеют большее отношение к практике чем данный вопрос.

А ты считаешь, что это вопрос на знания?..

ОК>Поддерживаю MescalitoPeyot. Тема топика тоже дурацкая.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[7]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 03:51
Оценка: :)
Здравствуйте, Pzz, Вы писали:

Pzz>Что до формулы пересечения плоскости с прямой, ее должен быть в состоянии вывести любой выпускник средней школы.


Слушайте, я заинтригован! О какой именно формуле речь?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[7]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 04:04
Оценка:
Здравствуйте, Трурль, Вы писали:

Т>Не скажите. А может, нам нужна функция, тождественно равная нулю.


Тогда её написали ОЧЕНЬ непонятно...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[9]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 28.12.10 05:20
Оценка:
Здравствуйте, Олег К., Вы писали:

М>>>совершенно согласен. огромному кол-ву людей ничего не интересно за пределами из узкой специальности. просто потому что непосредственно за знание формата плавучки и преобразования ее к "нативному" формату FPU им никто не платит...

MC>>Скорее не потому что "никто не платит", а потому что нет времени на всё. Часто не хватает времени чтобы прочитать нужную литературу даже чисто по своей специализации.
ОК>+1. Добавлю что нужно только знать что представление чисел с плавающей точкой отличается от представления целых чисел и помнить что есть там мантисса и экспонент. А больше и не надо.
Уфф.. thanks god, а то уж я было подумал что завалил любое заковыристое интервью Интересно, и как крис после этого без сарказма говорит о том, что есть люди, которые понимают что мыщъх ничего особого из себя не представляет, и что Олег К. в числе тех понимающих) До чего все-таки крис оригинальный тип, не перестаю удивляться нестандартности его мышления) Все ж понимает гад, а все равно ведет себя неожиданно.
Re[9]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 28.12.10 05:28
Оценка: +1
Здравствуйте, Pzz, Вы писали:

Pzz>>>Что до формулы пересечения плоскости с прямой, ее должен быть в состоянии вывести любой выпускник средней школы.

O>>Если стоит цель набрать недавних выпускников школы — то да, задача корректная.
Pzz>А потом что, суровая правда взрослой жизни превращает мозги в фарш?
превращает, превращает. Правда, наверное не у всех, у меня просто память не самая лучшая. Я вот в пору сдачи всяких тестов, госов, вступительных экзаменов и прочей ереси наизусть помнил очень много формул всяческих объемов, пересечений, преобразований. Но уже к концу второго курса практически полностью это растерял. Но это все фигня, а вот чему я никак не мог поверить — это когда нам в начале первого курса рассказывали что к концу пятого студенты деградируют в математике настолько, что забывают как решается квадратное уравнение, а уж это, как основа основ огромного числа задач по математике — было выжжено в мозгу каленым железом. И что вы думаете? Забыл! И даже вспоминать не хочется, хотя и стыдно.
Re[3]: # как манагеров достали те, кого достали манагеры
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 28.12.10 06:25
Оценка:

Нет, конечно. А что именно там нужно помнить наизусть?


Как именно в С++ обрабатывается множественное наследование, соответствующее diamond problem.
Re[10]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 28.12.10 06:58
Оценка: +1 :))
Z_>превращает, превращает. Правда, наверное не у всех, у меня просто память не самая лучшая. Я вот в пору сдачи всяких тестов, госов, вступительных экзаменов и прочей ереси наизусть помнил очень много формул всяческих объемов, пересечений, преобразований. Но уже к концу второго курса практически полностью это растерял. Но это все фигня, а вот чему я никак не мог поверить — это когда нам в начале первого курса рассказывали что к концу пятого студенты деградируют в математике настолько, что забывают как решается квадратное уравнение, а уж это, как основа основ огромного числа задач по математике — было выжжено в мозгу каленым железом. И что вы думаете? Забыл! И даже вспоминать не хочется, хотя и стыдно.

прочитать и запомнить формулу -- не означает, что ты ее когда-либо знал.
Re[11]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 28.12.10 07:08
Оценка: 1 (1) -2
ОК>Как часто у тебя встречалась такая ситуация на практике?

а вот, в конечном итоге, за что ты ратуешь?
Как я понимаю, ты считаешь, что программисту/кодеру достаточно очень низкую планку поставить по всему этому.
То есть рутинные задачи уровня ПТУ, методичка при поступлении на работу, зарплата как у среднего рабочего.
А кто будет писать стандарты, RFC, разрабатывать компиляторы? Какие-то другие люди, более высшего сорта?
Re: # как манагеров достали те, кого достали манагеры
От: qqqqq  
Дата: 28.12.10 07:23
Оценка:
Вот код, который работает на студии 2005 и выдает Result 1
#include "stdafx.h"
#include <limits>
using namespace std;

bool foo(float a){ return ((a + 1) == a); }

int _tmain(int argc, _TCHAR* argv[])
{
printf ("Result %d", foo(numeric_limits<float>::infinity( ));
return 0;
}


Ну и если все float заменить на double, то тоже будет работать. Если хочется C совсем без плюсов где нет numeric_limits, то наверное можно чего нибудь придумать чтобы получить бесконечность, либо вычислениями или через type cast.
Re[11]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 28.12.10 07:34
Оценка:
Здравствуйте, dilmah, Вы писали:

Z_>>превращает, превращает. Правда, наверное не у всех, у меня просто память не самая лучшая. Я вот в пору сдачи всяких тестов, госов, вступительных экзаменов и прочей ереси наизусть помнил очень много формул всяческих объемов, пересечений, преобразований. Но уже к концу второго курса практически полностью это растерял. Но это все фигня, а вот чему я никак не мог поверить — это когда нам в начале первого курса рассказывали что к концу пятого студенты деградируют в математике настолько, что забывают как решается квадратное уравнение, а уж это, как основа основ огромного числа задач по математике — было выжжено в мозгу каленым железом. И что вы думаете? Забыл! И даже вспоминать не хочется, хотя и стыдно.

D>прочитать и запомнить формулу -- не означает, что ты ее когда-либо знал.
Похоже вы себя считаете большим спецом по математике? Может вы еще и математический смысл числа пи знаете? А ведь без него не рассчитать тот же объем шара, например.
Re[2]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 28.12.10 07:36
Оценка:
Q> Если хочется C совсем без плюсов где нет numeric_limits, то наверное можно чего нибудь придумать чтобы получить бесконечность, либо вычислениями или через type cast.

в С есть макрос HUGE_VAL. Кроме того, корректно написать просто 1.f/0 и получится inf если данная реализация поддерживает inf.
Re[12]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 28.12.10 07:42
Оценка:
Z_>Похоже вы себя считаете большим спецом по математике? Может вы еще и математический смысл числа пи знаете? А ведь без него не рассчитать тот же объем шара, например.

объем шара вычислит архимед в ванной без всяких пи-пи.
Re[13]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 28.12.10 07:57
Оценка:
Здравствуйте, dilmah, Вы писали:


Z_>>Похоже вы себя считаете большим спецом по математике? Может вы еще и математический смысл числа пи знаете? А ведь без него не рассчитать тот же объем шара, например.

D>объем шара вычислит архимед в ванной без всяких пи-пи.
Очень точные будут вычисления, астрономических просто порядков.
Re[10]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 28.12.10 08:08
Оценка:
Здравствуйте, dZentle_man, Вы писали:

Z_>превращает, превращает. Правда, наверное не у всех, у меня просто память не самая лучшая. Я вот в пору сдачи всяких тестов, госов, вступительных экзаменов и прочей ереси наизусть помнил очень много формул всяческих объемов, пересечений, преобразований. Но уже к концу второго курса практически полностью это растерял. Но это все фигня, а вот чему я никак не мог поверить — это когда нам в начале первого курса рассказывали что к концу пятого студенты деградируют в математике настолько, что забывают как решается квадратное уравнение, а уж это, как основа основ огромного числа задач по математике — было выжжено в мозгу каленым железом.

Z_>И что вы думаете? Забыл! И даже вспоминать не хочется, хотя и стыдно.
И я тоже забыл. А сейчас на бумажке вывел за полминуты — так как помню, что оно выводится с помощью выделения полного квадрата.
Sapienti sat!
Re[10]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 28.12.10 08:09
Оценка: +1
Здравствуйте, Олег К., Вы писали:


ОК>Конкретно в этом примере, ты можешь передать при вызове и double-ы и структуры и вообще любое количество любых аргументов. И компилятор все схавает. О чем тебе и говорят. Короче, в чем смысл этого твоего ответа?

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

но это же не динамическая типизация, верно? и потому если заслать пару структур по значению, а дочерняя функция ожидает два инта, то фигня получится... но по крайней мере на выходе из функции стек будет восстановлен.

кстати, однажды я видел программу, где объявления функции одно типа foo(int *a, int *b), а реально подключается один из двух модулей. в первом foo(int a, int b){}, во втором foo(long int a, long int b){}. вот такие были извраты для хитрого преобразрвания указателя в [long] int и дальнейших махинаций с ним.

но я вообще потрял нить разговора...
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[9]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 28.12.10 08:11
Оценка: +1 :))
Здравствуйте, landerhigh, Вы писали:

C>>А ты знаешь, что ВСЕ числа в JS — это double? Или ты хочешь сказать, что HTML — это никому не нужно?

L>А ты знаешь, как передаются целые числа согласно MMS маппингу стандарта IEC 61850? Или ты хочешь сказать, что электрические подстанции никому не нужны?
L>Мне пофиг, что там в JS. Я на нем не пишу.
Шансы на то, чтобы программисту в Гугле потребовался JS слегка больше шансов на то, что ему надо будет писать код для подстанций.
Sapienti sat!
Re[11]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 28.12.10 08:15
Оценка: :)
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, dZentle_man, Вы писали:


Z_>>превращает, превращает. Правда, наверное не у всех, у меня просто память не самая лучшая. Я вот в пору сдачи всяких тестов, госов, вступительных экзаменов и прочей ереси наизусть помнил очень много формул всяческих объемов, пересечений, преобразований. Но уже к концу второго курса практически полностью это растерял. Но это все фигня, а вот чему я никак не мог поверить — это когда нам в начале первого курса рассказывали что к концу пятого студенты деградируют в математике настолько, что забывают как решается квадратное уравнение, а уж это, как основа основ огромного числа задач по математике — было выжжено в мозгу каленым железом.

Z_>>И что вы думаете? Забыл! И даже вспоминать не хочется, хотя и стыдно.
C>И я тоже забыл. А сейчас на бумажке вывел за полминуты — так как помню, что оно выводится с помощью выделения полного квадрата.
Ну я сам не в восторге от своей памяти. Но раньше знал очень хорошо, когда доходило до решения квадратных уравнений, то это уже считай готовый ответ был, простая формальность выделения корней.
Re[14]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 28.12.10 08:18
Оценка:
Z_>Очень точные будут вычисления, астрономических просто порядков.

ну, эврика архимеда заключалась именно в замечательной точности этого метода. Точность измерения объема достигаемая при взвешивании на порядки превосходит точность измерения объема, которую можно достичь тривиально замеряя уровень поднятия воды.
Re[15]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 28.12.10 08:38
Оценка: :))
Здравствуйте, dilmah, Вы писали:


Z_>>Очень точные будут вычисления, астрономических просто порядков.


D>ну, эврика архимеда заключалась именно в замечательной точности этого метода. Точность измерения объема достигаемая при взвешивании на порядки превосходит точность измерения объема, которую можно достичь тривиально замеряя уровень поднятия воды.

Вы прямо открыли для меня какую-то новую физику. Это как объем вычисляется при взвешивании?
Re[15]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 28.12.10 08:51
Оценка: -1 :)
Здравствуйте, dilmah, Вы писали:


Z_>>Очень точные будут вычисления, астрономических просто порядков.


D>ну, эврика архимеда заключалась именно в замечательной точности этого метода. Точность измерения объема достигаемая при взвешивании на порядки превосходит точность измерения объема, которую можно достичь тривиально замеряя уровень поднятия воды.

Если вы про вес вытесненной воды, то где тут точность? Для кухарки может и сойдет, но точность тут приблизительная. Вы подменяете точные науки профанацией.
Re[16]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 28.12.10 08:59
Оценка:
Z_>Вы подменяете точные науки профанацией.

я не понимаю, о чем ты вообще ведешь речь.
Мой изначальный пост был: "выучить формулу еще не значит ее знать". Ты начал меня что-то про число пи спрашивать. Я могу посчитать объем шара в евклидовом пространстве любой размерности, не переживай.
Re[12]: # как манагеров достали те, кого достали манагеры
От: Vzhyk  
Дата: 28.12.10 09:05
Оценка: +2 :))) :)
28.12.2010 10:15, dZentle_man пишет:

> Z_>>И что вы думаете? Забыл! И даже вспоминать не хочется, хотя и стыдно.

> C>И я тоже забыл. А сейчас на бумажке вывел за полминуты — так как
> помню, что оно выводится с помощью выделения полного квадрата.
> Ну я сам не в восторге от своей памяти. Но раньше знал очень хорошо,
> когда доходило до решения квадратных уравнений, то это уже считай
> готовый ответ был, простая формальность выделения корней.
Вау. Еще 5 лет КЫВТ и тут начнут хвастаться знанием таблицы умножения.
Posted via RSDN NNTP Server 2.1 beta
Re[13]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 28.12.10 09:08
Оценка:
V>Вау. Еще 5 лет КЫВТ и тут начнут хвастаться знанием таблицы умножения.

причем, в двоичной системе счисления
Re[3]: # как манагеров достали те, кого достали манагеры
От: Vzhyk  
Дата: 28.12.10 09:08
Оценка:
27.12.2010 21:46, мыщъх пишет:

> M>А что про машинное эпсилон уже перестали рассказывать? Дауж. Может мне

> в гугль наняться, вроде чувствую еще не все из матмоделирования забыл
> а вот я про эпсилон слышал звон, да не знаю где он. гугл сейчас готовит
> очередную порцию найма. по каким направлениям не в курсе. но точно не по
> поиску. планирует добавить новые сервисы. какие -- пока не разглашается.
> но мат. моделирования там будет много это я точно говорю
Ну если они окончательно из ума не выжили наймут выпускников МТИ.
Posted via RSDN NNTP Server 2.1 beta
Re[17]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 28.12.10 09:09
Оценка: :)
Здравствуйте, dilmah, Вы писали:


Z_>>Вы подменяете точные науки профанацией.

D>я не понимаю, о чем ты вообще ведешь речь.
D>Мой изначальный пост был: "выучить формулу еще не значит ее знать".
Про это и речь.


D>Ты начал меня что-то про число пи спрашивать. Я могу посчитать объем шара в евклидовом пространстве любой размерности

Посчитать по формуле? Без применения числа пи? А если вы его применяете, то должны знать зачем и почему, и каков его математический смысл. А если не знаете, то сами подпадаете по свое же определение "выучить формулу еще не значит ее знать".


D>не переживай.

И не собирался.
Re[13]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 28.12.10 09:17
Оценка:
Здравствуйте, Vzhyk, Вы писали:


>> Z_>>И что вы думаете? Забыл! И даже вспоминать не хочется, хотя и стыдно.

>> C>И я тоже забыл. А сейчас на бумажке вывел за полминуты — так как
>> помню, что оно выводится с помощью выделения полного квадрата.
>> Ну я сам не в восторге от своей памяти. Но раньше знал очень хорошо,
>> когда доходило до решения квадратных уравнений, то это уже считай
>> готовый ответ был, простая формальность выделения корней.
V>Вау. Еще 5 лет КЫВТ и тут начнут хвастаться знанием таблицы умножения.
А лет через 500 научатся отличать хвастовство от самокритики?
Re[18]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 28.12.10 09:18
Оценка:
Z_>Посчитать по формуле? Без применения числа пи? А если вы его применяете, то должны знать зачем и почему, и каков его математический смысл. А если не знаете, то сами подпадаете по свое же определение "выучить формулу еще не значит ее знать".

я где-то объявлял себя экспертом по числу пи?
В данном случае вычислить -- означает установить связь между объемами шаров в разных евклидовых измерениях, поэтому пи определяется через одно из них.
Для меня Пи это общий фактор многих естественно получающихся из физики интегралов и рядов.
Re[19]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 28.12.10 09:24
Оценка: -1
Здравствуйте, dilmah, Вы писали:


Z_>>Посчитать по формуле? Без применения числа пи? А если вы его применяете, то должны знать зачем и почему, и каков его математический смысл. А если не знаете, то сами подпадаете по свое же определение "выучить формулу еще не значит ее знать".

D>я где-то объявлял себя экспертом по числу пи?
Вы намекали что знаете формулы, а не просто их выучили. Я задал прямой вопрос по этому поводу, а вы стали кидаться профанациями и понтами.
Re[11]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 28.12.10 09:34
Оценка: :)
Здравствуйте, Олег К., Вы писали:

ОК>У тебя другая ситуация. Ты проверяешь установлены биты или нет. В приведенном же коде происходит сравнение double-ов.


Да, но представление числа все равно double по стандарту. Да и битовая операция по стандарту определена над типом double, не int. Просто когда мы работаем с double в пределах целочисленных значений и операций плюс, минус, умножить, то если исключить переполнение, то откуда возьмется погрешность?

#include <stdio.h>

int main(int argc, char* argv[])
{
  for (double i=0; i != 5; ++i)
    printf("%.2f\n", i);
  return 0;
}


ОК>Кстати, ты не с Паскаля начинал?


Нет, начинал с МК-52, потом MSX Basic + Turbo C 1.5, Atary Basic, Atary Assembler и только потом долгий период Pascal 5.5 — 7.0, Turbo Assembler, Delphi, ...
Re[20]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 28.12.10 09:40
Оценка:
Z_>Вы намекали что знаете формулы, а не просто их выучили. Я задал прямой вопрос по этому поводу, а вы стали кидаться профанациями и понтами.

бред какой-то
Re[5]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 28.12.10 09:47
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>а я вот подумал вот о чем -- а если ли у нас гарантия, что поведение программы не будет зависеть от настроек компилятора? ведь x86 нативно работает не с float'ом. и без оптимизации там на каждом шагу происходит сплошное преобразование типов. а после оптимизации может оказаться, что у нас уже далеко не float и потери единицы не происходит. и если мы используем данную функции как IsIncOk(float a) то она может вернуть ок, даже когда на float начинается потеря точности, что обрушит код вызывающей функции...


А где там преобразования? По стандарту C, если хотя бы один из операндов имеет типа long double, то и второй проводится к типу long double. Не наш случай, смотрим иначе, там аналогично про double. Не наш случай, смотрим иначе. Там аналогично про float. Останавливаемся. Следовательно (a + 1) оба операнда будут приведены к float. А далее сравнение двух float, даже приводить ничего не надо.

Если брать JS, то там изначально представление double, которое не изменяет ни +1, ни ==

Единственное, чего можно опасаться, это что оптимизатор подумает что выражение a+1 == a должно быть всегда равно false. Но это же ошибка оптимизатора (ибо это не всегда правильно).
Re[12]: # как манагеров достали те, кого достали манагеры
От: denisko http://sdeniskos.blogspot.com/
Дата: 28.12.10 09:56
Оценка: -1 :)
Здравствуйте, dZentle_man, Вы писали:

Z_>Здравствуйте, dilmah, Вы писали:


Z_>>>превращает, превращает. Правда, наверное не у всех, у меня просто память не самая лучшая. Я вот в пору сдачи всяких тестов, госов, вступительных экзаменов и прочей ереси наизусть помнил очень много формул всяческих объемов, пересечений, преобразований. Но уже к концу второго курса практически полностью это растерял. Но это все фигня, а вот чему я никак не мог поверить — это когда нам в начале первого курса рассказывали что к концу пятого студенты деградируют в математике настолько, что забывают как решается квадратное уравнение, а уж это, как основа основ огромного числа задач по математике — было выжжено в мозгу каленым железом. И что вы думаете? Забыл! И даже вспоминать не хочется, хотя и стыдно.

D>>прочитать и запомнить формулу -- не означает, что ты ее когда-либо знал.
Z_> А ведь без него не рассчитать тот же объем шара, например.
Рассчитать легко, просто вычислив тройной интеграл. Пи вводится в школе и институте фактически аксиоматически, теоретически это не очень хорошо просто потому что может где-то "стрельнуть", но при расчете объема шара стрельнуть оно может только в тех вселенных, где период функции exp[i*x] отличен от 2*pi. Большого смысла в заучивании пи, как, например, "предела отношения полупериметра правильного многоугольника к радиусу описанной вокруг него окружности" сейчас нет, поскольку аксиоматика сильно изменилась.
З.ы. Да, человек, который не может решить квадратного уравнения и вывести его, практически ничем не отличается от бомжа в метро, который ходит по вагону под себя.
<Подпись удалена модератором>
Re[9]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 28.12.10 10:01
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>С этим согласен, да. В ТурбоПаскале тип real по структуре совершенно отличался от ieee-754 и занимал 6 байтов, а не 4 или 8.


С точки зрения выражения a+1==a структура у Real такая же самая: 6 байт, экспонента 11 бит, мантисса сколько там есть. А в каком порядке оно там лежит это уже и не суть важно.
Re[6]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 28.12.10 10:07
Оценка:
M>А где там преобразования? По стандарту C, если хотя бы один из операндов имеет типа long double, то и второй проводится к типу long double. Не наш случай, смотрим иначе, там аналогично про double. Не наш случай, смотрим иначе. Там аналогично про float. Останавливаемся. Следовательно (a + 1) оба операнда будут приведены к float. А далее сравнение двух float, даже приводить ничего не надо.

ты прав, что типы там float. Но стандарты С/С++ позволяют компилятору генерировать промежуточные вычисления с расширенной точностью.
Зависимости от этого не будет, если явно сохранить (a+1) в float переменную, чего не делается.
Re[3]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 28.12.10 10:15
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>а вот я про эпсилон слышал звон, да не знаю где он. гугл сейчас готовит очередную порцию найма. по каким направлениям не в курсе. но точно не по поиску. планирует добавить новые сервисы. какие -- пока не разглашается. но мат. моделирования там будет много это я точно говорю


И куда слать резюме?
Re[10]: # как манагеров достали те, кого достали манагеры
От: CreatorCray  
Дата: 28.12.10 10:20
Оценка:
Здравствуйте, dilmah, Вы писали:

D>ты видимо не просек всю фишку. Фишка в том, что если 5 велико, то возникнет бесконечный цикл, потому что i перестанет меняться от итерации к итерации, и останется меньше предела.

Ты уточнил бы что данный эффект проявляется если значение и инкремент различаются больше чем в 2^52 раз (для double)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[13]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 28.12.10 10:24
Оценка: +3 :)
Здравствуйте, denisko, Вы писали:


D>>>прочитать и запомнить формулу -- не означает, что ты ее когда-либо знал.

Z_>> А ведь без него не рассчитать тот же объем шара, например.
D>Рассчитать легко, просто вычислив тройной интеграл.
А я предъявлял к вам претензии? Обратите внимание на вопрос, который я задал dilmah — "каков математический смысл числа пи?", и что он мне стал отвечать — то про ванны с архимедом, то стал понтоваться знанием разных евклидовых пространств. Если бы он мне сразу ответил про акиоматичность и вынужденность применения этого понятия в средней школе, то это был бы верный ответ, и я бы может даже извинился за резкость. Но по-моему он прекрасно показал что не такой уж и великий профессор. А если не великий профессор, то хрен ли серить и наезжать что другие кроме него формулы заучивают, а он один их знает?


D>З.ы. Да, человек, который не может решить квадратного уравнения и вывести его, практически ничем не отличается от бомжа в метро, который ходит по вагону под себя.

Это в вас юношеский максимализм говорит. Вы пойдите соцопрос проведите — кто это знает, а тем более может вывести — даже среди студенчины. У нас около половины пришли в иснтитут со школы без этих знаний, и получили дипломы так и не заимев их. И вроде ничего, стульев мокрых не замечал.
Re[6]: # как манагеров достали те, кого достали манагеры
От: andrey.desman  
Дата: 28.12.10 10:34
Оценка: 16 (4) +1
Здравствуйте, Mystic, Вы писали:

M>А где там преобразования? По стандарту C, если хотя бы один из операндов имеет типа long double, то и второй проводится к типу long double. Не наш случай, смотрим иначе, там аналогично про double. Не наш случай, смотрим иначе. Там аналогично про float. Останавливаемся. Следовательно (a + 1) оба операнда будут приведены к float. А далее сравнение двух float, даже приводить ничего не надо.


Как я уже говорил, процессор внутри себя все вычисления производит в 80-битных числах. И тут уже как повезет... Если он сделает обрезание точности до double (float) перед сравнением, то этот код сработает, иначе запас точности у 80-битного числа больше.

Вот простой пример:
desman ~ 
$ cat test.cpp 
#include <iostream>
#include <float.h>

int main(void)
{

    double x = 11.0;
    double y =  11.0;

    std::cout << (x == y + DBL_EPSILON) <<std::endl;

    return 0;
}

desman ~ 
$ g++ test.cpp && ./a.out
0

desman ~ 
$ g++ -O2 test.cpp && ./a.out
1

desman ~ 
$ g++ -mpc32 test.cpp && ./a.out
1

desman ~ 
$ g++ -mpc64 test.cpp && ./a.out
1

desman ~ 
$ g++ -mpc80 test.cpp && ./a.out
0


Флаг mpcXX указывает компилятору ограничить точность чисел с плавающей запятой.
Без оптимизации (первый вывод) компилятор честно загружает числа в FPU складывает и сравнивает. Как видишь, результат — false, потому что вычисления по дефолту идут с 80-битной точностью.
С оптимизацией, компилятор заранее посчитал ответ и вывел константу. Тут уже х.з. как он считает у себя внутри, результат непредсказуем, но законен и тот, и этот.
С остальными понятно.
Re[4]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 28.12.10 10:58
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, мыщъх, Вы писали:


М>>а вот я про эпсилон слышал звон, да не знаю где он. гугл сейчас готовит очередную порцию найма. по каким направлениям не в курсе. но точно не по поиску. планирует добавить новые сервисы. какие -- пока не разглашается. но мат. моделирования там будет много это я точно говорю


M>И куда слать резюме?

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

нужно 15 человек на сеньерские позиции, но пока сухо как в сахаре. зарплату и другие условия не знаю. знаю, что требуется опыт от пяти лет и желание жить в долине сисек. налоги высокие, жилье дорогое, зарплаты -- чуть выше, чем у нас. хотите? по мне так проект уж слишком математический. у меня мозги в этом направлении шарят слабо, если не сказать, что не шарят совсем.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[8]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 28.12.10 12:19
Оценка: +1
Здравствуйте, Erop, Вы писали:

Pzz>>Что до формулы пересечения плоскости с прямой, ее должен быть в состоянии вывести любой выпускник средней школы.


E>Слушайте, я заинтригован! О какой именно формуле речь?


Ну речь, наверное, идет о том, как, имея заданную плоскость и заданную прямую, получить координаты точки их пересечения
Re[9]: # как манагеров достали те, кого достали манагеры
От: samius Япония http://sams-tricks.blogspot.com
Дата: 28.12.10 12:38
Оценка: :)
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, Erop, Вы писали:


Pzz>>>Что до формулы пересечения плоскости с прямой, ее должен быть в состоянии вывести любой выпускник средней школы.


E>>Слушайте, я заинтригован! О какой именно формуле речь?


Pzz>Ну речь, наверное, идет о том, как, имея заданную плоскость и заданную прямую, получить координаты точки их пересечения


В школе иногда дезинформируют. Такой формулы нет.
Re[4]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 12:39
Оценка:
Здравствуйте, Eye of Hell, Вы писали:

EOH>

Нет, конечно. А что именно там нужно помнить наизусть?


EOH>Как именно в С++ обрабатывается множественное наследование, соответствующее diamond problem.


А там что помнить? Что значит "обрабатывается"?

Базы слева направо, за исключением виртуальных, которые вперёд всех. Ты это не хочешь помнить? Или что-то ещё?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[4]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 28.12.10 12:48
Оценка:
Здравствуйте, Mystic, Вы писали:

М>>а вот я про эпсилон слышал звон, да не знаю где он. гугл сейчас готовит очередную порцию найма. по каким направлениям не в курсе. но точно не по поиску. планирует добавить новые сервисы. какие -- пока не разглашается. но мат. моделирования там будет много это я точно говорю


M>И куда слать резюме?


Туда же, куда и всем. Гугль всех соискателей прокручивает через одну общую мясорубку, независимо от того, есть у вас там знакомства или нет.
Re[5]: # как манагеров достали те, кого достали манагеры
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 28.12.10 13:24
Оценка: +1

Вот это всё ты знал или нет? Если не знал, то прости, ты не знаешь, как юзать плавучку.


Скажем так — я знал, что внутри float имеет сложное бинарное представление, разделенное на мантиссу и экспаненту. Знал, что у него есть ограничения как по мантиссе, так и по экспоненте. Но понятия не имел, что реализация Visual C++ 6.0 double (или что у вас там) имеет corner case, при прибавлении единицы к которому мантисса не меняется. Как-то всегда хватало ограничений сверху и снизу. Наверное, мало банки автоматизировал, а все по коробочным продуктам?

то ты значит не имеешь привычки думать, во всяком случае перед тем как отвечать на форуме
но ны продолжил "не уметь и не желать творчески мыслить"...


Соглашусь, тест годный. По крайней мере, сразу позволяет выявить склонных к истерике личностей .
Re[5]: # как манагеров достали те, кого достали манагеры
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 28.12.10 13:28
Оценка:

Базы слева направо, за исключением виртуальных, которые вперёд всех. Ты это не хочешь помнить? Или что-то ещё?


Увы, в C++ оно несколько посложнее. ISO стандарт описывает это много и со вкусом . Но в ISO это смотреть намного дольше, чем в википедии, неправда ли?

P.S. Я вообще-то у мыщх'а интересовался, ну да ладно.
Re[6]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 14:57
Оценка:
Здравствуйте, Eye of Hell, Вы писали:

EOH>Увы, в C++ оно несколько посложнее. ISO стандарт описывает это много и со вкусом . Но в ISO это смотреть намного дольше, чем в википедии, неправда ли?


Да что "это"-то? Размещение баз в объекте? Оно не специфицировано вообще.
Порядок вызова конструкторов баз?
Так я его тебе написал. При этом не из вики, а из головы.
Сложности с порядком только в случае НЕСКОЛЬКИХ виртуальных баз. Ты об этом?

EOH>P.S. Я вообще-то у мыщх'а интересовался, ну да ладно.

Какая разница?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[10]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 15:09
Оценка:
Здравствуйте, dZentle_man, Вы писали:

Z_>рассказывали что к концу пятого студенты деградируют в математике настолько, что забывают как решается квадратное уравнение, а уж это, как основа основ огромного числа задач по математике — было выжжено в мозгу каленым железом. И что вы думаете? Забыл! И даже вспоминать не хочется, хотя и стыдно.


Э-э-э... а что там помнить? Можно же с нуля легко вывести, если уж так сильно склероз долбит организм...
Главное, чтоб не маразм
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[11]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 15:12
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>так как помню, что оно выводится с помощью выделения полного квадрата.


IMHO, и это тоже легко вывести. Ну просто, тупо, надо нам найти корни axx+bx+c = 0.
IMHO, ключевым тут является знание, что оно вообще в принципе выразимо в школе...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[16]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 15:15
Оценка: :)
Здравствуйте, dZentle_man, Вы писали:

Z_>Вы прямо открыли для меня какую-то новую физику. Это как объем вычисляется при взвешивании?


По закону Архимеда, тело впёртыя под воду, випирает оттуды весом выпертой воды...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[16]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 15:16
Оценка:
Здравствуйте, dZentle_man, Вы писали:

Z_>Если вы про вес вытесненной воды, то где тут точность? Для кухарки может и сойдет, но точность тут приблизительная. Вы подменяете точные науки профанацией.


Сначала идеальный шар, в реале покажи, а потом ужо дразнись...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[13]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 15:17
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>Вау. Еще 5 лет КЫВТ и тут начнут хвастаться знанием таблицы умножения.

+100

При этом для типа bool Это же таки КЫВТ.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re: # как манагеров достали те, кого достали манагеры
От: AleksandrN Россия  
Дата: 28.12.10 15:27
Оценка: :)
Здравствуйте, мыщъх, Вы писали:

М>Знакомый манагер из Новой Империи Зла (G$$gle) под рождество совсем опечалился, потому как Самый Главный Злодей (HR) бьется головой об стену и просит в качестве выходного пособия выдать ему веревку и ведро мыло.


М>А все потому что претендентам на Senior C/C++, Senior Java, Senior JavaScript, etc... было предложено следующее задание в стиле "блиц" для решения на бумаге за 30 сек.


М>Привожу вариант для сишников:


М>foo(TYPEA a){ return ((a + 1) == a); }


М>1) определить TYPEA;

М>2) объяснить смысловую нагрузку данного кода;
М>3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;
М>hint: ЦП без багов, язык ансишный, по стандарту.

1)
class TYPEA {
    // пишем любой функционал, какой захотим
};


2) помучить соискателя

3) свой класс можно написать так, что при некоторых условиях значение ((a + 1) == a) будет true.
Re[14]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 15:28
Оценка: :)
Здравствуйте, dZentle_man, Вы писали:

Z_>Это в вас юношеский максимализм говорит. Вы пойдите соцопрос проведите — кто это знает, а тем более может вывести — даже среди студенчины. У нас около половины пришли в иснтитут со школы без этих знаний, и получили дипломы так и не заимев их. И вроде ничего, стульев мокрых не замечал.


Ну не знаю даже что и сказать. Есть конечно синяки-сантехники на свете. Но вот если я щаподозрю про кого-то из своих сотрудников, что он(а) не сможет решить квадратное уравнение просто "с нуля", то я постараюсь от такого сотрудника избавиться...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[9]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 15:31
Оценка: :)
Здравствуйте, Pzz, Вы писали:

Pzz>Ну речь, наверное, идет о том, как, имея заданную плоскость и заданную прямую, получить координаты точки их пересечения


То есть решить систему линейных уравнений что ли? И что за формула? Метод Гауса?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[15]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 28.12.10 16:04
Оценка:
Здравствуйте, Erop, Вы писали:


Z_>>рассказывали что к концу пятого студенты деградируют в математике настолько, что забывают как решается квадратное уравнение, а уж это, как основа основ огромного числа задач по математике — было выжжено в мозгу каленым железом. И что вы думаете? Забыл! И даже вспоминать не хочется, хотя и стыдно.

E>Э-э-э... а что там помнить? Можно же с нуля легко вывести, если уж так сильно склероз долбит организм...
Так, ну я уже один раз, даже два сказал что не в восторге от возможностей моей памяти, поэтому ваши поддевки уже ни к чему. Я даже больше скажу, перед вами лично я по этому поводу нисколько не комплексую, потому как знаю насколько хорошо я это помнил когда оно мне было надо, и что восстановить эти знания вместе с прочими осуществимо за несколько вечеров. Кстати английский я помню хорошо, хоть бросил заниматься им сильно раньше, чем пошел в институт.

E>Главное, чтоб не маразм

Так вы еще и доктор??

E>Сначала идеальный шар, в реале покажи, а потом ужо дразнись...

Идеальных шаров нет, но зачем к погрешности неидельности шара примешивать еще и погрешность вычислений? У вас сколько угодно прав на свою точку зрения, но разница между ехать на машине и идти пешком есть, а также есть разница между точными и приблизительными вычислениями, пускай даже если лично вам никакие машины и точные вычисления никуда не впирались.

Z_>>Это в вас юношеский максимализм говорит. Вы пойдите соцопрос проведите — кто это знает, а тем более может вывести — даже среди студенчины. У нас около половины пришли в иснтитут со школы без этих знаний, и получили дипломы так и не заимев их. И вроде ничего, стульев мокрых не замечал.

E>Ну не знаю даже что и сказать. Есть конечно синяки-сантехники на свете.
Насколько я знаю, все они неплохо устроились по жизни, по меньшей мере не бедствуют и сортиры не моют. Успешность в жизни определяется не только способностями к математике и вообще науке.

E>Но вот если я щаподозрю про кого-то из своих сотрудников, что он(а) не сможет решить квадратное уравнение просто "с нуля", то я постараюсь от такого сотрудника избавиться...

Ваше право. А право остальных — создать свой бизнес и не нанимать вас если вы им по каким-либо критериям не понравитесь.
Re[11]: # как манагеров достали те, кого достали манагеры
От: olegkr  
Дата: 28.12.10 16:41
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Ну вообще-то, надо примерно 3 раза нажать мышью, чтобы узнать дату моего рождения. Хотя я понимаю, что у настоящего профессионала этот навык со временем утеривается

Пишу с мака, мне простительно Кроме того дата рождения не всегда коррелирует с датой окончания университета.
Re[15]: # как манагеров достали те, кого достали манагеры
От: olegkr  
Дата: 28.12.10 16:48
Оценка: +4 :)))
Здравствуйте, Erop, Вы писали:

E>Ну не знаю даже что и сказать. Есть конечно синяки-сантехники на свете. Но вот если я щаподозрю про кого-то из своих сотрудников, что он(а) не сможет решить квадратное уравнение просто "с нуля", то я постараюсь от такого сотрудника избавиться...

Ради интереса собери всех своих сотрудников в одной комнате, выдай каждому по листу бумаги и ручке, напиши на доске квадратное уравнение и попроси их решить его. Сам следи, что бы не списывали и не подсказывали друг другу. О том сколько процентов (я ставлю на 90) пришлось уволить отпиши тут.
Re[16]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 18:24
Оценка: :))
Здравствуйте, olegkr, Вы писали:

O>Ради интереса собери всех своих сотрудников в одной комнате, выдай каждому по листу бумаги и ручке, напиши на доске квадратное уравнение и попроси их решить его. Сам следи, что бы не списывали и не подсказывали друг другу. О том сколько процентов (я ставлю на 90) пришлось уволить отпиши тут.


Я ставлю на 0%
Но нужно как-то заинтересовать людей. Давай ты заплатишь по 100 евро каждому, кто решит?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[10]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 28.12.10 18:30
Оценка:
Здравствуйте, Erop, Вы писали:

Pzz>>Ну речь, наверное, идет о том, как, имея заданную плоскость и заданную прямую, получить координаты точки их пересечения

E>То есть решить систему линейных уравнений что ли? И что за формула? Метод Гауса?
Почти.

Оно обычно в матричном виде записывается.
Sapienti sat!
Re[16]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 18:42
Оценка:
Здравствуйте, dZentle_man, Вы писали:

E>>Э-э-э... а что там помнить? Можно же с нуля легко вывести, если уж так сильно склероз долбит организм...

Z_>Так, ну я уже один раз, даже два сказал что не в восторге от возможностей моей памяти,
При чём тут поддёвки? Я же тебе и написал, что главное, чтобы не маразм долбил. А с тем, что забыл какую-то формулу бороться просто. Если уж её негде посмотреть, то её всегда можно просто вывести.

Конкретно уравнение xx+bx+c=0 как надо решать?
Ну вот так, если из общих соображений?
ну можно попробовать выделить полный квадрат и посмотреть что останется.
хх + ax + b = xx + ax +(aa/4) + b -(aa/4) = (x+a/2)(x+a/2) + b — aa/4 = 0
Или
aa/4 — b = (x+a/2)(х+a/2)
То есть, если aa/4 — b отрицательно, то действительных корней нет
Если равно 0, то х1=х2=-а/2
Ну а если таки aa/4 — b больше нуля, то x + a/2 = +- sqrt(aa/4 — b)

Дальше выведешь, наверное

А можно из геом. смысла.
Особенное если ещё н еразучился искать особые точки и производные.
Ясно, что это парабола рогами вверх. Поэтому ясно, что корни -- это Х+-d, где X -- х-координата вершины параболы, а d -- полуширина её на уровне пересечения с Ox.

Дальше ищем вершину параболы:
Можно, конечно выделить полный квадрат, но можно просто взять производную 2x + a = 0 откуда найдём что вершина у параболы при х = -a/2
Дальше всё опять очевидно вроде как...

Тут вроде как нечего помнить. Вполне достаточно чтобы мозг ещё не превратился таки в фарш...
Всё-таки образование даёт не ворох формул и определений, а даёт некую систему знаний. И очень важное свойство этой системы -- возможность за счёт систематичности знаний восполнять пробелы, если что-то забыл...

E>>Сначала идеальный шар, в реале покажи, а потом ужо дразнись...

Z_>Идеальных шаров нет, но зачем к погрешности неидельности шара примешивать еще и погрешность вычислений? У вас сколько угодно прав на свою точку зрения, но разница между ехать на машине и идти пешком есть, а также есть разница между точными и приблизительными вычислениями, пускай даже если лично вам никакие машины и точные вычисления никуда не впирались.

Не-не-не. В реале надо, как раз измерять объёмы тел, а не их идеальных моделей
Кроме того, тебе намекнули уже несколько раз, что все объёмы считаются просто интегралом по пространству.
Так что весь смысл числа PI, который нужен -- это то, что это половина периода экспоненты.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[14]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 28.12.10 18:43
Оценка:
Z_>А я предъявлял к вам претензии? Обратите внимание на вопрос, который я задал dilmah — "каков математический смысл числа пи?", и что он мне стал отвечать — то про ванны с архимедом, то стал понтоваться знанием разных евклидовых пространств. Если бы он мне сразу ответил про акиоматичность и вынужденность применения этого понятия в средней школе, то это был бы верный ответ, и я бы может даже извинился за резкость.

Число пи это капля эссенции, выжатая из связки вещественных чисел и квадратичных форм.
Re[17]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 28.12.10 18:51
Оценка: :)
Здравствуйте, Erop, Вы писали:

E>Дальше ищем вершину параболы:

E>Можно, конечно выделить полный квадрат, но можно просто взять производную 2x + a = 0 откуда найдём что вершина у параболы при х = -a/2
E>Дальше всё опять очевидно вроде как...
Хех. Выводить формулу решения квадратного уравнения через производные — это сильно.
Sapienti sat!
Re[17]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 28.12.10 18:52
Оценка:
E>Так что весь смысл числа PI, который нужен -- это то, что это половина периода экспоненты.

Насчет формулы эйлера. Во-первых, чтобы к ней прийти нужно пройти долгий путь, включающий единственность аналитического продолжения. А начинается этот путь с комплексных чисел -- которые фактор кольца многочленов с вещественными коэффициентами по опять таки квадратичному идеалу. То есть подтверждается что пи это выжимка вещественных чисел и квадратичных форм.
Re[6]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 20:36
Оценка:
Здравствуйте, Eye of Hell, Вы писали:

EOH>Соглашусь, тест годный. По крайней мере, сразу позволяет выявить склонных к истерике личностей .

У тебя, при прочтении теста случилась итсерика?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[18]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 20:40
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Хех. Выводить формулу решения квадратного уравнения через производные — это сильно.


Почему? После Гоги Барочинского я, скорее всего, никогда не разучусь брать производные и первообразные. Ну в первообразных ещё есть сомнения, а вот в производных точно нет
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[18]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 20:42
Оценка:
Здравствуйте, dilmah, Вы писали:

D>Насчет формулы эйлера. Во-первых, чтобы к ней прийти нужно пройти долгий путь, включающий единственность аналитического продолжения. А начинается этот путь с комплексных чисел -- которые фактор кольца многочленов с вещественными коэффициентами по опять таки квадратичному идеалу. То есть подтверждается что пи это выжимка вещественных чисел и квадратичных форм.


Для того, чтобы чисто на практике взять интеграл по шару какой-нибудь размерности это всё не надо. Надо в какой-то момент к синусам/экспонентам перейти, а дальше всё будет пучком
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[17]: # как манагеров достали те, кого достали манагеры
От: olegkr  
Дата: 28.12.10 21:42
Оценка:
Здравствуйте, Erop, Вы писали:

E>Но нужно как-то заинтересовать людей. Давай ты заплатишь по 100 евро каждому, кто решит?

Заинтересуй их тем, что они останутся работать Да и неужели тебе самому неинтересно проверить? А на евры смысла спорить через океан мало.
Re[18]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 21:56
Оценка:
Здравствуйте, olegkr, Вы писали:

O>Заинтересуй их тем, что они останутся работать

Ты хочешь поссорить меня с подчинёнными?
Я, кстати, не сказал "уволить", я сказал "постарался бы избавиться". Увольнять не обязательно, но мне такие не нужны.

O>Да и неужели тебе самому неинтересно проверить?

Сам я и так знаю, что все решат.

O>А на евры смысла спорить через океан мало.

В смысле? Открой для себя банковские переводы, например...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[8]: # как манагеров достали те, кого достали манагеры
От: landerhigh Пират  
Дата: 28.12.10 23:42
Оценка:
Здравствуйте, мыщъх, Вы писали:

L>>Как ты правильно отметил, большинство разумных людей используют целочисленные индексы при итерациях.

L>>Но если вдруг возникнет сферическая необходимость запихнуть вещественное число в for, то подобная бяка должна выявляться вторым юнит-тестом.
М>на си и плюсах -- согласен. как быть с java script?

Это проблемы негров, если честно. Кстати, разве для js нет юнит-тест фреймворков?
www.blinnov.com
Re[10]: # как манагеров достали те, кого достали манагеры
От: landerhigh Пират  
Дата: 28.12.10 23:43
Оценка:
Здравствуйте, Cyberax, Вы писали:

L>>А ты знаешь, как передаются целые числа согласно MMS маппингу стандарта IEC 61850? Или ты хочешь сказать, что электрические подстанции никому не нужны?

L>>Мне пофиг, что там в JS. Я на нем не пишу.
C>Шансы на то, чтобы программисту в Гугле потребовался JS слегка больше шансов на то, что ему надо будет писать код для подстанций.

Значит, в гугол меня работать не возьмут? Какая жалость.
www.blinnov.com
Re[7]: # как манагеров достали те, кого достали манагеры
От: Sharowarsheg  
Дата: 29.12.10 00:32
Оценка:
Здравствуйте, Pzz, Вы писали:

C>>>Всё-таки представление чисел — это то, что программисты обязаны знать.


SA>>А RS-232 и формулу пересечения плоскости с прямой программисты обязаны знать?


Pzz>Они обязаны иметь представление о том и другом. Что до формулы пересечения плоскости с прямой, ее должен быть в состоянии вывести любой выпускник средней школы.


Через пятнадцать лет после того, как видел ее последний раз и за тридцать секунд.
Re: # как манагеров достали те, кого достали манагеры
От: TimurSPB Интернет  
Дата: 29.12.10 00:50
Оценка:
М>2) объяснить смысловую нагрузку данного кода;

Проверить особенности работы конкретного компилятора с конкретным типом на конкретной платформе. Иной смысловой нагрузки я не вижу.
Для примера взять в качестве TYPEA float и прогнать этот код на диапазоне значений этого типа с минимально возможным шагом. И посмотреть где эта единица потеряется. По сути это тест процессора на котором выполняется код. И если единица эта критична в определенном диапазоне и она потерялась, то значит аппаратура не подходит для расчета. Вместо единицы может быть некое значение которое является критичным. Ближе к железу если, то скажем хочу я прикинуть можно ли на видеокарте с помощью OpenCL сделать некоторые расчеты с нужной мне точностью. Разумно написать похожую функцию, но не с "==" конечно и с неким эпсилон вместо единицы.
Make flame.politics Great Again!
Re[19]: # как манагеров достали те, кого достали манагеры
От: olegkr  
Дата: 29.12.10 07:12
Оценка: +4 -1 :)
Здравствуйте, Erop, Вы писали:

E>Ты хочешь поссорить меня с подчинёнными?

Опасаешься, что они тест не пройдут?

O>>Да и неужели тебе самому неинтересно проверить?

E>Сам я и так знаю, что все решат.
Тебя ожидает жестокое разочарование

O>>А на евры смысла спорить через океан мало.

E>В смысле? Открой для себя банковские переводы, например...
В том смысле, что проверить результаты невозможно.

Но вообще меня, конечно, поразила твоя коммерческая жилка. Ты сказал, что с удовольствием бы избавился от тех, кто не может решить квадратные уравнения. Я вполне бесплатно тебе дал совет, как быстро за 5 минут проверить своих подчиненных и выгнать тех, кто недостоин служить под твои божественным началом. По хорошему за такие советы консалтеры бешенные деньги гребут. Однако с какого-то перепоя ты запросил деньги с меня. Бизнес по-русски! Думаешь мне интересны знания твоих подчиненных? Нет, скорее тебя они должны волновать, раз ты так беспокоишься о квадратных уравнениях. Так какой смысл мне платить тебе деньгу?
Вообщем подумай, а вдруг среди твоих программеров тайно прокрался к святая-святым невежда незнакомый с базовыми понятиями! Какой урон он может нанести компании и твоей чести! Срочно беги и делай проверку.
Re[16]: # как манагеров достали те, кого достали манагеры
От: denisko http://sdeniskos.blogspot.com/
Дата: 29.12.10 07:35
Оценка: +1 :))
Здравствуйте, olegkr, Вы писали:

O>Здравствуйте, Erop, Вы писали:


E>>Ну не знаю даже что и сказать. Есть конечно синяки-сантехники на свете. Но вот если я щаподозрю про кого-то из своих сотрудников, что он(а) не сможет решить квадратное уравнение просто "с нуля", то я постараюсь от такого сотрудника избавиться...

O> О том сколько процентов (я ставлю на 90) пришлось уволить отпиши тут.
Олег, я не знаю с каким отбросами древних цивилизаций зимбабве, китая и индии ты работаешь, но я не сталкивался в РФ с программистом, кроме пхп школоты, который не мог бы решить квадратное уравнение или вывести его решение.
<Подпись удалена модератором>
Re[20]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 29.12.10 08:15
Оценка: +1
Здравствуйте, olegkr, Вы писали:

E>>Ты хочешь поссорить меня с подчинёнными?

O>Опасаешься, что они тест не пройдут?
Нет, просто они решат, что я им не доверяю, и вообще самодурю...
Другое дело, если я скажу, что один придурок из США исследует уровень разработчиков в разных местах и предлагает платно пройти тест...

O>>>Да и неужели тебе самому неинтересно проверить?

E>>Сам я и так знаю, что все решат.
O>Тебя ожидает жестокое разочарование
Нет не ждёт.
Впрочем ты можешь оплатить, и проверим.
Кстати, мне тоже, пожалуйста, потому, что я решил.

O>В том смысле, что проверить результаты невозможно.

Можешь прислать доверенное лицо

O>Но вообще меня, конечно, поразила твоя коммерческая жилка. Ты сказал, что с удовольствием бы избавился от тех, кто не может решить квадратные уравнения. Я вполне бесплатно тебе дал совет, как быстро за 5 минут проверить своих подчиненных и выгнать тех, кто недостоин служить под твои божественным началом. По хорошему за такие советы консалтеры бешенные деньги гребут.

Если и гребут, то с идиотов. Я, кстати, не писал, что "с удовольствием",..

O>Однако с какого-то перепоя ты запросил деньги с меня. Бизнес по-русски! Думаешь мне интересны знания твоих подчиненных? Нет, скорее тебя они должны волновать, раз ты так беспокоишься о квадратных уравнениях. Так какой смысл мне платить тебе деньгу?

Ну ты что-то хочешь мне доказать вроде? Ты же уверен в 0%, так что не рискуешь...

O>Вообщем подумай, а вдруг среди твоих программеров тайно прокрался к святая-святым невежда незнакомый с базовыми понятиями! Какой урон он может нанести компании и твоей чести! Срочно беги и делай проверку.


Ты не понял. Дело не в том, что надо ПОМНИТЬ, как решать квадратные ур-я. Дело в том, что квадратное уравнение само по себе ОЧЕНЬ ПРОСТАЯ ЗАДАЧА. Любой мой сотрудник, даже не программист, РЕШИТ ЕЁ С НУЛЯ. Даже если он вообще никогда не изучал, как это делается...

Вообще я в шоке, как много тут людей, которые считают, что для решения квадратного ур-я надо что-то ПОМНИТЬ...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[13]: # как манагеров достали те, кого достали манагеры
От: alpha21264 СССР  
Дата: 29.12.10 08:50
Оценка: :)
V>Вау. Еще 5 лет КЫВТ и тут начнут хвастаться знанием таблицы умножения.

Сылку не дам, но уже было.

Течёт вода Кубань-реки куда велят большевики.
Re[7]: # как манагеров достали те, кого достали манагеры
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 29.12.10 09:24
Оценка:

Сложности с порядком только в случае НЕСКОЛЬКИХ виртуальных баз. Ты об этом?


Угумс. Помнится, когда последний раз проходил тест C++ на brainbench, там более четверти вопросов было как раз на множественное наследование с количеством действующих лиц более четырех.
Re[8]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 29.12.10 10:35
Оценка:
Здравствуйте, Eye of Hell, Вы писали:

EOH>

Сложности с порядком только в случае НЕСКОЛЬКИХ виртуальных баз. Ты об этом?


EOH>Угумс. Помнится, когда последний раз проходил тест C++ на brainbench, там более четверти вопросов было как раз на множественное наследование с количеством действующих лиц более четырех.


Было несколько именно виртуальных баз?

Пример вопроса не приведёшь? Просто интересно что тут можно спросить-то?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[17]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 29.12.10 12:38
Оценка:
Здравствуйте, Erop, Вы писали:


E>Конкретно уравнение xx+bx+c=0 как надо решать?

E>Ну вот так, если из общих соображений?
E>ну можно попробовать выделить полный квадрат и посмотреть что останется.
E>хх + ax + b = xx + ax +(aa/4) + b -(aa/4) = (x+a/2)(x+a/2) + b — aa/4 = 0
Ну возможно матподготовка у вас была сильнее, чем у меня. Я всегда решал "через дискриминант", и если повезет, то "по теореме виета". А как это дело можно проконтроллировать и вывести самому — не знал, а сам не допер. Хотя ничего тут сверхчеловеческого нет, способ крайне простой. Вообще у меня с математикой всегда было хуже, физику я сдал на 8 из 10, а математику только на 5 из 10. Хотя среди одноклассников/одногрупников мне и равняться то не на кого было, те же дифференциальные уравнения кроме меня только один человек с группы еще научился решать, а остальные на экзамене выехали за счет того, что задания не только из дифуров состояли.

E>А можно из геом. смысла.

E>Особенное если ещё н еразучился искать особые точки и производные.
E>Ясно, что это парабола рогами вверх.
Решать это дело графически карандашом на бумаге — практически то же самое, что взвешивать воду, выплеснутую из ванны телом. Но у вас свои понятия о целесообразности, так что я на этом останавливаться не буду.

>>>Сначала идеальный шар, в реале покажи, а потом ужо дразнись...

Z_>>Идеальных шаров нет, но зачем к погрешности неидельности шара примешивать еще и погрешность вычислений? У вас сколько угодно прав на свою точку зрения, но разница между ехать на машине и идти пешком есть, а также есть разница между точными и приблизительными вычислениями, пускай даже если лично вам никакие машины и точные вычисления никуда не впирались.
E>Не-не-не. В реале надо, как раз измерять объёмы тел, а не их идеальных моделей
Определите объем реального небесного тела — луны например.

E>Кроме того, тебе намекнули уже несколько раз, что все объёмы считаются просто интегралом по пространству.

Тогда причем здесь архимед и ванна?

E>Так что весь смысл числа PI, который нужен -- это то, что это половина периода экспоненты.

С пи мы уже давно разобрались, это аксиоматическая константа, которую вводят в средней школе чтобы упростить, а на мой взгляд запутать, понимание. Лучше бы уж пределы и интегралы проходили в школе, тем, кто не способен их понять — тем и все остальные костыли ни к чему. Так же как и дисриминант — уж костыль костылее некуда, проще выделить полный квадрат.
Re[15]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 29.12.10 12:40
Оценка:
Здравствуйте, dilmah, Вы писали:


Z_>>А я предъявлял к вам претензии? Обратите внимание на вопрос, который я задал dilmah — "каков математический смысл числа пи?", и что он мне стал отвечать — то про ванны с архимедом, то стал понтоваться знанием разных евклидовых пространств. Если бы он мне сразу ответил про акиоматичность и вынужденность применения этого понятия в средней школе, то это был бы верный ответ, и я бы может даже извинился за резкость.

D>Число пи это капля эссенции, выжатая из связки вещественных чисел и квадратичных форм.
Вы не в физмате случаем учились? Что у вас за математический бекграунд?
Re[18]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 29.12.10 13:02
Оценка: +1
Здравствуйте, dZentle_man, Вы писали:

Z_>Ну возможно матподготовка у вас была сильнее, чем у меня. Я всегда решал "через дискриминант", и если повезет, то "по теореме виета". А как это дело можно проконтроллировать и вывести самому — не знал, а сам не допер. Хотя ничего тут сверхчеловеческого нет, способ крайне простой.

IMHO, тебе просто не повезло научиться решать простые задачи с нуля. В принципе ещё не поздно начать...
Но про то и говорили тебе тут, что заботать формулу -- фигня и не нужно, нужно чтобы то соотношение, которое она выражает, легло в целостное представление о математике...
Я не думаю, что если бы ты преодолел блок в голове, вызванный тем, что ты привык применять формулы, и не привык их придумывать, то ты бы и сам нашёл.
Это и правда ОЧЕНЬ просто...

Z_>Вообще у меня с математикой всегда было хуже, физику я сдал на 8 из 10, а математику только на 5 из 10.

Я так думаю, что секрет в этом. В смысле в том, что "из 10", а не "из 5"...
Я-то ещё до революции учился

Z_>Хотя среди одноклассников/одногрупников мне и равняться то не на кого было, те же дифференциальные уравнения кроме меня только один человек с группы еще научился решать, а остальные на экзамене выехали за счет того, что задания не только из дифуров состояли.

Э-э-э, это в каком ВУЗе-то такие ужасы? Ты на какую специальность, хотя бы учился? Не на гуманитарную же?

Z_>Решать это дело графически карандашом на бумаге — практически то же самое, что взвешивать воду, выплеснутую из ванны телом. Но у вас свои понятия о целесообразности, так что я на этом останавливаться не буду.

Ну через геометрию можно получить ТУ ЖЕ ФОРМУЛУ...

E>>Не-не-не. В реале надо, как раз измерять объёмы тел, а не их идеальных моделей

Z_>Определите объем реального небесного тела — луны например.
И что, Луна -- таки идеальный шар?

Z_>Тогда причем здесь архимед и ванна?

Тебя троллили, раз уж по поводу интегралов ты остался безучастен.
На самом деле, то, как тебя учили математике -- это большое несчастье для программиста. Стоит таки как-то минимально математическую культуру подтянуть...

Z_>С пи мы уже давно разобрались, это аксиоматическая константа, которую вводят в средней школе чтобы упростить, а на мой взгляд запутать, понимание. Лучше бы уж пределы и интегралы проходили в школе, тем, кто не способен их понять — тем и все остальные костыли ни к чему. Так же как и дисриминант — уж костыль костылее некуда, проще выделить полный квадрат.


Прикольно. А ты, что
1) Сам не можешь догадаться до этой идее?
2) Не видишь в дискриминанте следов выделения полного квадрата?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[9]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 29.12.10 13:13
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Здравствуйте, мыщъх, Вы писали:


L>>>Как ты правильно отметил, большинство разумных людей используют целочисленные индексы при итерациях.

L>>>Но если вдруг возникнет сферическая необходимость запихнуть вещественное число в for, то подобная бяка должна выявляться вторым юнит-тестом.
М>>на си и плюсах -- согласен. как быть с java script?

L>Это проблемы негров, если честно.

молодой человек, на js сейчас пишутся большие объемы кода, вполне сопоставимые по си и работает этот код не только в браузерах. а пользователей этого кода уж точно не сильно меньше, чем пользователей кода, написанного на плюсах.

L> Кстати, разве для js нет юнит-тест фреймворков?

не надо уводить разговор в сторону. для целочисленных типов мы смотрим макс. и мин. значения. для плавучки все гораздо сложнее. само название "плавучка" говорит за себя. тут уже приводили пример, что если суммировать массив отсортированных чисел, то результат мягко говоря может получится неожиданным. вполне может сложиться ситуация, когда a1+a2+ +an выдаст на выходе a1, поскольку _разница_ между a1 и a2 очень велика и потому a1 += a2 оказывается равно a1. и так далее... а вот если сложить в обратном порядке, то можно получить и 2*a1 и даже 10*a1. почувствуйте разницу. причем переполнения как раз тут и не происходит.

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

ладно, к черту солнце. известно, что масса бактерий больше массы животных и растений всех вместе взятых. а какова суммарная масса всего этого добра?! вот тут очень легко написать программу, возвращающую неверный результат. сначала нужно сортировать. и складывать подобное с подобным.

какие юнит тесты это вам обнаружат?! если программу прогнать на суммировании массы ореха, арбуза и самолета A-380, то, возможно, она выдаст правильные данные. а если эти данные ввести в другом порядке...

вопрос на засыпку. нужно суммировать N чисел типов T1, T2, T3... допустим, от порядка следования элементов меняется результат. сколько нам нужно проверить комбинаций, чтобы убедится, что программа работает правильно? тут даже со знанием плавучки можно мозги навернуть, т.к. возможно придется группировать числа, суммировать эти группы по раздельности и затем снова группировать полученные результаты.

а вы думали что вычислить сумму a1, a2... an это просто? а вот фиг вам.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[20]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 29.12.10 13:26
Оценка:
Здравствуйте, olegkr, Вы писали:


O>>>А на евры смысла спорить через океан мало.

E>>В смысле? Открой для себя банковские переводы, например...
O>В том смысле, что проверить результаты невозможно.
O>Но вообще меня, конечно, поразила твоя коммерческая жилка
Ну кагжеж, человек с такой мощной математической базой наверняка должен быть неплохим экономистом, ведь и там и там по сути — цифрами ворочать

А вообще я тут погуглил по упомянутом им Барочинскому, и похоже, если гугл правильно наводит, учился он в физтехе, а там математика наверное повыше уровнем, чем в более других местах. Да и от препода тоже зависит.
Re[17]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 29.12.10 13:32
Оценка:
Здравствуйте, denisko, Вы писали:


E>>>Ну не знаю даже что и сказать. Есть конечно синяки-сантехники на свете. Но вот если я щаподозрю про кого-то из своих сотрудников, что он(а) не сможет решить квадратное уравнение просто "с нуля", то я постараюсь от такого сотрудника избавиться...

O>> О том сколько процентов (я ставлю на 90) пришлось уволить отпиши тут.
D>Олег, я не знаю с каким отбросами древних цивилизаций зимбабве, китая и индии ты работаешь, но я не сталкивался в РФ с программистом, кроме пхп школоты, который не мог бы решить квадратное уравнение или вывести его решение.
Превед! Я — русский, с пхп никогда не работал(ну если только в хтмл иногда попадался), пишу на асме, С и плюсах и напрочь забыл все дискрименанты и теоремы виета, а также был не в состоянии сам вывести решение пока не показал Егор. Так что можете поправить правила в своем фаерволе с учетом новой малвари) Да, инст-т закончил больше 4-х лет назад, так что и не школота.
Re[19]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 29.12.10 13:59
Оценка:
Здравствуйте, Erop, Вы писали:


Z_>>Ну возможно матподготовка у вас была сильнее, чем у меня. Я всегда решал "через дискриминант", и если повезет, то "по теореме виета". А как это дело можно проконтроллировать и вывести самому — не знал, а сам не допер. Хотя ничего тут сверхчеловеческого нет, способ крайне простой.

E>IMHO, тебе просто не повезло научиться решать простые задачи с нуля.
Согласен что не повезло, у всех свой жизненный путь. Кстати, не раз замечал, что чем старше люди, тем концептуальнее у них образование и понятия в голове. Возможно, дело в том, что все это постепенно вырождается, по крайней мере даже я с ужасом смотрю на людей, которые еще младше меня.

E>В принципе ещё не поздно начать...

Да я не против, хотя бы время от времени занимался бы. Вопрос один — как?

E>Но про то и говорили тебе тут, что заботать формулу -- фигня и не нужно, нужно чтобы то соотношение, которое она выражает, легло в целостное представление о математике...

Да я с этим полностью согласен, терпеть не могу полагаться на формулу без понимания откуда она взялась. Но так меня учили — через дискриминанты уравнения решать, так и запомнил. Если б преподавали концептуальнее — может до сих пор бы знал.

Z_>>Вообще у меня с математикой всегда было хуже, физику я сдал на 8 из 10, а математику только на 5 из 10.

E>Я так думаю, что секрет в этом. В смысле в том, что "из 10", а не "из 5"...
E>Я-то ещё до революции учился
Говорят, до революции можно было поступить на базе школьных знаний, без дополнительной подготовки с репетитором. В мое время это уже было невозможно, вы знаете что логарифмы мы прошли по школьной программе только к концу марта, а ЕГЭ было уже в начале апреля? До сих пор не знаю чей это косяк — школьной программы или перегиба в нашем конкретном месте.

Z_>>Хотя среди одноклассников/одногрупников мне и равняться то не на кого было, те же дифференциальные уравнения кроме меня только один человек с группы еще научился решать, а остальные на экзамене выехали за счет того, что задания не только из дифуров состояли.

E>Э-э-э, это в каком ВУЗе-то такие ужасы? Ты на какую специальность, хотя бы учился? Не на гуманитарную же?
В горном универе я учился в москве, на электромеханической специальности.

Z_>>Решать это дело графически карандашом на бумаге — практически то же самое, что взвешивать воду, выплеснутую из ванны телом. Но у вас свои понятия о целесообразности, так что я на этом останавливаться не буду.

E>Ну через геометрию можно получить ТУ ЖЕ ФОРМУЛУ...
Угу, при условии концептуального понимания) Я в общем то вспомнил о том, как я это все через графическое представление понимал, но с вашей подачи. Да и мало у нас было этой концептуальности, на нее упор никогда не делали.

E>>>Не-не-не. В реале надо, как раз измерять объёмы тел, а не их идеальных моделей

Z_>>Определите объем реального небесного тела — луны например.
E>И что, Луна -- таки идеальный шар?
На результат, полученный по идеальным расчетам после расчетов можно накинуть любую удобную для вас погрешность. Результат же полученный с неизвестной погрешностью измерения такой гибкостью не отличается.

Z_>>Тогда причем здесь архимед и ванна?

E>Тебя троллили, раз уж по поводу интегралов ты остался безучастен.
Да не троллили, а выделывались. А по поводу интегралов я отвечал.

E>На самом деле, то, как тебя учили математике -- это большое несчастье для программиста.

Ну не то, чтобы совсем несчастье, но учили так себе, могли бы и получше — тогда и толку было б больше.

E>Стоит таки как-то минимально математическую культуру подтянуть...

Стоит, я не против. Понятия не имею как. Сам конечно буду предпринимать определенные подвижки в этом вопросе, но не факт что сильно поможет.

Z_>>С пи мы уже давно разобрались, это аксиоматическая константа, которую вводят в средней школе чтобы упростить, а на мой взгляд запутать, понимание. Лучше бы уж пределы и интегралы проходили в школе, тем, кто не способен их понять — тем и все остальные костыли ни к чему. Так же как и дисриминант — уж костыль костылее некуда, проще выделить полный квадрат.

E>Прикольно. А ты, что
E>1) Сам не можешь догадаться до этой идее?
Нэа. Хотя метод знакомый, но сам я его не вспомнил и не догадался применить.

E>2) Не видишь в дискриминанте следов выделения полного квадрата?

Ну, сразу увидел когда вы привели решение) Даже не вспомнив его формулы. Хотя, по вашей милости, вроде уже и формулу дискриминанта вспомнил)
Re[10]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 29.12.10 14:12
Оценка:
Здравствуйте, мыщъх, Вы писали:


М>вопрос на засыпку. нужно суммировать N чисел типов T1, T2, T3... допустим, от порядка следования элементов меняется результат. сколько нам нужно проверить комбинаций, чтобы убедится, что программа работает правильно?

Понятно, что плавучка — это только вершина айсберга. Но где таким всем нюансам учат то?) Кстати, кидаю гугломенеджерам халявную идею — пускай набирают из числа участников и поебидтелей олимпиад по программированию По ходу только у этих будут необходимые знания сочетаться в достаточном объеме.
Re[11]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 29.12.10 14:31
Оценка:
Здравствуйте, dZentle_man, Вы писали:

Z_>Здравствуйте, мыщъх, Вы писали:



М>>вопрос на засыпку. нужно суммировать N чисел типов T1, T2, T3... допустим, от порядка следования элементов меняется результат. сколько нам нужно проверить комбинаций, чтобы убедится, что программа работает правильно?

Z_>Понятно, что плавучка — это только вершина айсберга. Но где таким всем нюансам учат то?)
не знаю. я учился по спецификациям, дизассемблировал код, разбирал программы-победителей по непонятному программированию,.. faq читал заглотом одно время на разные темы.

> Кстати, кидаю гугломенеджерам халявную идею — пускай набирают из числа участников и поебидтелей олимпиад по программированию

опоздали. у них своя олимпиада — кодовый джем.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[9]: # как манагеров достали те, кого достали манагеры
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 29.12.10 14:41
Оценка:

Пример вопроса не приведёшь? Просто интересно что тут можно спросить-то?


Вопросы тривиальные: 5-10 классов, отнаследованные ромбиками друг от друга. Россыпью виртуальные / обычные методы с пересекающимися именами. Так же россыпью виртуальные / обычные деструкторы / конструкторы. Каждый из методов и деструкторов / конструкторов делает printf что-нибудь. Ну и нужно выбрать в какой последовательности будут printf'ы в коде, где создается объект одного из классов, кастится к другому классу и вызывается метод. Увы, для ответа на такие вопросы знания википедии "оно идет влево, а если virtual то вверх" не хватает .
Re[12]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 29.12.10 14:44
Оценка:
Здравствуйте, мыщъх, Вы писали:


>> Кстати, кидаю гугломенеджерам халявную идею — пускай набирают из числа участников и поебидтелей олимпиад по программированию

М>опоздали. у них своя олимпиада — кодовый джем.
Тогда почему штат разработчиков ихнего сервиса для определения маршрута до сих пор не укомплектован?) Не хватает участников и победителей своей -пускай с чужих берут)
Re[4]: # как манагеров достали те, кого достали манагеры
От: carpenter Голландия  
Дата: 29.12.10 16:14
Оценка: :)
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, carpenter, Вы писали:


S>>>Я думаю, TYPEA имеет перегруженный "operator +(int)", который ничего не делает. В результате, a + 1 не меняеет значение. В принципе, я больше не вижу решений, которые не зависили бы от плаформы или компайлера.


C>>ога — я тоже о чемто подобном подумал


E>То, что язык С никого не смущает?


не не очень
Весь мир — Кремль, а люди в нем — агенты
Re[10]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 29.12.10 16:28
Оценка:
Здравствуйте, Eye of Hell, Вы писали:

EOH>Вопросы тривиальные: 5-10 классов, отнаследованные ромбиками друг от друга. Россыпью виртуальные / обычные методы с пересекающимися именами. Так же россыпью виртуальные / обычные деструкторы / конструкторы. Каждый из методов и деструкторов / конструкторов делает printf что-нибудь. Ну и нужно выбрать в какой последовательности будут printf'ы в коде, где создается объект одного из классов, кастится к другому классу и вызывается метод. Увы, для ответа на такие вопросы знания википедии "оно идет влево, а если virtual то вверх" не хватает .


Виртуальных баз при этом сколько? Виртуальные методы, в том числе и виртуальные деструкторы, тут ни на что не влияют.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[20]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 29.12.10 16:37
Оценка:
Здравствуйте, dZentle_man, Вы писали:

Z_>Да я не против, хотя бы время от времени занимался бы. Вопрос один — как?

Ну я, например, когда учился в пятом классе заботал двухтомник Фехтенгольца.
Конечно матан -- наука специфическая, но у Ф. ещё та, старая культура изложения в книжке присутствует. Приятно почитать, поразбираться...

Z_>Говорят, до революции можно было поступить на базе школьных знаний,

Ну смотря куда. Но у меня к концу школы по мат-ке и физ-ке знания были сильно за школьными

Z_>В горном универе я учился в москве, на электромеханической специальности.

Ну тогда ещё туда-сюда. Всё-таки не совсем профильные предметы. Хотя поросята, конечно. Вместо того, чтобы грузить людей, что они разучатся квадратные ур-я решать, в их чудо-ВУЗе, лучше бы думать таки научили...

Z_>Угу, при условии концептуального понимания) Я в общем то вспомнил о том, как я это все через графическое представление понимал, но с вашей подачи. Да и мало у нас было этой концептуальности, на нее упор никогда не делали.

Ну так сейчас-то в чём проблема? Берёшь голову, бумажку, карандашик и вперёд, выводишь формулу такую и формулу сякую...
Вот ты опять вспомнил, а надо уметь не вспоминать, а решать с нуля. Это надёжнее и эффективнее.

Z_>На результат, полученный по идеальным расчетам после расчетов можно накинуть любую удобную для вас погрешность. Результат же полученный с неизвестной погрешностью измерения такой гибкостью не отличается.

Я думаю, что объём Луны можно разными способами прикинуть. Но закон Архимеда, конечно, припахать не удастся

Z_>Стоит, я не против. Понятия не имею как. Сам конечно буду предпринимать определенные подвижки в этом вопросе, но не факт что сильно поможет.

Ну тут важно САМОМУ ДУМАТЬ, а для этого важно ТРЕНИРОВАТЬСЯ, это как утренняя гимнастика, примерно.
Слыхал, что мат-ка -- это гимнастика для ума?

Z_>Нэа. Хотя метод знакомый, но сам я его не вспомнил и не догадался применить.

Не знаю, я вот не назвал бы это методом. Это просто очевидная такая выкладка, по упрощению выражения...

E>>2) Не видишь в дискриминанте следов выделения полного квадрата?

Z_>Ну, сразу увидел когда вы привели решение) Даже не вспомнив его формулы. Хотя, по вашей милости, вроде уже и формулу дискриминанта вспомнил)
ну хоть что-то.

Короче надо тренироваться и всё получится
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[6]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 29.12.10 17:14
Оценка:
Здравствуйте, Erop, Вы писали:

E>Э-э-э, тут вопрос про другое совсем. Вот ты не знал о том, что если взять достаточно больше число, то 1 уже не прибавится?


Да. Потому как вычислительными задачами занимаюсь что-то там с 8-9-го класса среденеобразовательной щколы. Хотя признаю — наизусть методы как это таки сосчитать прямо сейчас сразу не перечислю.

E>Если не щнал, то как это может быть? Как ты себе вообще представлял работу дабла? Ну хотя бы в общих чертах? А если знал, то решил ли ты задачку за 30 сек?


Скорее всего не решил. Из твоих вопросов я понял только последний.

E>Я вот решил не до конца. Я не мог вспомнить, как точно константа называется, но это потому, что я ий очень давно не пользовался...


Какая константа?

TL>>ЗЫ: возвращаемое значение насколько я помню по-умолчанию void — в сях традиционно не указывалось,

E>Ты помнишь всё неаерно. В С неуказанный тип был всегда int.
E>например:
static count = 10;




TL>>это "плюсы" всех испортили более строгим синтаксисом. В этом плане — собеседования — более интересным вопрос будет понимания разницы си и си++ и что где будет компилироваться, а что — нет. Это — более практическое знание для _программиста_. Где-то так...


E>Нафига бы и кому нужен спец сразу по обоим языкам?


То ты говоришь что нужны "решатели задач при всяких запутанных эффектах реально бывает" — то тебе "спец по обоим языкам сразу не нужен" — я ж не телепат что тебе нужно. Задачи, как ты правильно заметил, разные бывают — и если ты думаешь, что для решения нужен "спец по даблам", но не нужен "спец по двум языкам сразу" — ты несколько странно логически мыслишь, не?
Голь на выдумку хитра, однако...
Re[6]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 29.12.10 17:16
Оценка: +1
Здравствуйте, Pzz, Вы писали:

Pzz>Не совсем. Умение грамотно работать с плавучкой — особый род программерского искусства и я, например, им не владею. Но понимание, какие там могут таиться опасности, полезно для всех, потому что хоть иногда плавучку используют все (ну и чтобы не возникало искушения использовать плавучку там, где она не применима).


Я умею грамотно работать с плавучкой. Я знаю, что плавучку достаточно стремно использовать, например, при подсчете денег. Думаешь это помогло мне убедить в этом "высших программеров" как минимум в 2-х проектах из моей практики?

Pzz>В сях функция возвращает int, если не указано иначе. C++, по-моему, не разрешает не указывать.


Голь на выдумку хитра, однако...
Re[7]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 29.12.10 17:19
Оценка:
Здравствуйте, The Lex, Вы писали:

TL> То ты говоришь что нужны "решатели задач при всяких запутанных эффектах реально бывает" — то тебе "спец по обоим языкам сразу не нужен" — я ж не телепат что тебе нужно. Задачи, как ты правильно заметил, разные бывают — и если ты думаешь, что для решения нужен "спец по даблам", но не нужен "спец по двум языкам сразу" — ты несколько странно логически мыслишь, не?


Нужен не спец по даблам или по двум языкам, а спец с нестандартным мышлением...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[8]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 29.12.10 17:20
Оценка:
Здравствуйте, Pzz, Вы писали:

TL>>Невероятно задалбывают такие люди почему-то. Когда ты ему говоришь, что вместо изобретения велосипеда "за пределами своего гаечного ключа" лучше бы он занялся как раз именно "гаечным ключом" — ответ... не помню. Что-то вроде "но ведь это так классно — заглядывать за пределы своего гаечного ключа!" (к)


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


"А что там думать — там прыгать надо!" (к)

ЗЫ: а вместо того, чтобы каждый раз при встрече "чуть что слегка нестандартного" тут же бросаться "думать" и изобретать очередной велосипед — может вместо этого ступить немножко и посмотреть, а не решал ли эту же задачку кто-нибудь до нас и нет ли _стандартного_ решения? Гаечный ключ — имхо, величайшее достижение технологической цивилизации, позволившее сделать "нечто универсальное и применяемое всеми в одинаковом виде, размере — взаимозаменяемое и позволяющее двигаться дальше, опираясь на общепринятые _стандартные_ решения" (к) Где-то так...
Голь на выдумку хитра, однако...
Re[7]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 29.12.10 17:23
Оценка:
Здравствуйте, Pzz, Вы писали:

SA>>А RS-232 и формулу пересечения плоскости с прямой программисты обязаны знать?


Pzz>Они обязаны иметь представление о том и другом. Что до формулы пересечения плоскости с прямой, ее должен быть в состоянии вывести любой выпускник средней школы.


Ну давай соберем человеков прямо здесь в кучку и перечислим ряд последовательных интерфейсов — индустриальных стандартов — и спросим, имеют ли они об этом представление и что могут об этом сказать. Ну или хотя бы описать работу последовательного интерфейса как они себе это представляют.

Ну и вопрос конечно же интересный: зачем же все это нужно "_обязаны_ иметь представление". Не великовата ли современная ИТ-индустрия, чтобы хотя бы примерно так почти обо всем "иметь представление"?
Голь на выдумку хитра, однако...
Re[21]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 29.12.10 17:25
Оценка:
Здравствуйте, Erop, Вы писали:

Z_>>Да я не против, хотя бы время от времени занимался бы. Вопрос один — как?

E>Ну я, например, когда учился в пятом классе заботал двухтомник Фехтенгольца.
Ну я чуйхствовал что ваши подходы и знания не просто так)

E>Конечно матан -- наука специфическая, но у Ф. ещё та, старая культура изложения в книжке присутствует. Приятно почитать, поразбираться...

Угу, вот оно и есть. Я и сам любитель подкопаться до сути, тот же С например в уме разлагаю до асма, правда меня закритиковали за такие высказывания, все-таки не компилятор я, но без представления хотя бы примерных ассемблерных конструкций за абстракциями С я бы никогда не понял этого языка.

Z_>>Говорят, до революции можно было поступить на базе школьных знаний,

E>Ну смотря куда. Но у меня к концу школы по мат-ке и физ-ке знания были сильно за школьными
Ну так че ж вы по себе других меряете)

Z_>>В горном универе я учился в москве, на электромеханической специальности.

E>Ну тогда ещё туда-сюда. Всё-таки не совсем профильные предметы. Хотя поросята, конечно. Вместо того, чтобы грузить людей, что они разучатся квадратные ур-я решать, в их чудо-ВУЗе, лучше бы думать таки научили...
Ну я поначалу тоже сильно на них злился за это и подобное, но в конце то концов все равно самому думать надо, а вот образование в общем виде я стал после этого считать делом зряшным. Мог бы школу года на три раньше закончить, тогда бы и в универе может было бы интересно учиться до окончания, а так я еще после второго курса скис.

Z_>>Угу, при условии концептуального понимания) Я в общем то вспомнил о том, как я это все через графическое представление понимал, но с вашей подачи. Да и мало у нас было этой концептуальности, на нее упор никогда не делали.

E>Ну так сейчас-то в чём проблема? Берёшь голову, бумажку, карандашик и вперёд, выводишь формулу такую и формулу сякую...
Для этого нужно хотя бы пользоваться формулами) Пока как-то не доводилось) Ну а для общего развития — да, выделю время. А то даже в гугл поганый не возьмут

Z_>>Стоит, я не против. Понятия не имею как. Сам конечно буду предпринимать определенные подвижки в этом вопросе, но не факт что сильно поможет.

E>Ну тут важно САМОМУ ДУМАТЬ, а для этого важно ТРЕНИРОВАТЬСЯ, это как утренняя гимнастика, примерно.
E>Слыхал, что мат-ка -- это гимнастика для ума?
Кто ж не слыхал. Только обычно не присовокупляют какие именно действия надо выполнять для этой гимнастики. С какой то точки зрения даже решение квадратных уравнений через дискрименант — тоже математика и тоже гимнастика, так что не зная куда прикладывать усилия можно много дров наломать.

Z_>>Нэа. Хотя метод знакомый, но сам я его не вспомнил и не догадался применить.

E>Не знаю, я вот не назвал бы это методом. Это просто очевидная такая выкладка, по упрощению выражения...
Ну вообще да, просто часто используется при доказательствах и выводах формул.

E>Короче надо тренироваться и всё получится

Ну да, теперь есть на чем и откуда. Надыбаю этого вашего Фехтенгольца, да и мыщъх поделился полезным опытом)
Re[22]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 29.12.10 17:28
Оценка:
Здравствуйте, dZentle_man, Вы писали:

E>>Ну смотря куда. Но у меня к концу школы по мат-ке и физ-ке знания были сильно за школьными

Z_>Ну так че ж вы по себе других меряете)
Ну я же знаю, что было у одноклассников...

Z_>Кто ж не слыхал. Только обычно не присовокупляют какие именно действия надо выполнять для этой гимнастики. С какой то точки зрения даже решение квадратных уравнений через дискрименант — тоже математика и тоже гимнастика, так что не зная куда прикладывать усилия можно много дров наломать.

Можно просто брать задачники и прорешивать, например...
Я так физику учил Доучил до команды СССР по физике...


Z_>Ну да, теперь есть на чем и откуда. Надыбаю этого вашего Фехтенгольца, да и мыщъх поделился полезным опытом)

Удачи!!!
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[8]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 29.12.10 17:29
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Распайку проводов, знание используемых уровней сигналов и т.п. — необязательно. Общее представление о наличии последовательных каналов и о присущих им фундаментальных ограничениях знать ИМХО все же не вредно. Надо ли знать разницу между синхронным и асинхронным режимом передачи — открытый вопрос


Я думаю что это специфический "наш советский" взгляд на "_обязательную_ фундаментальность образования" (к)

ЗЫ: а чего ж про принципы модуляции не спросить — или это уже не надо? А прикинуть по-быстрому на бомажку как микросхемка UART должна работать — не надо? имхо, все это зависит от того, на какую работу человека берут и кого именно — в смысле каких именно _прямых_ знаний от него хотят. Все остальное — от лукавого. Я понимаю еще как-то пояснить принцип последовательного и параллельного интерфейса — но если это _не_ применимо в работе вообще никак — тогда _зачем_?
Голь на выдумку хитра, однако...
Re[6]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 29.12.10 17:33
Оценка: +1
Здравствуйте, Pzz, Вы писали:

TL>>Можно встречный вопрос: какая практическая ценность от такой проверки — в смысле от знания, что "не вышло ли 'a' за диапазон, в котором начинаются потери слева от запятой"?


Pzz>Я думаю, есть очень большой смысл от понимания того факта, что при некоторых условиях оно может выйти за этот диапазон.


И для этого надо бы завернуть хитро...ю функцию с попыткой придумать что-нибудь, что будет подходить в качестве типа под хитрозамороченное условие?

А почему ты думаешь, что человек, натасканный на решении подобных хитровыдуманных и непрактичных задач, на практике вдруг правильно применит это "знание" и правильно соберет накопитель, который сможет накапливать сумму входящих значений независимо от их величины?

Я вот "людей натасканных" видел — и видел их "рабочие решения". Почему все печально? Может 30 секунд роль играют — остановиться подумать поискать готовое решение времени нет — как считаешь?
Голь на выдумку хитра, однако...
Re[8]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 29.12.10 17:37
Оценка: 1 (1)
Здравствуйте, Pzz, Вы писали:

>>> за пределы своего гаечного ключа.

V>>А там всего-лишь обычный таракан.

Pzz>Да нет же, там целый мир, а таракан у смотрящего в голове


Да! Это ты ну совершенно точно подметил! Вот видишь задачу — "гаечный ключ обыкновенный" (к) — открываешь инмплементацию, сделанную "умеющим смотреть за пределы гаечного ключа" — а там, в этой "имплементации" — йо-ма-йо! — а там целый мир!!!

Вот и спрашивается потом: а у кого, собственно, тараканы?
Голь на выдумку хитра, однако...
Re[10]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 29.12.10 17:42
Оценка:
Здравствуйте, dilmah, Вы писали:

D>ты видимо не просек всю фишку. Фишка в том, что если 5 велико, то возникнет бесконечный цикл, потому что i перестанет меняться от итерации к итерации, и останется меньше предела.


Вооот! И вместо того, чтобы пытаться "выдавить" из кандидата "знание" что вещественное может теряться при операциях с ними — используя при этом такой вот "пример мега-кода" — не лучше ли задать прямую задачу да еще и с прямыми условиями: "вещественное у нас может теряться при операциях — напишите цикл, который позволил бы этого избежать" (к)

А тут... "Я угадаю что за ... с 3-х операторов!" — "Угадывай!"
Голь на выдумку хитра, однако...
Re[8]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 29.12.10 17:44
Оценка:
Здравствуйте, мыщъх, Вы писали:

L>>Как ты правильно отметил, большинство разумных людей используют целочисленные индексы при итерациях.

L>>Но если вдруг возникнет сферическая необходимость запихнуть вещественное число в for, то подобная бяка должна выявляться вторым юнит-тестом.
М>на си и плюсах -- согласен. как быть с java script?

Егор сказал что спец сразу по многим языкам никому ... не нужен.
Голь на выдумку хитра, однако...
Re[2]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 29.12.10 17:46
Оценка:
Здравствуйте, superman, Вы писали:

S>Вот за что люблю КЫВТ — тут и в ветке для флейма можно что-нибудь интересное подчерпнуть


Причем в основном только в этой ветке и можно...
Голь на выдумку хитра, однако...
Re[21]: # как манагеров достали те, кого достали манагеры
От: olegkr  
Дата: 29.12.10 21:23
Оценка: -1
Здравствуйте, Erop, Вы писали:

E>Вообще я в шоке, как много тут людей, которые считают, что для решения квадратного ур-я надо что-то ПОМНИТЬ...

Еще больший шок ты испытаешь, если последуешь моему совету
Re[17]: # как манагеров достали те, кого достали манагеры
От: olegkr  
Дата: 29.12.10 21:24
Оценка: 1 (1) +1 :)
Здравствуйте, denisko, Вы писали:

D>Олег, я не знаю с каким отбросами древних цивилизаций зимбабве, китая и индии ты работаешь, но я не сталкивался в РФ с программистом, кроме пхп школоты, который не мог бы решить квадратное уравнение или вывести его решение.

О! Как раз школота квадратные уравнения решает на раз, благо школу закончили недавно.
Re[21]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 29.12.10 21:47
Оценка: +1
Здравствуйте, Erop, Вы писали:

Z_>>Да я не против, хотя бы время от времени занимался бы. Вопрос один — как?

E>Ну я, например, когда учился в пятом классе заботал двухтомник Фехтенгольца.
Фихтенгольца.

E>Конечно матан -- наука специфическая, но у Ф. ещё та, старая культура изложения в книжке присутствует. Приятно почитать, поразбираться...

Фихтенгольц — это супер-мега-учебник. Это единственный учебник по матану/диффурам, который можно читать "для удовольствия".
Sapienti sat!
Re[7]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 29.12.10 21:52
Оценка:
Здравствуйте, The Lex, Вы писали:

TL>Я умею грамотно работать с плавучкой. Я знаю, что плавучку достаточно стремно использовать, например, при подсчете денег. Думаешь это помогло мне убедить в этом "высших программеров" как минимум в 2-х проектах из моей практики?


То же самое наблюдается в любой области, которая требует аккуратного обращения. Например, в криптографии. А потом удивляемся, что очередной криптостандарт для, к примеру, wifi, который 10 лет обсуждали перед тем, ломает при желании пионер Петя.
Re[9]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 29.12.10 21:55
Оценка: :)
Здравствуйте, The Lex, Вы писали:

TL>ЗЫ: а вместо того, чтобы каждый раз при встрече "чуть что слегка нестандартного" тут же бросаться "думать" и изобретать очередной велосипед — может вместо этого ступить немножко и посмотреть, а не решал ли эту же задачку кто-нибудь до нас и нет ли _стандартного_ решения? Гаечный ключ — имхо, величайшее достижение технологической цивилизации, позволившее сделать "нечто универсальное и применяемое всеми в одинаковом виде, размере — взаимозаменяемое и позволяющее двигаться дальше, опираясь на общепринятые _стандартные_ решения" (к) Где-то так...


Программирование как область деятельности очень не похоже на закручивание стандартных гаек стандартными ключами. Даже если на курсах манагеров говорят обратное
Re[10]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 29.12.10 22:42
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Программирование как область деятельности очень не похоже на закручивание стандартных гаек стандартными ключами. Даже если на курсах манагеров говорят обратное


Только что выше ты что-то написал про "очередной криптостандарт для ..." (к) Кстати, намедни меня меня просили посоветовать "чего-нибудь (такого) из алгоритмов шифрования" — некто пишет некий сетевой уровень "путем нестандартного закручивания нестандартных гаек нестандартными ключами". На мой вопрос, чем не устраивают 3DES/AES — очень крутили носом и рассказывали что-то вроде:

Программирование как область деятельности очень не похоже на закручивание стандартных гаек стандартными ключами.


А шо я?
Голь на выдумку хитра, однако...
Re[6]: # как манагеров достали те, кого достали манагеры
От: Mna 404 and heavy formation
Дата: 29.12.10 23:22
Оценка: 1 (1)
Здравствуйте, Pzz, Вы писали:

Pzz>>>Велико по абсолютному значению


MX>> Я имел в виду "сильно близко к 0". Через это, например, машинный ноль определяется.


Pzz>Как это? Если число синьно близко к 0, то прибавляя к нему 1, вы получите результат, сильно близкий к единице.


А всё отого что кто-то слишком умный не называет вещи саовими именами.

под "сильно близко к 0" == "машинный ноль" имелся ввиду NAN

под "Велико по абсолютному значению", — просто большие числа, невзиая на знак
а еще есть INF — машинная бескончность.
1 +- INF == INF
NAN +- Const == NAN
Re[10]: # как манагеров достали те, кого достали манагеры
От: landerhigh Пират  
Дата: 29.12.10 23:38
Оценка: 10 (3) +1
Здравствуйте, мыщъх, Вы писали:


L>>Это проблемы негров, если честно.

М>молодой человек, на js сейчас пишутся большие объемы кода, вполне сопоставимые по си и работает этот код не только в браузерах. а пользователей этого кода уж точно не сильно меньше, чем пользователей кода, написанного на плюсах.
L>> Кстати, разве для js нет юнит-тест фреймворков?
М>не надо уводить разговор в сторону.

Мне не интересны аргументы тех, кто считает, что самолет не взлетит.

В наше время большие объемы кода без юнит-тестов — это нонсенс и недоразумение. Особенно когда речь идет о коде, поведение которого зависит от среды, исполняющей его. Ты можешь гнуть пальцы сокровенным знанием того, что в js числа по умолчанию представляются вещественными и это, может даже, спасет тебя от страшного и ужасного сферического бага в вакууме при итерациях. Однажды. Впрочем, вероятнее всего, что такой ситуации никогда не случится. Зато будет много других багов из-за других, более тонких и еще менее очевидных "особенностей", о которых ни ты, и никто другой знать заранее не могли. Поэтому лично я предпочитаю подкладывать соломку и обкладывать код юнит-тестами. Как я уже сказал, багу с эпислоном выявил бы второй тест. А мне при этом не нужно забивать голову всякой ерундой.

И изначальный вброс, и последующий разлет в этой теме — отличный пример мозгового онанизма, не имеюшего никакой практической ценности.
www.blinnov.com
Re[10]: # как манагеров достали те, кого достали манагеры
От: landerhigh Пират  
Дата: 29.12.10 23:45
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>ладно, к черту солнце. известно, что масса бактерий больше массы животных и растений всех вместе взятых. а какова суммарная масса всего этого добра?! вот тут очень легко написать программу, возвращающую неверный результат. сначала нужно сортировать. и складывать подобное с подобным.


М>какие юнит тесты это вам обнаружат?!


Самые обыкновенные.

М>если программу прогнать на суммировании массы ореха, арбуза и самолета A-380, то, возможно, она выдаст правильные данные. а если эти данные ввести в другом порядке...


Вот отличный пример того, до чего доводить дрочьба на "сокровенные знания". Я подобные эпик фейлы уже коллекционировать устал.

Спустись с небес на землю, оставь вешественные числа в покое. Банальная нормализация единиц измерения к наименьшей — и никаких "неожиданных" эффектов.
www.blinnov.com
Re[11]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 30.12.10 02:47
Оценка: 2 (1) +1
Здравствуйте, The Lex, Вы писали:

TL>Только что выше ты что-то написал про "очередной криптостандарт для ..." (к) Кстати, намедни меня меня просили посоветовать "чего-нибудь (такого) из алгоритмов шифрования" — некто пишет некий сетевой уровень "путем нестандартного закручивания нестандартных гаек нестандартными ключами". На мой вопрос, чем не устраивают 3DES/AES — очень крутили носом и рассказывали что-то вроде:


Во-первых, надо мозги иметь, чтобы различать, когда использовать стандартную запчасть, а когда свою вытачивать. Во-вторых, изобретение криптопримитивов не является программистской областью деятельности, это прикладная математика. В третьих, 3DES/AES — это лишь маленький кусочек; криптостойкость будет определяться не выбором блочного шифра, а режимом использования. Ну и наконец, ломаемое каждым школьником шифрование от wifi состоит из вполне себе стандартных запчастей, но свичены они по-пионерски.

P.S. Я бы, кстати, не взял бы на себя ответственности консультировать по криптографике. Ну или ответил бы что-нибудь в том духе, возьмите стандартные примитивы и используйте их стандартным образом (напр., как в SSL), и будет вам щастие. Хотя и стандартное использование бывает небезопасно. Например, WPA-PSK довольно слаб, хотя там все "по науке" сделано (примерно настолько же слаб, насколько слаб CRAM-MD5, и примерно по той же причине).
Re[22]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 30.12.10 08:07
Оценка:
C>Фихтенгольц — это супер-мега-учебник. Это единственный учебник по матану/диффурам, который можно читать "для удовольствия".

это шутка такая?
Зорич по матану? Арнольд по дифурам?
Натансон: Теория функций вещественной переменной
Re[5]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 30.12.10 08:54
Оценка:
Здравствуйте, Erop, Вы писали:

E>Тем не менее написал, о переполнении float. А функция возвращает true вовсе и не при переполнении float, а совсем в другой ситуации

E>При этом понимание, что это за ситуация, и как она неизбежно возникает -- следует прямо из понимания ПРИНЦИПОВ такого представления чисел.

Далее по тексту следует, что ты много пишешь, но как раз ты не понимаешь "принципов".

E>Ты же знаешь, например, что в С означает DBL_EPSILON? Наверное понимаешь и то, что такое число неизбежно должно быть пи любой реализации плавающей точки с фиксированным объёмом памяти, занимаемой числом. Ну просто потому, что в 64 бита можно представить только 2^64 РАЗНЫХ значений. Так что неизбежно найдётся такое маленькое число, что прибавление его к 1, уже не будет изменять сумму. Итак DBL_EPSILON.

E>Ну вот умножь обе стороны равенства на х + 1 — х на DBL_EPSILON. Ничего не напоминает?...

Многа букав. Достаточно взять достаточно большой порядок, чтобы мелочь "+1" терялась в знаках мантиссы при любом их, знаков, наборе и количестве.

E>Вот это всё ты знал или нет? Если не знал, то прости, ты не знаешь, как юзать плавучку.

E>А если знал, но просто не подумал об этом, то ты значит не имеешь привычки думать, во всяком случае перед тем как отвечать на форуме



E>На то, собственно и тест был -- на умение и желание думать нешаблонно. Ты его провалил. Но списал на то, что тест плохой, и ты типа на практивке не сталкивался. Конечно, то что ты не сталкивался с "переполнением float" (которое тут вообще не при чём, ни переполнение, ни float) на практике намного менее позорно, чем то, что ты не умеешь или не любишь творчески мыслить.


А кто, кстати, первым крикнул "переполнение флоат"?

E>Я всего лишь в шутку поддержал твою игру, но ны продолжил "не уметь и не желать творчески мыслить"...

E>

E>Не знаю как я тебя, а вот ты меня, таки убедил, что тест хороший и адекватный

Да, это действительно хороший и адекватный тест — на хорошего и адекватного работодателя.
Голь на выдумку хитра, однако...
Re[8]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 30.12.10 08:59
Оценка:
Здравствуйте, Erop, Вы писали:

Pzz>>Что до формулы пересечения плоскости с прямой, ее должен быть в состоянии вывести любой выпускник средней школы.


E>Слушайте, я заинтригован! О какой именно формуле речь?


Великий математик детектед.

Берешь формулу прямой в 3-х-мерном (н-мерном по вкусу) пространстве, берешь формулу плоскости (гиперплоскости по вкусу), складываешь все в систему уравнений и решаешь — это и будет точка пересечения. Если уравнение не решается — прямая параллельна плоскости.

А шо — за "перманентным _не_шаблонным мышлением" стандартные задачки таки _не_ решаемыми становятся? Или "решаемыми" настолько _не_ стандартно, что у "простого стандартного решателя" потом волосы на ... дыбом встают от таких "решений".
Голь на выдумку хитра, однако...
Re[11]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 30.12.10 09:03
Оценка:
Здравствуйте, dilmah, Вы писали:

D>прочитать и запомнить формулу -- не означает, что ты ее когда-либо знал.


Это зависит от образования и цели этого самого образования. А инженеры кстати вообще формулами не всегда и не очень пользуются — они в основном таблицами и даже графиками, прикинь! И ничего — прекрасно себя при этом чувствуют. Не говоря уже о том, что "инженерные формулы" могут быть "не настоящими", а приближенными в конкретном диапазоне применения и сделанными специально для инженерного применения заместо научного.

А если человек в науку метит — тогда, конечно, да: в _своей_ области ему надо бы знать что откуда берется и почему так и мочь самому все это вывести. А что — программирование уже на такой уровень вышло?
Голь на выдумку хитра, однако...
Re[23]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 30.12.10 09:05
Оценка: -1 :)
Здравствуйте, Erop, Вы писали:

E>Я так физику учил Доучил до команды СССР по физике...


То-то я смотрю у тебя мышление очень знакомо (мне лично ага — бывало тусовался в академических кругах ага) "нестандартное", и круг общения и представления об устройства мира сего тоже очень знакомо "от простого народу далеки"...
Голь на выдумку хитра, однако...
Re[21]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 30.12.10 09:12
Оценка:
E> квадратное уравнение само по себе ОЧЕНЬ ПРОСТАЯ ЗАДАЧА. Любой мой сотрудник, даже не программист, РЕШИТ ЕЁ С НУЛЯ. Даже если он вообще никогда не изучал, как это делается...

не соглашусь.
Это простая, но весьма нетривиальная задача. И чтобы решить ее в первый раз (скажем, третьекласснику) самостоятельно нужно немало часов, а то и дней размышлений.

Другое дело, если речь идет о взрослом человеке, которому читали всякие математические лекции. Если он все равно не может решить такой элементарный этюд, который встречается в математике постоянно, то возникает вопрос, пропускал ли этот человек через свой мозг хотя бы толику читанных ему лекций, и не нулевая ли стоимость его образования.
Re[12]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 30.12.10 09:15
Оценка:
Здравствуйте, Pzz, Вы писали:

TL>>Только что выше ты что-то написал про "очередной криптостандарт для ..." (к) Кстати, намедни меня меня просили посоветовать "чего-нибудь (такого) из алгоритмов шифрования" — некто пишет некий сетевой уровень "путем нестандартного закручивания нестандартных гаек нестандартными ключами". На мой вопрос, чем не устраивают 3DES/AES — очень крутили носом и рассказывали что-то вроде:


Pzz>Во-первых, надо мозги иметь, чтобы различать, когда использовать стандартную запчасть, а когда свою вытачивать.


Во-первых, мозгов для этого не надо — надо всего-то либо знать, когда именно и как именно применяется стандартная запчасть и не применять ее когда не знаешь или не знаешь как применять. А "свою вытачивать приходится" — это в основном от незнания стандартных и главное от _непринятия_ знания, что оные вообще существуют. Что существуют справочники, методички, что люди жили и до того и творили и использовали и что мозги у них не только были, но и были очень даже получше "очередное свое вытачивающего".

Pzz>Во-вторых, изобретение криптопримитивов не является программистской областью деятельности, это прикладная математика.


И шо? Это как-то мешает каждому как минимум второму "привыкшему мыслить нестандартно" программеру старательно "изобретать свои нестандартные"?

Или _не_ уметь _стандартно_ собрать _стандартные_.

Pzz>В третьих, 3DES/AES — это лишь маленький кусочек; криптостойкость будет определяться не выбором блочного шифра, а режимом использования. Ну и наконец, ломаемое каждым школьником шифрование от wifi состоит из вполне себе стандартных запчастей, но свичены они по-пионерски.


Вот тебе тобой же лично приведенный яркий пример "нестандартного мышления по применению стандартных вещей" — не?

Pzz>P.S. Я бы, кстати, не взял бы на себя ответственности консультировать по криптографике. Ну или ответил бы что-нибудь в том духе, возьмите стандартные примитивы и используйте их стандартным образом (напр., как в SSL), и будет вам щастие.


Ты не поверишь! Я всегда _только_ так и отвечаю! И шо — ты думаешь это помогает? Вон по твоим словам целый вай-фай "нестандартным образом из стандартного" собрали — что говорить уже о "среднем программисте обыкновенном", которому по той или иной причине шифрование прикрутить надо?

Pzz>Хотя и стандартное использование бывает небезопасно. Например, WPA-PSK довольно слаб, хотя там все "по науке" сделано (примерно настолько же слаб, насколько слаб CRAM-MD5, и примерно по той же причине).


Я даже не бросился искать все эти страшные слова в гугле...
Голь на выдумку хитра, однако...
Re[12]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 30.12.10 09:19
Оценка:
TL>А что — программирование уже на такой уровень вышло?

судя по предлагаемым зарплатам, программирование находится на гораздо более высоком уровне
Re[13]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 30.12.10 09:21
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>Вау. Еще 5 лет КЫВТ и тут начнут хвастаться знанием таблицы умножения.


А кто ее помнит до сих пор кстати? Я вот периодически вывожу отдельные значения по формуле...
Голь на выдумку хитра, однако...
Re[12]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 30.12.10 09:30
Оценка:
Здравствуйте, Mystic, Вы писали:

ОК>>У тебя другая ситуация. Ты проверяешь установлены биты или нет. В приведенном же коде происходит сравнение double-ов.


M>Да, но представление числа все равно double по стандарту. Да и битовая операция по стандарту определена над типом double, не int. Просто когда мы работаем с double в пределах целочисленных значений и операций плюс, минус, умножить, то если исключить переполнение, то откуда возьмется погрешность?


M>
#include <stdio.h>

M>int main(int argc, char* argv[])
M>{
M>  for (double i=0; i != 5; ++i)
M>    printf("%.2f\n", i);
M>  return 0;
M>}
M>


Погрешность возьмется из того, что "машинное представление" значения скажем 5 может быть не равно его математическому значению. Машинное представление — это всегда приближение.

ЗЫ: только в приведенном примере речь еще и о том, что в машинных вычислениях операции над числами сильно разного порядка могут приводить к сильным погрешностям.

ОК>>Кстати, ты не с Паскаля начинал?


M>Нет, начинал с МК-52, потом MSX Basic + Turbo C 1.5, Atary Basic, Atary Assembler и только потом долгий период Pascal 5.5 — 7.0, Turbo Assembler, Delphi, ...


В методичках по калькуляторам, кстати, всегда _прямо_ рекомендовалось не сравнивать вещественные числа (а в ПМК МК-61/МК-52, напомню, _все_ числа — вещественные) _прямо_. т.е. проверять не "а — б is 0", а "а — б < е", где "е" — некоторое маленькое число, обеспечивающее данной задаче достаточную точность сравнения и решения "значения а и б — равны". Где-то так...
Голь на выдумку хитра, однако...
Re[14]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 30.12.10 10:31
Оценка:
Здравствуйте, Erop, Вы писали:

V>>Вау. Еще 5 лет КЫВТ и тут начнут хвастаться знанием таблицы умножения.

E>+100

E>При этом для типа bool Это же таки КЫВТ.


Насчет bool ты не прав: я как-то года 3-4 тому назад пытался вникнуть в "неформальную логику" и представление логических значений не только "да-нет" (точный термин вроде "многозначная логика") — тем интересная, хотя я тогда и не нашел практического применения. Но кто знает — может лет через 5 на собеседовании и правда будут спрашивать "таблицу умножения всех значений bool".

ЗЫ: кстати, а никого не спрашивали все правила формальной логики? Ну вроде "если а есть б, то б есть а".
Голь на выдумку хитра, однако...
Re[19]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 30.12.10 11:11
Оценка:
Здравствуйте, Erop, Вы писали:

E>Я не думаю, что если бы ты преодолел блок в голове, вызванный тем, что ты привык применять формулы, и не привык их придумывать, то ты бы и сам нашёл.


Егор, а можна так, в двух словах, безо всяких NDA, что именно выпускает твоя контора — какой именно софт "с придуманными с нуля формулами"?

E>Это и правда ОЧЕНЬ просто...


Ну и ждем результатов тестов твоих подчиненных на решение квадратного уравнения...
Голь на выдумку хитра, однако...
Re[10]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 30.12.10 11:28
Оценка:
Здравствуйте, мыщъх, Вы писали:

L>>Это проблемы негров, если честно.

М>молодой человек, на js сейчас пишутся большие объемы кода, вполне сопоставимые по си и работает этот код не только в браузерах. а пользователей этого кода уж точно не сильно меньше, чем пользователей кода, написанного на плюсах.

Кстати, лично я был бы _очень_ не против, если бы их вдруг стало бы поменьше. А то меня лично начинает жутко нервировать что у меня вот лично на домашнем компе самые ресурсоемкие — и память, и проц — задачи — это браузер с открытым окном на сегодняшний любого мало-мальски достойного быть открытым в окне браузера сайта.

М>не надо уводить разговор в сторону. для целочисленных типов мы смотрим макс. и мин. значения. для плавучки все гораздо сложнее. само название "плавучка" говорит за себя. тут уже приводили пример, что если суммировать массив отсортированных чисел, то результат мягко говоря может получится неожиданным. вполне может сложиться ситуация, когда a1+a2+ +an выдаст на выходе a1, поскольку _разница_ между a1 и a2 очень велика и потому a1 += a2 оказывается равно a1. и так далее... а вот если сложить в обратном порядке, то можно получить и 2*a1 и даже 10*a1. почувствуйте разницу. причем переполнения как раз тут и не происходит.


+1! Кстати, суммирование отсортированного массива вещественных — отличная задача на понимание того самого, о чем вообще речь в сабжевой задаче — и на _практическое_ применение.

М>блин, ну вот пример из жизни. масса солнечной системы. если сначала сложить массу всех планет, астероидов и всего космического мусора,а потому добавить массу солнца -- все будет ок. а вот к массе солнца чего не добавляй... она не изменится.


М>ладно, к черту солнце. известно, что масса бактерий больше массы животных и растений всех вместе взятых. а какова суммарная масса всего этого добра?! вот тут очень легко написать программу, возвращающую неверный результат. сначала нужно сортировать. и складывать подобное с подобным.


Я помнится когда подобными вычислениями занимался — суммированием "всего и вся" независимо от порядка отдельных значений — я использовал 2 сумматора, один для малых и один — для больших. Тогда ресурсы памяти были крайне скромными и о массивах никакой даже и речи не было.

Кстати, зато были алгоритмы сортировки больших массивов через устройство с ограниченным набором ячеек памяти.

М>какие юнит тесты это вам обнаружат?! если программу прогнать на суммировании массы ореха, арбуза и самолета A-380, то, возможно, она выдаст правильные данные. а если эти данные ввести в другом порядке...


По идее, кстати, должны бы обнаруживать: когда-то когда я был молодой я этими самыми вычислительными задачами занимался — так для проверки правильности построения мат. модели и правильности ее реализации в "числодробилке" таки применялся прогон "типовых задач" с известными или получаемыми "ручным рассчетом" результатами и проверкой соответствия.

ЗЫ: по идее на жаба-скрипте юнит-тестов уже полно — читал много об этом...

М>вопрос на засыпку. нужно суммировать N чисел типов T1, T2, T3... допустим, от порядка следования элементов меняется результат. сколько нам нужно проверить комбинаций, чтобы убедится, что программа работает правильно? тут даже со знанием плавучки можно мозги навернуть, т.к. возможно придется группировать числа, суммировать эти группы по раздельности и затем снова группировать полученные результаты.


Возможно придется. Для этого программеры занимаются своей работой — а именно, программированием (а там работы — ууууууууууууууу), а математики — своей, а именно математикой — и там работа тоже найдется. Это когда "компьютер" представлял из себя калькулятор с 17 ячейками памяти и сотней шагов программы — тогда в принципе можно было объединять роли программиста и математика, но и тогда была разница: например большую задачу разбить на подзадачи с последовательной загрузкой-обработкой их на имеющихся вычислительных мощностях с сохранением промежуточных результатов — это ли задача математика? А перегнать (большая приставка)-байты данных с адронного коллайдера, разместить их, представить в удобном для восприятия математиками виде, дать возможность какие-то операции уже математические-вычислительные производить над этими данными — это ли не задача программистов? В современном мире всем работа найдется — насколько я помню, индустриальная революция и началась именно с разделения труда и специализации ремесленника до промышленного рабочего-инженера-ученого. Не?

М>а вы думали что вычислить сумму a1, a2... an это просто? а вот фиг вам.
Голь на выдумку хитра, однако...
Re[13]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 30.12.10 13:29
Оценка:
Здравствуйте, The Lex, Вы писали:

TL>Погрешность возьмется из того, что "машинное представление" значения скажем 5 может быть не равно его математическому значению. Машинное представление — это всегда приближение.


Еще раз. По стандарту IEEE 754 достаточно большой интервал целых чисел может быть закодирован без потери точности. Числа от нуля до пяти входят в этот интервал, соответственно операции сложения, вычитания и умножения над такими числами не будут давать погрешности при условии, что результат вычислений ни в один моментов не выходит за пределы этого интервала. Да, конечно, если в начале цикла прибавлять 1.0/3.0, а в конце цикла еще 2.0/3.0, то в результате мы можем и не получить ровно 5. Но ведь все условия в данном цикле выполнены?

Конечно, возможно где-то существует очень странная архитектура, где число 5.0 непредставимо в плавучке. Возможно где-то разработчики компилятора из ненависити ко всем программистам целочисленную константу переводят в IEEE 754 формат с погрешностью. Возможно это даже допустимо по стандарту. Но речь не о подобного рода странностях.


M>>Нет, начинал с МК-52, потом MSX Basic + Turbo C 1.5, Atary Basic, Atary Assembler и только потом долгий период Pascal 5.5 — 7.0, Turbo Assembler, Delphi, ...


TL>В методичках по калькуляторам, кстати, всегда _прямо_ рекомендовалось не сравнивать вещественные числа (а в ПМК МК-61/МК-52, напомню, _все_ числа — вещественные) _прямо_. т.е. проверять не "а — б is 0", а "а — б < е", где "е" — некоторое маленькое число, обеспечивающее данной задаче достаточную точность сравнения и решения "значения а и б — равны". Где-то так...


Рекомендовалось исключительно по отношению к численным вычислениям. А так можно было вполне реализовывать целочисленные алгоритмы и сравнивать целые числа. Что часто использовалось в тех же играх на калькуляторе. Для того, чтобы сравнить уменьшить число жизней и сравнить с нулем, все писали П->x 0, 1, -, F x=0, XX, x->П 0... Реализовывать условие |x| < eps никакой памяти бы не хватило.
Re[20]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 31.12.10 00:50
Оценка: :)
Здравствуйте, The Lex, Вы писали:

TL>Егор, а можна так, в двух словах, безо всяких NDA, что именно выпускает твоя контора — какой именно софт "с придуманными с нуля формулами"?


Мы технологический лидер в одной из областей AI...
Конкретно группа, которой я руковожу, держит первое место в мире по одному из направлений...
Мировой опыт мы конечно изучаем и знаем, но, увы, спросить нам не у кого, мы впереди всех. Приходится таки с нуля придумывать. Вернее не с нуля, конечно, а как Ньютон, "стоя на плечах гигантов", но в конкретных задачах таки с нуля.

E>>Это и правда ОЧЕНЬ просто...

TL>Ну и ждем результатов тестов твоих подчиненных на решение квадратного уравнения...

Ну, собственно вопрос за спонсором. Что там со 100 евро решившему?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[22]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 31.12.10 00:53
Оценка:
Здравствуйте, dilmah, Вы писали:

D>не соглашусь.

D>Это простая, но весьма нетривиальная задача. И чтобы решить ее в первый раз (скажем, третьекласснику) самостоятельно нужно немало часов, а то и дней размышлений.

Ну третьекласник ещё не умеет думать над абстрактными, формально изложенными вопросами. Но он же учится потом много лет?
Я говорю о том, что люди имеют некоторый уровень математической культуры, который позволяет ЛЕГКО решать задачи такого уровня, как квадратное уравнение С НУЛЯ.

D>Другое дело, если речь идет о взрослом человеке, которому читали всякие математические лекции. Если он все равно не может решить такой элементарный этюд, который встречается в математике постоянно, то возникает вопрос, пропускал ли этот человек через свой мозг хотя бы толику читанных ему лекций, и не нулевая ли стоимость его образования.


Ну вот в том-то и дело, что есть такие вещи, которые невозможно забыть...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[24]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 31.12.10 00:55
Оценка: :)
Здравствуйте, The Lex, Вы писали:

E>>Я так физику учил Доучил до команды СССР по физике...


TL>То-то я смотрю у тебя мышление очень знакомо (мне лично ага — бывало тусовался в академических кругах ага) "нестандартное", и круг общения и представления об устройства мира сего тоже очень знакомо "от простого народу далеки"...


Связь академических кругов и команды СССР по физике не ясна. Может ты пояснишь как ТВОЁ МЫШЛЕНИЕ умудрилось связать эти вещи?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[9]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 31.12.10 00:59
Оценка: :)
Здравствуйте, The Lex, Вы писали:

TL>Великий математик детектед.


TL>Берешь формулу прямой в 3-х-мерном (н-мерном по вкусу) пространстве, берешь формулу плоскости (гиперплоскости по вкусу), складываешь все в систему уравнений и решаешь — это и будет точка пересечения. Если уравнение не решается — прямая параллельна плоскости.


Ну, так не интересно! То, что ты описал выше тривиально, и если ты почитал ветку дальше, то наверное заметил моё сообщение про метод Гауса?
Кстати, я умею задавать прямую и плоскомть, как линейные оболочки наборов векторов, например. Там формула будет другая...

В общем люди говорят уверенно о какой-то формуле, которую они якобы изучили в школе. Мне интересно СТО КОНКРТЕНО ЗА ФОРМУЛА имеется в виду.
А про пересечение линейных многообразий я и сам поумничать могу...

TL>А шо — за "перманентным _не_шаблонным мышлением" стандартные задачки таки _не_ решаемыми становятся? Или "решаемыми" настолько _не_ стандартно, что у "простого стандартного решателя" потом волосы на ... дыбом встают от таких "решений".


Да нет, просто дураки плохо понимают мысли... В том числе и мысли умных и мысли других дураков, ну любые в общем мысли...
Я доступно излагаю?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[22]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 31.12.10 01:03
Оценка:
Здравствуйте, Cyberax, Вы писали:

E>>Ну я, например, когда учился в пятом классе заботал двухтомник Фихтенгольца.

C>Фихтенгольца.

Да, наверное. Всю жизнь путаю буквы

E>>Конечно матан -- наука специфическая, но у Ф. ещё та, старая культура изложения в книжке присутствует. Приятно почитать, поразбираться...

C>Фихтенгольц — это супер-мега-учебник. Это единственный учебник по матану/диффурам, который можно читать "для удовольствия".

Не уверен, что единственный, но книжка очень хорошая. И двухтомник и трёх...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[14]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 31.12.10 09:10
Оценка:
Здравствуйте, Mystic, Вы писали:

TL>>Погрешность возьмется из того, что "машинное представление" значения скажем 5 может быть не равно его математическому значению. Машинное представление — это всегда приближение.


M>... Да, конечно, если в начале цикла прибавлять 1.0/3.0, а в конце цикла еще 2.0/3.0, то в результате мы можем и не получить ровно 5. Но ведь все условия в данном цикле выполнены?


Да, в данном цикле условия выполнены. Что еще раз говорит в пользу его абстрактности.

M>Конечно, возможно где-то существует очень странная архитектура, где число 5.0 непредставимо в плавучке. Возможно где-то разработчики компилятора из ненависити ко всем программистам целочисленную константу переводят в IEEE 754 формат с погрешностью. Возможно это даже допустимо по стандарту. Но речь не о подобного рода странностях.




M>>>Нет, начинал с МК-52, потом MSX Basic + Turbo C 1.5, Atary Basic, Atary Assembler и только потом долгий период Pascal 5.5 — 7.0, Turbo Assembler, Delphi, ...


TL>>В методичках по калькуляторам, кстати, всегда _прямо_ рекомендовалось не сравнивать вещественные числа (а в ПМК МК-61/МК-52, напомню, _все_ числа — вещественные) _прямо_. т.е. проверять не "а — б is 0", а "а — б < е", где "е" — некоторое маленькое число, обеспечивающее данной задаче достаточную точность сравнения и решения "значения а и б — равны". Где-то так...


M>Рекомендовалось исключительно по отношению к численным вычислениям. А так можно было вполне реализовывать целочисленные алгоритмы и сравнивать целые числа. Что часто использовалось в тех же играх на калькуляторе. Для того, чтобы сравнить уменьшить число жизней и сравнить с нулем, все писали П->x 0, 1, -, F x=0, XX, x->П 0... Реализовывать условие |x| < eps никакой памяти бы не хватило.


Согласен.
Голь на выдумку хитра, однако...
Re[21]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 31.12.10 09:12
Оценка:
Здравствуйте, Erop, Вы писали:

TL>>Егор, а можна так, в двух словах, безо всяких NDA, что именно выпускает твоя контора — какой именно софт "с придуманными с нуля формулами"?


E>Мы технологический лидер в одной из областей AI...

E>Конкретно группа, которой я руковожу, держит первое место в мире по одному из направлений...
E>Мировой опыт мы конечно изучаем и знаем, но, увы, спросить нам не у кого, мы впереди всех. Приходится таки с нуля придумывать. Вернее не с нуля, конечно, а как Ньютон, "стоя на плечах гигантов", но в конкретных задачах таки с нуля.

E>>>Это и правда ОЧЕНЬ просто...

TL>>Ну и ждем результатов тестов твоих подчиненных на решение квадратного уравнения...

E>Ну, собственно вопрос за спонсором. Что там со 100 евро решившему?


Технологическому мировому лидеру в области ИИ нужно внешнее спонсорство для проверки сотрудников на адекватность занимаемой должности.

Я тебе уже говорил что твоя реальность далека от реальности?
Голь на выдумку хитра, однако...
Re[10]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 31.12.10 09:20
Оценка:
Здравствуйте, Erop, Вы писали:

TL>>Великий математик детектед.


TL>>Берешь формулу прямой в 3-х-мерном (н-мерном по вкусу) пространстве, берешь формулу плоскости (гиперплоскости по вкусу), складываешь все в систему уравнений и решаешь — это и будет точка пересечения. Если уравнение не решается — прямая параллельна плоскости.


E>Ну, так не интересно! То, что ты описал выше тривиально, и если ты почитал ветку дальше, то наверное заметил моё сообщение про метод Гауса?

E>Кстати, я умею задавать прямую и плоскомть, как линейные оболочки наборов векторов, например. Там формула будет другая...

Почему ты тривиальные задачи — "гаечный ключ", ага — не решать таки тривиально? Я тебе уже говорил что твоя реальность сильно далека от реальности?

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

E>В общем люди говорят уверенно о какой-то формуле, которую они якобы изучили в школе. Мне интересно СТО КОНКРТЕНО ЗА ФОРМУЛА имеется в виду.

E>А про пересечение линейных многообразий я и сам поумничать могу...

Я тебе говорю что я достаточно много общался с "могучими победителями олимпиад — интеллигентами в 5-м колене — унылыми абстракционистами-теоретиками по жизни во всех без исключения ее аспектах" (к) Ты мне еще раз хочешь доказать, что раз ты "всего лишь" участвовал в олимпиаде по физике — ты не такой? У тебя плохо получается — пока что твои аргументы в данной конкретной с вашего позволения дискуссии говорят как раз обратное...

TL>>А шо — за "перманентным _не_шаблонным мышлением" стандартные задачки таки _не_ решаемыми становятся? Или "решаемыми" настолько _не_ стандартно, что у "простого стандартного решателя" потом волосы на ... дыбом встают от таких "решений".


E>Да нет, просто дураки плохо понимают мысли... В том числе и мысли умных и мысли других дураков, ну любые в общем мысли...

E>Я доступно излагаю?

Сам-то понял что сказать-то хотел?
Голь на выдумку хитра, однако...
Re[23]: # как манагеров достали те, кого достали манагеры
От: MescalitoPeyot Украина  
Дата: 31.12.10 09:50
Оценка: +1
Здравствуйте, Erop, Вы писали:

E>Ну вот в том-то и дело, что есть такие вещи, которые невозможно забыть...


К сожалению, все неиспользуемое имеет тенденцию забываться. Простой закон сохранения головы: сколько впихнул, столько и выпихнул. Когда я был студентом-физиком легко удерживал в голове несколькостраничные выкладки, но больше десятка строк кода тогда удержать-осознать было проблемой. Сейчас как раз наоборот.
З.Ы.: ловлю себя на том что таки не помню точно формулу корней квадратного уравнения и теорему Виета; хотя вывести за пару минут или просто уточнить на одном тестовом уравнении не проблема, но дайте мне такое на собеседовании в духе "решить за 30 секунд" и мы разойдемся уверенные во взаимном идиотизме.
... << RSDN@Home 1.2.0 alpha 4 rev. 1138>>
Re[21]: # как манагеров достали те, кого достали манагеры
От: denisko http://sdeniskos.blogspot.com/
Дата: 31.12.10 11:13
Оценка: :)))
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, The Lex, Вы писали:


TL>>Егор, а можна так, в двух словах, безо всяких NDA, что именно выпускает твоя контора — какой именно софт "с придуманными с нуля формулами"? :shuffle:


E>Мы технологический лидер в одной из областей AI... :xz:

E>Конкретно группа, которой я руковожу, держит первое место в мире по одному из направлений...
Кажется я начал понимать причины твой словесной ...хм... плодовитости. Прямой вопрос -- ты живой?
<Подпись удалена модератором>
Re[13]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 31.12.10 12:40
Оценка:
Здравствуйте, The Lex, Вы писали:

TL>Во-первых, мозгов для этого не надо — надо всего-то либо знать, когда именно и как именно применяется стандартная запчасть и не применять ее когда не знаешь или не знаешь как применять. А "свою вытачивать приходится" — это в основном от незнания стандартных и главное от _непринятия_ знания, что оные вообще существуют. Что существуют справочники, методички, что люди жили и до того и творили и использовали и что мозги у них не только были, но и были очень даже получше "очередное свое вытачивающего".


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

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

TL>И шо? Это как-то мешает каждому как минимум второму "привыкшему мыслить нестандартно" программеру старательно "изобретать свои нестандартные"?


Отсутствие необходимых знаний в сочетании с тем фактом, что необходимые знания лежат вне области компетентности программиста. Это все равно, как если бы программист, программирующий медицинский прибор, заодно взял на себя труд всякие там медицинские трубочки подобрать к этому прибору по своему усмотрению. Программировать их было бы, несомненно, удобно, но сложно было бы их в трахею засовывать

Pzz>>В третьих, 3DES/AES — это лишь маленький кусочек; криптостойкость будет определяться не выбором блочного шифра, а режимом использования. Ну и наконец, ломаемое каждым школьником шифрование от wifi состоит из вполне себе стандартных запчастей, но свичены они по-пионерски.


TL>Вот тебе тобой же лично приведенный яркий пример "нестандартного мышления по применению стандартных вещей" — не?


Это пример того, как народ взялся решать задачу вне области его компетентности. Умения осознавать границы своих знаний встречается удивительно редко.
Re[14]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 01.01.11 10:21
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Если бы все люди ограничивались применением стандартных запчастей, откуда бы новые стандартные запчасти появлялись?


И шо? Теперь каждый первый сантехник-строитель — творец? А они-то как раз обрати внимание каждый раз нечто действительно новое строят и в целом весьма уникальное. Но с применением стандартных запчастей, методик, рассчетов, и пр.

Да-да, я помню: программист не инженер, программист — художнег!

Pzz>На самом деле, есть области, где со стандартными запчастями все хорошо, и надо их и применять. Например, криптографика. А есть области, где стандартных запчастей нет, и приходится создавать свои. А еще есть типичная совершенно проблема, когда объем клея превышает объем склеенных им запчастей — тут тоже использование стандартных запчастей не рационально (чего многие не понимают).


Использование стандартных запчастей рационально везде. Здесь и ранее и далее я говорю именно о строительстве инженерии и т.п. "созданиях нужного нового на основании разработанного ранее путем компоновки и настройки". Наука — понятное дело, я даже спорить не буду.

Создание клея, в том числе и "превышающего объем склеенного" — тоже вполне себе апробированные методики. Хотя, конечно, постоянно кому-то очень хочется "сделать это по-новому" — не будем показывать пальцем на коня.

TL>>И шо? Это как-то мешает каждому как минимум второму "привыкшему мыслить нестандартно" программеру старательно "изобретать свои нестандартные"?


Pzz>Отсутствие необходимых знаний в сочетании с тем фактом, что необходимые знания лежат вне области компетентности программиста. Это все равно, как если бы программист, программирующий медицинский прибор, заодно взял на себя труд всякие там медицинские трубочки подобрать к этому прибору по своему усмотрению. Программировать их было бы, несомненно, удобно, но сложно было бы их в трахею засовывать


ыыы... Я много говорю — ты расстаскиваешь риторические вопросы на контекст.

Pzz>>>В третьих, 3DES/AES — это лишь маленький кусочек; криптостойкость будет определяться не выбором блочного шифра, а режимом использования. Ну и наконец, ломаемое каждым школьником шифрование от wifi состоит из вполне себе стандартных запчастей, но свичены они по-пионерски.


TL>>Вот тебе тобой же лично приведенный яркий пример "нестандартного мышления по применению стандартных вещей" — не?


Pzz>Это пример того, как народ взялся решать задачу вне области его компетентности. Умения осознавать границы своих знаний встречается удивительно редко.


Но делать это нестандартно (ну в виду отсутствия знаний о стандартном и непринятии осознания этого незнания) — это правильно! Правильно?
Голь на выдумку хитра, однако...
Re[7]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 01.01.11 10:28
Оценка:
Здравствуйте, The Lex, Вы писали:

TL>Здравствуйте, Pzz, Вы писали:


Pzz>>Мее кажется, такого рода тесты очень хорошо отличают людей типа "я 20 лет уже этим гаечным ключом гайки кручу, и ничего подобного мне никогда знать было не надо" от людей, которых любопытство заставляет заглядывать за пределы своего гаечного ключа.


TL>Невероятно задалбывают такие люди почему-то. Когда ты ему говоришь, что вместо изобретения велосипеда "за пределами своего гаечного ключа" лучше бы он занялся как раз именно "гаечным ключом" — ответ... не помню. Что-то вроде "но ведь это так классно — заглядывать за пределы своего гаечного ключа!" (к)


Это вещи ортогональные, а попытка присвоить идни качества за счет наличия других это демагогия.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[5]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 01.01.11 10:35
Оценка:
Здравствуйте, The Lex, Вы писали:

TL>Здравствуйте, Pzz, Вы писали:


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


TL>Те, кто работает с вычислительными задачами, осведомлены об этом еще со времен программируемых калькуляторов. В других сферах подобное знание особой ценности не имеет вообще — исключительно для тех, кто пишет числодробилки. Но они, как я уже и сказал, с детства об этом и так знают. Вменяемый человек под профессией "программер профессиональный" ознакамливается с подобными фокусами буквально за полчаса путем чтения методички, которая несомненно должна быть в конторе, которая а) занимается написанием числодробилок; б) хочет нанять себе "программиста профессионального обыкновенного".


Наблюдаю немного другую картину. Обычно контора которая пишет числодробилки совсем совсем не хочет нанимать "программиста профессионального обыкновенного".
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[8]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 01.01.11 10:40
Оценка: +1
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, The Lex, Вы писали:


TL>> То ты говоришь что нужны "решатели задач при всяких запутанных эффектах реально бывает" — то тебе "спец по обоим языкам сразу не нужен" — я ж не телепат что тебе нужно. Задачи, как ты правильно заметил, разные бывают — и если ты думаешь, что для решения нужен "спец по даблам", но не нужен "спец по двум языкам сразу" — ты несколько странно логически мыслишь, не?


E>Нужен не спец по даблам или по двум языкам, а спец с нестандартным мышлением...


Мне кажется ты что то путаешь ... Нужен специалист с "просто мышлением" и не каким то нестандартным. Потому как специалист с мышлением не только способен методичку прочитать и сделать как там написанно , но и понять почему методичка именно так написана , понимать сильные и слабые стороны.

А "спец с нестандартным мышлением" да таких большинство , как напишут код ... который потом читаешь ... и понимаешь какое там в голове все нестандартное.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[7]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 01.01.11 10:41
Оценка: 3 (1)
Здравствуйте, The Lex, Вы писали:

TL>Здравствуйте, Pzz, Вы писали:


Pzz>>Не совсем. Умение грамотно работать с плавучкой — особый род программерского искусства и я, например, им не владею. Но понимание, какие там могут таиться опасности, полезно для всех, потому что хоть иногда плавучку используют все (ну и чтобы не возникало искушения использовать плавучку там, где она не применима).


TL>Я умею грамотно работать с плавучкой. Я знаю, что плавучку достаточно стремно использовать, например, при подсчете денег. Думаешь это помогло мне убедить в этом "высших программеров" как минимум в 2-х проектах из моей практики?


Ну если твоими аргументами было "так дядя в методичке написал", то я могу понять почему ты их не убедил. (полушутка)
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[7]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 01.01.11 14:00
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, StandAlone, Вы писали:


C>>>Всё-таки представление чисел — это то, что программисты обязаны знать.


SA>>А RS-232 и формулу пересечения плоскости с прямой программисты обязаны знать?


Pzz>Они обязаны иметь представление о том и другом. Что до формулы пересечения плоскости с прямой, ее должен быть в состоянии вывести любой выпускник средней школы.


Наивные у вас представления о програмировании. Я сталкиваюсь с таки почти каждый день. Наверное угол между 2мя 3мерными векторами тоже можно вывести за пару минут ?
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[21]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 01.01.11 20:13
Оценка:
Здравствуйте, Erop, Вы писали:

TL>>Егор, а можна так, в двух словах, безо всяких NDA, что именно выпускает твоя контора — какой именно софт "с придуманными с нуля формулами"?

E>Мы технологический лидер в одной из областей AI...
E>Конкретно группа, которой я руковожу, держит первое место в мире по одному из направлений...
E>Мировой опыт мы конечно изучаем и знаем, но, увы, спросить нам не у кого, мы впереди всех. Приходится таки с нуля придумывать. Вернее не с нуля, конечно, а как Ньютон, "стоя на плечах гигантов", но в конкретных задачах таки с нуля.
Ну прально, у вас же больше науки, чем программирования, искусственный интеллект — это не какая-то техническая задача, как например корпоративный портал или антивирусный сканер, это область, требующая серьезнейшей научной базы. Конечно можно пробовать и без базы это делать, но пока с этой задачей в гараже без знаний вышки никто не справился, так что база наверное все-таки нужна. И вы с таким подразделением нердов сравниваете всех остальных)))
Re[22]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 01.01.11 20:26
Оценка:
Здравствуйте, dZentle_man, Вы писали:

Z_>... как например корпоративный портал или антивирусный сканер, это область, требующая серьезнейшей научной базы.


Ну вроде , для антивирусного сканера , квалификация тоже нужна неординарная...
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[23]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 01.01.11 21:29
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Здравствуйте, dZentle_man, Вы писали:


Z_>>... как например корпоративный портал или антивирусный сканер, это область, требующая серьезнейшей научной базы.

M>Ну вроде , для антивирусного сканера , квалификация тоже нужна неординарная...
Не настолько. Нужно хорошее знание системных недр, технологий и тенденций малварестроения. Математика тут тоже нужна, да, но кандидатскую для этого защищать не обязательно.
Re[24]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 01.01.11 21:34
Оценка:
Здравствуйте, dZentle_man, Вы писали:

Z_>Здравствуйте, minorlogic, Вы писали:


M>>Здравствуйте, dZentle_man, Вы писали:


Z_>>>... как например корпоративный портал или антивирусный сканер, это область, требующая серьезнейшей научной базы.

M>>Ну вроде , для антивирусного сканера , квалификация тоже нужна неординарная...
Z_>Не настолько. Нужно хорошее знание системных недр, технологий и тенденций малварестроения. Математика тут тоже нужна, да, но кандидатскую для этого защищать не обязательно.
как на счет мультипаттерг поиска? даже если просто тупо искать сигнатуры без всяких регулярных выражений в файлах формата com, это уже жопа. там столько математики...
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[25]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 01.01.11 21:44
Оценка:
Здравствуйте, мыщъх, Вы писали:



Z_>>>>... как например корпоративный портал или антивирусный сканер, это область, требующая серьезнейшей научной базы.

M>>>Ну вроде , для антивирусного сканера , квалификация тоже нужна неординарная...
Z_>>Не настолько. Нужно хорошее знание системных недр, технологий и тенденций малварестроения. Математика тут тоже нужна, да, но кандидатскую для этого защищать не обязательно.
М>как на счет мультипаттерг поиска? даже если просто тупо искать сигнатуры без всяких регулярных выражений в файлах формата com, это уже жопа. там столько математики...
Согласен, если поискать, то математики в антивирусной индустрии действительно много. Но основа, все равно на 70 процентов особой математики не требует, а вы сравните с искусственным интеллектом — там вы без математики шагу не ступите, потому что прежде чем что то сделать в AI вам нужно хорошенько понимать с научной точки зрения что вы делаете и к каким последствиям в отдаленной перспективе это может привести.
Re[8]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 01.01.11 21:49
Оценка:
Здравствуйте, minorlogic, Вы писали:

Pzz>>Они обязаны иметь представление о том и другом. Что до формулы пересечения плоскости с прямой, ее должен быть в состоянии вывести любой выпускник средней школы.

M>Наивные у вас представления о програмировании. Я сталкиваюсь с таки почти каждый день. Наверное угол между 2мя 3мерными векторами тоже можно вывести за пару минут ?
А почему нет, если помнить что такое "скалярное произведение"?
Sapienti sat!
Re[26]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 01.01.11 22:14
Оценка:
Здравствуйте, dZentle_man, Вы писали:

Z_>Здравствуйте, мыщъх, Вы писали:



Z_>Согласен, если поискать, то математики в антивирусной индустрии действительно много. Но основа, все равно на 70 процентов особой математики не требует,

загляните в исходные коды утилиты greep. она как раз и обеспечивает тривиальный мультипоиск. там достаточно сложная математика при всей незатейливости данной утилиты. это не ИИ, конечно, но и greep это не антивирус.

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

задача поиска sub_str в str до сих пор не решена математически с приемлимой сложностью. и математики над этим активно работают. по меньшей мере раз в квартал появляется новая научная статья на эту тему. а задача поиска массива sub_str в массиве str (поиск в куче файлов по сигнатурной базе) это вообще передовой край математики. реально отработанные алгоритмы пока справляются с поиском массива sub_str в одиночной str.

нечеткий поиск это ужос. я вот тут смотрю на алгоритмы распознавания ДНК и думаю как их адоптировать к поиску полиморфов. это 100% математика. системная составляющая 0%. алгоритмы, реализованные в существующих антивирусах, работают очень тормозно и машинная оптимизация тут не помощник. они математически тормозные и прорывов в этой области пока не ожидается.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[27]: # как манагеров достали те, кого достали манагеры
От: StandAlone  
Дата: 01.01.11 22:49
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>нечеткий поиск это ужос.


Бугага. Удивительно, как это я успешно занимался оптимизацией версии алгоритма Левенштайна-Фишера, не помня размерности мантисс и экспонент в IEEE-754?
Epic fail мега-методы тестирования.
Re[24]: # как манагеров достали те, кого достали манагеры
От: StandAlone  
Дата: 01.01.11 22:58
Оценка:
Здравствуйте, MescalitoPeyot, Вы писали:

MP>К сожалению, все неиспользуемое имеет тенденцию забываться. Простой закон сохранения головы: сколько впихнул, столько и выпихнул. Когда я был студентом-физиком легко удерживал в голове несколькостраничные выкладки, но больше десятка строк кода тогда удержать-осознать было проблемой. Сейчас как раз наоборот.

MP>З.Ы.: ловлю себя на том что таки не помню точно формулу корней квадратного уравнения и теорему Виета; хотя вывести за пару минут или просто уточнить на одном тестовом уравнении не проблема, но дайте мне такое на собеседовании в духе "решить за 30 секунд" и мы разойдемся уверенные во взаимном идиотизме.

+1.
Я тут одно время плотно допиливал одну задачу со сверткой через оптимизированное БПФ.
С головы формулы не напишу, но найду за минуту, и через пять восстановлю в памяти до деталей.
Знание одного принципа освобождает от запоминания тысячи мелочей(с)

P.S. А уж в универское время и формула Бернулли совершенно проблемой не была, и все константы мог назубок в пять утра после нескольких литров водки в предыдущий вечер...
Re[22]: # как манагеров достали те, кого достали манагеры
От: StandAlone  
Дата: 01.01.11 23:01
Оценка:
Здравствуйте, denisko, Вы писали:

E>>Мы технологический лидер в одной из областей AI...

E>>Конкретно группа, которой я руковожу, держит первое место в мире по одному из направлений...
D>Кажется я начал понимать причины твой словесной ...хм... плодовитости. Прямой вопрос -- ты живой?

Войт-Кампфом его!
Re[27]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 01.01.11 23:02
Оценка:
Здравствуйте, мыщъх, Вы писали:


Z_>>Согласен, если поискать, то математики в антивирусной индустрии действительно много. Но основа, все равно на 70 процентов особой математики не требует,

М>загляните в исходные коды утилиты greep. она как раз и обеспечивает тривиальный мультипоиск. там достаточно сложная математика при всей незатейливости данной утилиты. это не ИИ, конечно, но и greep это не антивирус.
Я не говорю что без математики ничем не хуже, чем с ней. Но многие задачи в программировании можно решить и без особой математики, и оно будет работать с примлемой производительностью. Когда у вас реализован поиск в каком-то работоспособном виде и встает вопрос о его производительности — тогда программист обращается к математике, но если вопрос такого не поднимается, то к чему преумножать сущности? Проблема на самом деле в том, как совместить отличного математика с отличным программистом — отличный математик много не напишет, отличный программист потратит врмени на изучение систем(ы) больше, чем на математику.

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

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

М>задача поиска sub_str в str до сих пор не решена математически с приемлимой сложностью. и математики над этим активно работают. по меньшей мере раз в квартал появляется новая научная статья на эту тему. а задача поиска массива sub_str в массиве str (поиск в куче файлов по сигнатурной базе) это вообще передовой край математики. реально отработанные алгоритмы пока справляются с поиском массива sub_str в одиночной str.

То есть вы тем самым признаете, что не все задачи, требующие оптимизации, имеют адекватное решение даже в математическом представлении. И в то же время компьютеры еще не зависли окончательно. То есть приходится искать обходные решения и как-то выкручиваться, в чем на 90 процентов и состоит работа программиста, не говоря уж о хакерах и борцах с ними.

М>нечеткий поиск это ужос. я вот тут смотрю на алгоритмы распознавания ДНК и думаю как их адоптировать к поиску полиморфов. это 100% математика. системная составляющая 0%. алгоритмы, реализованные в существующих антивирусах, работают очень тормозно и машинная оптимизация тут не помощник. они математически тормозные и прорывов в этой области пока не ожидается.

Это все конечно очень интересно и полезно, но все-таки это уже надстройка над основой. А основа — это знать и понимать что искать и как искать, а алгоритмизация — это уже проблемы разработки, которые были, есть и будут есть. Я вот тут признавался что разучился решать квадратные уравнения — так это все потому, что они мне пока что ни разу не были нужны, а понадобится математика — буду курить. Впрочем, в моем частном случае, я уже записал себе это в проекты второстепенной важности и буду время от времени заниматься.
Re[27]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 02.01.11 02:42
Оценка:
Здравствуйте, мыщъх, Вы писали:


М>нечеткий поиск это ужос.

Я думаю что в вашем конкретном случае нужно взять на работу нерда, шарящего в вышке, для оптимизации особо ответственных алгоритмов. Конечно он не сможет учесть всех вариаций поведения малвари, но хотя бы сможет сформулировать алгоритм математически, а вы докрутите чего надо при имплементации. Да и всегда будет у кого проконсультироваться за математику.
Re[28]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 02.01.11 02:59
Оценка:
Здравствуйте, dZentle_man, Вы писали:

Z_>Здравствуйте, мыщъх, Вы писали:



М>>нечеткий поиск это ужос.

Z_>Я думаю что в вашем конкретном случае нужно взять на работу нерда, шарящего в вышке, для оптимизации особо ответственных алгоритмов. Конечно он не сможет учесть всех вариаций поведения малвари, но хотя бы сможет сформулировать алгоритм математически, а вы докрутите чего надо при имплементации. Да и всегда будет у кого проконсультироваться за математику.

извините за грубость, но вы [.......]. подписка на научные журналы обойдется дешевле, а просматривать статьи на эту тему и я могу в свободное от основной работы время. или вы думаете, что ваш нерд решит задачу, над которой бьются все институты мира?

кстати, все уже имплементировано за нас. в том числе и поиск цепочек днк с учетом пермутаций.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[29]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 02.01.11 03:12
Оценка:
Здравствуйте, мыщъх, Вы писали:


М>>>нечеткий поиск это ужос.

Z_>>Я думаю что в вашем конкретном случае нужно взять на работу нерда, шарящего в вышке, для оптимизации особо ответственных алгоритмов. Конечно он не сможет учесть всех вариаций поведения малвари, но хотя бы сможет сформулировать алгоритм математически, а вы докрутите чего надо при имплементации. Да и всегда будет у кого проконсультироваться за математику.
М>извините за грубость, но вы [.......].
ну-ну.


М>подписка на научные журналы обойдется дешевле, а просматривать статьи на эту тему и я могу в свободное от основной работы время.

Ну раз уж у вас на все есть свободное время... То я ничего не имею против. А насчет дешевле/дороже — ну делайте вы все в одно лицо, сильно дешевле будет, а вам за это даже оклад себе можно попухлее вытребовать.


М>или вы думаете, что ваш нерд решит задачу, над которой бьются все институты мира?

Я думаю что нерд, нормальный, толковый нерд, который действительно разбирался и вникал в математику и хорошо ее помнит, решил бы часть проблем совершенно точно, но не ту, над которой бьются все институты мира. Но я никому ничего не навязываю.


М>кстати, все уже имплементировано за нас. в том числе и поиск цепочек днк с учетом пермутаций.

Ну раз мальчика и не было...
Re[27]: Передовой край?
От: ettcat США  
Дата: 02.01.11 07:25
Оценка:
Что-то немного не понял.

> задача поиска sub_str в str до сих пор не решена математически с приемлимой сложностью. и математики над этим активно работают. по меньшей мере раз в квартал появляется новая научная статья на эту тему.

Алгоритм Кнута-Морриса-Пратта (http://goo.gl/pcEFg), алгоритм
Боера-Мура (http://goo.gl/ZhSSS), если верить википедии, были известны
еще в 1977 году. Можете ткнуть на новые статью по этой проблеме?

> реально отработанные алгоритмы пока справляются с поиском массива sub_str в одиночной str.

Поиск кучи подстрок в строке — алгоритм Ахо-Корасик
(http://goo.gl/VIeUL), 1975 год.

--
Dmitry V Semyonov | http://deemon.moikrug.ru |
http://ru.linkedin.com/in/deemon
Posted via RSDN NNTP Server 2.1 beta
Re[9]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 02.01.11 09:21
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, minorlogic, Вы писали:


Pzz>>>Они обязаны иметь представление о том и другом. Что до формулы пересечения плоскости с прямой, ее должен быть в состоянии вывести любой выпускник средней школы.

M>>Наивные у вас представления о програмировании. Я сталкиваюсь с таки почти каждый день. Наверное угол между 2мя 3мерными векторами тоже можно вывести за пару минут ?
C>А почему нет, если помнить что такое "скалярное произведение"?

попробуйте...
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[26]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 02.01.11 09:28
Оценка:
Здравствуйте, dZentle_man, Вы писали:


Z_>Согласен, если поискать, то математики в антивирусной индустрии действительно много. Но основа, все равно на 70 процентов особой математики не требует, а вы сравните с искусственным интеллектом — там вы без математики шагу не ступите, потому что прежде чем что то сделать в AI вам нужно хорошенько понимать с научной точки зрения что вы делаете и к каким последствиям в отдаленной перспективе это может привести.


Что именно вы называете ИИ ? если это шахматы , там мало математики. Если это копьютерное зрание , то математики тоже не фонтан. Анализ текстов ? ...
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[28]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 02.01.11 09:33
Оценка:
Здравствуйте, dZentle_man, Вы писали:

Z_>Здравствуйте, мыщъх, Вы писали:



М>>нечеткий поиск это ужос.

Z_>Я думаю что в вашем конкретном случае нужно взять на работу нерда, шарящего в вышке, для оптимизации особо ответственных алгоритмов. Конечно он не сможет учесть всех вариаций поведения малвари, но хотя бы сможет сформулировать алгоритм математически, а вы докрутите чего надо при имплементации. Да и всегда будет у кого проконсультироваться за математику.

Вы случаем вышку и computer scienсe не путаете? Алгоритмы это совсем не высшая математика, это довольно отдельный класс задач.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[10]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 02.01.11 13:03
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>>>Наивные у вас представления о програмировании. Я сталкиваюсь с таки почти каждый день. Наверное угол между 2мя 3мерными векторами тоже можно вывести за пару минут ?

C>>А почему нет, если помнить что такое "скалярное произведение"?
M> попробуйте...
alpha = arccos( a*b / (|a|*|b|) ). Где a*b — скалярное произведение.

По координатам:
alpha = arccos( (a.x*b.x+a.y*b.y+a.z*b.z) / sqrt((a.x^2+a.y^2+a.z^2)*(b.x^2+b.y^2+b.z^2)) )
Sapienti sat!
Re[11]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 02.01.11 14:37
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, minorlogic, Вы писали:


M>>>>Наивные у вас представления о програмировании. Я сталкиваюсь с таки почти каждый день. Наверное угол между 2мя 3мерными векторами тоже можно вывести за пару минут ?

C>>>А почему нет, если помнить что такое "скалярное произведение"?
M>> попробуйте...
C>alpha = arccos( a*b / (|a|*|b|) ). Где a*b — скалярное произведение.

C>По координатам:

C>alpha = arccos( (a.x*b.x+a.y*b.y+a.z*b.z) / sqrt((a.x^2+a.y^2+a.z^2)*(b.x^2+b.y^2+b.z^2)) )

Я примерно об этом и говорил. Это и называется наивные представления. Особенно когда речь заходит о различных алгоритмах пересечения , растояниях между геометрическими примитивами и т.п.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[11]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 02.01.11 14:47
Оценка:
Здравствуйте, Cyberax, Вы писали:

Не пытаюсь сказать что то про уровеньо програмирования по этому отрывку. Все же очень специфическая область.

Но как пример, мои знакомые програмисты обращаются ко мне с просьбой найти ошибку в пересечении фрустума и ориентированного парралелепипеда. Разбираясь в проблеме , выясняю , что они пытаются реализовать функционал с нуля. Причем оказалось , что они попробовали готовые решения и решения "не работали".

Именно это я называю наивным подходом. Предполагать что на коленке собранный алгоритм будет качественнее или сравним с решениями опубликованными на sigggraph например. Ведь разработать такой алгоритм с хорошей предсказуемой точностью, с разумной обработкой краевых случаев и т.п. это не на 2 дня работы.

Как раз классическим случаем является угол между векторами , более сложные случаи это конвертирование в углы Эйлера и т.п.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[28]: Передовой край?
От: мыщъх США http://nezumi-lab.org
Дата: 02.01.11 18:17
Оценка:
Здравствуйте, ettcat, Вы писали:

E> Что-то немного не понял.


>> задача поиска sub_str в str до сих пор не решена математически с приемлимой сложностью. и математики над этим активно работают. по меньшей мере раз в квартал появляется новая научная статья на эту тему.

E> Алгоритм Кнута-Морриса-Пратта (http://goo.gl/pcEFg), алгоритм
E>Боера-Мура (http://goo.gl/ZhSSS), если верить википедии, были известны
E>еще в 1977 году. Можете ткнуть на новые статью по этой проблеме?
multiple pattern search в гугле. выдаст много интересного с первых же ссылок.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[27]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 02.01.11 18:19
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Здравствуйте, dZentle_man, Вы писали:



Z_>>Согласен, если поискать, то математики в антивирусной индустрии действительно много. Но основа, все равно на 70 процентов особой математики не требует, а вы сравните с искусственным интеллектом — там вы без математики шагу не ступите, потому что прежде чем что то сделать в AI вам нужно хорошенько понимать с научной точки зрения что вы делаете и к каким последствиям в отдаленной перспективе это может привести.

M>Что именно вы называете ИИ ? если это шахматы , там мало математики. Если это копьютерное зрание , то математики тоже не фонтан. Анализ текстов ? ...
В общем виде я подразумеваю под этим искусственный интеллект, сравнимый с человеческим, скайнет. Я конечно ни разу не специалист по ИИ, но мне кажется все зависит от того, насколько вкладываться в задачу — будь то шахматы или компьютерное зрение — можно набросать условный прототип, который будет условным интеллектом, а можно идти вширь и вглубь, учитывая все больше и больше нюансов и закономерностей.
Re[24]: # как манагеров достали те, кого достали манагеры
От: COFF  
Дата: 02.01.11 19:07
Оценка:
Здравствуйте, MescalitoPeyot, Вы писали:

MP>З.Ы.: ловлю себя на том что таки не помню точно формулу корней квадратного уравнения и теорему Виета; хотя вывести за пару минут или просто уточнить на одном тестовом уравнении не проблема, но дайте мне такое на собеседовании в духе "решить за 30 секунд" и мы разойдемся уверенные во взаимном идиотизме.


Согласен, формулу корней квадратного уравнения забыл напрочь. Помню, что-то насчет выделения полного квадрата, но за пять минут как это сделать не сообразил. Когда здесь прочитал, то все оказалось действительно банально и на ближайшие лет пять я это помнить буду. Потом опять забуду :) Может быть на собеседовании, если мотивация будет зашкаливать — то и за тридцать секунд соображу, но в спокойной обстановке вот затруднился. Вообще, с нуля квадратное уравнение несколько веков решали ))
Re[29]: Передовой край?
От: ettcat США  
Дата: 03.01.11 04:36
Оценка:
>>> задача поиска sub_str в str до сих пор не решена математически с приемлимой сложностью. и математики над этим активно работают. по меньшей мере раз в квартал появляется новая научная статья на эту тему.
E>> Алгоритм Кнута-Морриса-Пратта (http://goo.gl/pcEFg), алгоритм Боера-Мура (http://goo.gl/ZhSSS), если верить википедии, были известны еще в 1977 году. Можете ткнуть на новые статью по этой проблеме?
М>multiple pattern search в гугле. выдаст много интересного с первых же ссылок.

Все же поиск множества шаблонов в строке отличается от поиска подстроки в строке. Сомневаюсь, что до сих пор публикуются статии на тему поиска sub_str в str.
Что не мешает исследователям в области биоинформатики печатать статьи на тему как эффективнее решать частные случаи задачи поиска шаблонов в последовательностях.
Re[30]: Передовой край?
От: minorlogic Украина  
Дата: 03.01.11 09:12
Оценка:
Здравствуйте, ettcat, Вы писали:

E>Все же поиск множества шаблонов в строке отличается от поиска подстроки в строке. Сомневаюсь, что до сих пор публикуются статии на тему поиска sub_str в str.


Не поверите , даже inplace merge отсортированных подмассивов до сих пор пытаются оешить и регулярно выходят новые статьи.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[8]: # как манагеров достали те, кого достали манагеры
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 03.01.11 12:52
Оценка:
Здравствуйте, MescalitoPeyot, Вы писали:

MP>(А вообще Кочетков сам виноват: он Оперу не любит вот она ему и мстит).


Если бы код мог мстить за нелюбовь к нему, то линукс бы меня уже давно уничтожил

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[9]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 03.01.11 13:34
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Здравствуйте, MescalitoPeyot, Вы писали:


MP>>(А вообще Кочетков сам виноват: он Оперу не любит вот она ему и мстит).

KV>Если бы код мог мстить за нелюбовь к нему, то линукс бы меня уже давно уничтожил
Есть вещи пострашнее смерти
Re[12]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 03.01.11 13:54
Оценка:
Здравствуйте, minorlogic, Вы писали:

C>>По координатам:

C>>alpha = arccos( (a.x*b.x+a.y*b.y+a.z*b.z) / sqrt((a.x^2+a.y^2+a.z^2)*(b.x^2+b.y^2+b.z^2)) )
M>Я примерно об этом и говорил. Это и называется наивные представления. Особенно когда речь заходит о различных алгоритмах пересечения , растояниях между геометрическими примитивами и т.п.
Ты же просил формулу — я её привёл. Собственно, для нормированных векторов лучше арккосинуса скалярного произведения и в SIGGRAPH ничего нет.

Ну и часто бывает достаточно использовать просто косинус, скажем для рассчёта освещения.
Sapienti sat!
Re[30]: Передовой край?
От: мыщъх США http://nezumi-lab.org
Дата: 03.01.11 14:09
Оценка:
Здравствуйте, ettcat, Вы писали:

>>>> задача поиска sub_str в str до сих пор не решена математически с приемлимой сложностью. и математики над этим активно работают. по меньшей мере раз в квартал появляется новая научная статья на эту тему.

E>>> Алгоритм Кнута-Морриса-Пратта (http://goo.gl/pcEFg), алгоритм Боера-Мура (http://goo.gl/ZhSSS), если верить википедии, были известны еще в 1977 году. Можете ткнуть на новые статью по этой проблеме?
М>>multiple pattern search в гугле. выдаст много интересного с первых же ссылок.

E>Все же поиск множества шаблонов в строке отличается от поиска подстроки в строке.

я же просил вас погуглить... не самый быстрый single pattern поиск на небольших кол-вах шаблонов рвет самые быстрые multiple pattern поиски. в практических реализациях зачастую первый токен ищется мулитипоиском, а остальные доискиваются уже single.

другое усиление мультипоиска — у нас есть регулярное выражение sub_str_reg, нужно найти его в str. бьем sub_str_reg на токены, представляющие собой непрерывные последовательности. ищем их в str. если все токены найдены в пределах заранее заданных дистанций, тогда (и только тогда) выполняем поиск регулярного выражения. и тут мы встречаем такую проблему — а что делать, если набор наших токенов очень популярен и встречается практическски в каждой str? например, нам нужно найти в http заголовке "user-agent:" типа my_name заданной версии. заданные токены будут встречаться практически в каждом http запросе и на каждый запрос придется выполнять тяжеловесный поиск по регулярным выражениям. следовательно, тут необходима даленейшая оптимизация.

E> Сомневаюсь, что до сих пор публикуются статии на тему поиска sub_str в str.

публикуются еще и как. конечно, это не принципиально новые алгоритмы, а комбинации уже известных и работа идет над оптимизацией под частные случаи. если нам что-то известно о внутренней структуре str (допустим, это html текст или код для x86), то мы можем существенно ускорить поиск. ну вот грубо, если нам нужно найти некую фразу на русском тексте. а что такое русский текст? это не просто поток случайных символов, это структурированные данные. и тут встает вопрос — как заложить эту структуру в алгоритм поиска?

E>Что не мешает исследователям в области биоинформатики печатать статьи

E>на тему как эффективнее решать частные случаи задачи поиска шаблонов в последовательностях.
так о частных решениях и идет речь. и статьи выходят регулярно. к сожалению, далеко не все издания представлены в иннете и еще меньше из них раздают на халяву. и чтобы скачать полный текст статьи приходится платить денежку.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[13]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 03.01.11 15:16
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, minorlogic, Вы писали:


C>>>По координатам:

C>>>alpha = arccos( (a.x*b.x+a.y*b.y+a.z*b.z) / sqrt((a.x^2+a.y^2+a.z^2)*(b.x^2+b.y^2+b.z^2)) )
M>>Я примерно об этом и говорил. Это и называется наивные представления. Особенно когда речь заходит о различных алгоритмах пересечения , растояниях между геометрическими примитивами и т.п.
C>Ты же просил формулу — я её привёл. Собственно, для нормированных векторов лучше арккосинуса скалярного произведения и в SIGGRAPH ничего нет.

Собственно ты ошибаешься, как я и говорил ранее, это наивный подход к вычислению угла. Если ты не занимаешься 3д вплотную , тогда откуда странные формулировки "для нормированных векторов лучше арккосинуса скалярного произведения и в SIGGRAPH ничего нет". Если занимаешься 3д, тогда обрати внимание что такой расчет угла источник ошибок в программе.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[14]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 03.01.11 17:29
Оценка:
Здравствуйте, minorlogic, Вы писали:

C>>Ты же просил формулу — я её привёл. Собственно, для нормированных векторов лучше арккосинуса скалярного произведения и в SIGGRAPH ничего нет.

M>Собственно ты ошибаешься, как я и говорил ранее, это наивный подход к вычислению угла. Если ты не занимаешься 3д вплотную , тогда откуда странные формулировки "для нормированных векторов лучше арккосинуса скалярного произведения и в SIGGRAPH ничего нет". Если занимаешься 3д, тогда обрати внимание что такой расчет угла источник ошибок в программе.
Ты лучше давай ссылки, так как именно стандартный способ используется везде, где я только видел. В том числе в шейдерах на видеокартах и в железе на них же.
Sapienti sat!
Re[15]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 03.01.11 17:46
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Ты лучше давай ссылки, так как именно стандартный способ используется везде, где я только видел. В том числе в шейдерах на видеокартах и в железе на них же.


Какой "стандартный способ" ? если ты про тот что сам описал , то конечно он весьма распространен. Я же говорил , что это очень распространенная ошибка. Вбив в поисковике "angle between vectors" скорее всего получишь 95% ссылок на арккосинус векторного произведения.

Я бы не стал оценивать метод по к-ву использующих его людей. Кстати говоря это замечательный тестовый вопрос , попытаться найти недостатки метода и предложить альтернативы. Намного лучше чем оригинальный вопрос гугловского HR.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 03.01.11 17:50
Оценка:
Вот чисто прикладной вопрос, достаточно четкий, простой и совсем не надуманный.

Некто решил найти угол между векторами используя примерно такую формулу

//-------------------------------------------------------------------------------
alpha = arccos( a*b / (|a|*|b|) ). Где a*b — скалярное произведение.
По координатам:
alpha = arccos( (a.x*b.x+a.y*b.y+a.z*b.z) / sqrt((a.x^2+a.y^2+a.z^2)*(b.x^2+b.y^2+b.z^2)) )
//-------------------------------------------------------------------------------

Задача, найти недостатки в этом методе, предложить лучшие альтернативные решения. Задание проверяет , как кандидат ориентируется в математике + плавающей арифметике.
примерно на 10 минут размышлений, или на 1 час тестирования и анализа с компилятором.

P.S. я бы наверное не решил , не зная ответа
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 03.01.11 18:03
Оценка:
M>Задача, найти недостатки в этом методе, предложить лучшие альтернативные решения. Задание проверяет , как кандидат ориентируется в математике + плавающей арифметике.

первый недостаток на поверхности -- его не нужно применять к векторам с нормой сильно отличающейся от 1.
То есть если сперва, скажем, поделить на максимальную координату, то потом имхо можно применять и эту формулу.
Re[3]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 03.01.11 18:10
Оценка:
Здравствуйте, dilmah, Вы писали:

M>>Задача, найти недостатки в этом методе, предложить лучшие альтернативные решения. Задание проверяет , как кандидат ориентируется в математике + плавающей арифметике.


D>первый недостаток на поверхности -- его не нужно применять к векторам с нормой сильно отличающейся от 1.

D>То есть если сперва, скажем, поделить на максимальную координату, то потом имхо можно применять и эту формулу.

Я если честно не понял почему.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: # как манагеров достали те, кого достали манагеры
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 03.01.11 19:07
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Задача, найти недостатки в этом методе, предложить лучшие альтернативные решения. Задание проверяет , как кандидат ориентируется в математике + плавающей арифметике.

M>примерно на 10 минут размышлений, или на 1 час тестирования и анализа с компилятором.

Ну, вспоминая вычислительную математику, деление на число близкое у нулю — очень неустойчивая операция. Но это частный случай. Что-то ещё?
Re[3]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 03.01.11 19:16
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Ну, вспоминая вычислительную математику, деление на число близкое у нулю — очень неустойчивая операция. Но это частный случай. Что-то ещё?


Это наверное частный случай когда вектора имеют нулевую длину или подходят к пределу точности. Я бы в таком случае лучше данные ограничил.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[16]: # как манагеров достали те, кого достали манагеры
От: Cyberax Марс  
Дата: 03.01.11 22:08
Оценка:
Здравствуйте, minorlogic, Вы писали:

C>>Ты лучше давай ссылки, так как именно стандартный способ используется везде, где я только видел. В том числе в шейдерах на видеокартах и в железе на них же.

M>Какой "стандартный способ" ? если ты про тот что сам описал , то конечно он весьма распространен. Я же говорил , что это очень распространенная ошибка. Вбив в поисковике "angle between vectors" скорее всего получишь 95% ссылок на арккосинус векторного произведения.
Недостаток очевиден — обратная тригонометрия.

M>Я бы не стал оценивать метод по к-ву использующих его людей. Кстати говоря это замечательный тестовый вопрос , попытаться найти недостатки метода и предложить альтернативы. Намного лучше чем оригинальный вопрос гугловского HR.

Честно говоря, я не помню, где мне нужен был бы в высокопроизводительном коде точный угол. Почти везде достаточно косинуса или синуса.
Sapienti sat!
Re[16]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 03.01.11 22:15
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Здравствуйте, Cyberax, Вы писали:


M>Я бы не стал оценивать метод по к-ву использующих его людей. Кстати говоря это замечательный тестовый вопрос , попытаться найти недостатки метода и предложить альтернативы. Намного лучше чем оригинальный вопрос гугловского HR.

гугловский вопрос так же предполагает предложение альтернативы, поскольку ответом будет "что код делает в общих чертах понятно, но все это криво, неустойчиво и на фиг не нужно". после чего кандидата попросят пример некривого кода.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[11]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 04.01.11 00:37
Оценка:
ОК>>Конкретно в этом примере, ты можешь передать при вызове и double-ы и структуры и вообще любое количество любых аргументов. И компилятор все схавает. О чем тебе и говорят. Короче, в чем смысл этого твоего ответа?
М>бррр... давайте так. в классическом си допустимо объявить функцию как foo(); и потом пихат туда сколько угодно аргументов.

Ты используешь классический Си в 2011-ом году? Сильно однако!

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


К чему это умничание? Ты уже который пост повторяешь "умными" словами то что тебе было сказано кучу постов назад.

М>но это же не динамическая типизация, верно? и потому если заслать пару структур по значению, а дочерняя функция ожидает два инта, то фигня получится... но по крайней мере на выходе из функции стек будет восстановлен.


Ну наконец-то родил! Здесь
Автор: Олег К.
Дата: 27.12.10
тебе как бы намекнули почему надо забыть о старом стиле объявления и определения функций. И опять, к чему это умничание? Непременно надо было упомянут динамическую типизацию?

М>кстати, однажды я видел программу, где объявления функции одно типа foo(int *a, int *b), а реально подключается один из двух модулей. в первом foo(int a, int b){}, во втором foo(long int a, long int b){}. вот такие были извраты для хитрого преобразрвания указателя в [long] int и дальнейших махинаций с ним.


К чему это было? Я тоже много чего могу рассказать. Расцениваю как попытку увести разговор в сторону.

М>но я вообще потрял нить разговора...


Скажу больше. Ты умышленно запутываешь разговор и уходишь в сторону когда тебе нечем крыть. В этом тебя уже обвиняли другие RSDNовцы.
Re[12]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 04.01.11 00:52
Оценка:
ОК>>Как часто у тебя встречалась такая ситуация на практике?
D>а вот, в конечном итоге, за что ты ратуешь?

Это я должен тебя спросить. За что ты ратуешь?

D>Как я понимаю, ты считаешь, что программисту/кодеру достаточно очень низкую планку поставить по всему этому.


Как я понимаю, ты предлагаешь программистам запоминать форматы чисел с плавающей точкой, заголовки экзешников, tcp, ip и прочих протоколов? To name a few.

D>То есть рутинные задачи уровня ПТУ, методичка при поступлении на работу, зарплата как у среднего рабочего.


Глупость какая-то. Если ты все будешь запоминать, то у тебя жизни не хватит. Достаточно иметь представление и знать что есть такие-то и такие вещи. А как появится конкретная задача, то и работать над ней.

D>А кто будет писать стандарты, RFC, разрабатывать компиляторы? Какие-то другие люди, более высшего сорта?


Те люди, которые знают что есть такие-то и такие вещи и могут обратиться к нужной литературе для решения конкретной задачи.
Re[12]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 04.01.11 01:18
Оценка:
ОК>>У тебя другая ситуация. Ты проверяешь установлены биты или нет. В приведенном же коде происходит сравнение double-ов.
M>Да, но представление числа все равно double по стандарту.
Не спорю.

M>Да и битовая операция по стандарту определена над типом double, не int.

Ну что значит "битовая операция определена над типом double?" Я не знаток ДжаваСкрипта, но замечу что битовые операции работают над такими низкоуровневыми понятиями как байты, слова, двойные слова и т.д. double же это более высокоуровневый data type. Математически, что значит применить битовую операцию к даблу и какой тип будет у результата?

Скорее всего там, несмотря на то что числа хранятся в даблах, число тупо приводится к инту и затем применяется побитовая операция. Результат тоже будет интом. Ну и в твоем случае, это скорее всего идиоматическая конструкция о которой знают разработчики ДжаваСкрипта и нет там никаких сравнений чисел с плавающей точкой.

M>Просто когда мы работаем с double в пределах целочисленных значений и операций плюс, минус, умножить, то если исключить переполнение, то откуда возьмется погрешность?


M>
#include <stdio.h>

M>int main(int argc, char* argv[])
M>{
M>  for (double i=0; i != 5; ++i)
M>    printf("%.2f\n", i);
M>  return 0;
M>}
M>


Ты не понял. Если числа захардкоданы, то, скорее всего, ничего не будет. Но вот если числа приходят откуда-то (atof() например), то тут уже на грани фола. Да и потом, забудь про даблы. Даже в случае интов, считаю что более хороший стиль — записать условие через "меньше" чем через "не равно."
Re[12]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 04.01.11 01:56
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>>>Конкретно в этом примере, ты можешь передать при вызове и double-ы и структуры и вообще любое количество любых аргументов. И компилятор все схавает. О чем тебе и говорят. Короче, в чем смысл этого твоего ответа?

М>>бррр... давайте так. в классическом си допустимо объявить функцию как foo(); и потом пихат туда сколько угодно аргументов.

ОК>Ты используешь классический Си в 2011-ом году? Сильно однако!

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

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

ОК>К чему это умничание? Ты уже который пост повторяешь "умными" словами то что тебе было сказано кучу постов назад.

да ладно, ничего я не умничаю. выражаюсь как могу.

М>>но я вообще потрял нить разговора...

ОК>Скажу больше. Ты умышленно запутываешь разговор и уходишь в сторону когда тебе нечем крыть. В этом тебя уже обвиняли другие RSDNовцы.
слушайте, я не бык, а вы не корова. не буду я вас крыть.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[13]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 04.01.11 10:40
Оценка:
Здравствуйте, Олег К., Вы писали:

M>>Да и битовая операция по стандарту определена над типом double, не int.

ОК>Ну что значит "битовая операция определена над типом double?" Я не знаток ДжаваСкрипта, но замечу что битовые операции работают над такими низкоуровневыми понятиями как байты, слова, двойные слова и т.д. double же это более высокоуровневый data type. Математически, что значит применить битовую операцию к даблу и какой тип будет у результата?

Описано в стандарте. Фактически, функция or(double, double) возвращает double. Работает так: отбрасывается дробная часть, выполняется or, число переводится в double. Таким образом работает ожидаемо целых чисел, представимых в double без потери точности.

ОК>Ты не понял. Если числа захардкоданы, то, скорее всего, ничего не будет. Но вот если числа приходят откуда-то (atof() например), то тут уже на грани фола. Да и потом, забудь про даблы. Даже в случае интов, считаю что более хороший стиль — записать условие через "меньше" чем через "не равно."


Цикл это просто иллюстрация, когда такое сравнение выполняется много раз. Есть случаи, когда необходимо именно равно/не равно. Ну а так я как хорошо понимаю. Если у нас инкремент выполняется в два этапа (i += 1.0 / 3.0 и i += 2.0 / 3.0), то конструкция != не допустима (баг). А если у нас гарантировано целые числа, то почему нет? Тогда вместо atof() надо писать (double)atoi(). Если есть такая гарантия, то почему не использовать это свойство операций с плавающей точкой в формате IEEE?
Re[22]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 05.01.11 10:41
Оценка:
Здравствуйте, dZentle_man, Вы писали:

Z_>Ну прально, у вас же больше науки, чем программирования, искусственный интеллект — это не какая-то техническая задача, как например корпоративный портал или антивирусный сканер, это область, требующая серьезнейшей научной базы. Конечно можно пробовать и без базы это делать, но пока с этой задачей в гараже без знаний вышки никто не справился, так что база наверное все-таки нужна. И вы с таким подразделением нердов сравниваете всех остальных)))


Я? Я просто сказал, что все мои подчинённые решат эту задачку...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[9]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 05.01.11 10:52
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Мне кажется ты что то путаешь ... Нужен специалист с "просто мышлением" и не каким то нестандартным. Потому как специалист с мышлением не только способен методичку прочитать и сделать как там написанно , но и понять почему методичка именно так написана , понимать сильные и слабые стороны.


M>А "спец с нестандартным мышлением" да таких большинство , как напишут код ... который потом читаешь ... и понимаешь какое там в голове все нестандартное.


Это всего лишь спор о терминах. Я думаю, что "творчески мыслящий" точнее всего
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[22]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 05.01.11 10:54
Оценка: :))
Здравствуйте, denisko, Вы писали:

D>Кажется я начал понимать причины твой словесной ...хм... плодовитости. Прямой вопрос -- ты живой?


Тест Тьюринга пройду...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[11]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 05.01.11 10:59
Оценка:
Здравствуйте, The Lex, Вы писали:

E>>Да нет, просто дураки плохо понимают мысли... В том числе и мысли умных и мысли других дураков, ну любые в общем мысли...

TL> Сам-то понял что сказать-то хотел?
Я-то понял. А ты на вопрос-то ответишь?

E>>Я доступно излагаю?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[22]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 05.01.11 11:00
Оценка:
Здравствуйте, The Lex, Вы писали:

E>>Ну, собственно вопрос за спонсором. Что там со 100 евро решившему?

TL>Технологическому мировому лидеру в области ИИ нужно внешнее спонсорство для проверки сотрудников на адекватность занимаемой должности.

Ну забесплатно ерундить я не буду

TL>Я тебе уже говорил что твоя реальность далека от реальности?

ты имеешь в виду от ТВОЕЙ? Так я с этим и не спорю
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[23]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 05.01.11 11:21
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, dZentle_man, Вы писали:


Z_>>Ну прально, у вас же больше науки, чем программирования, искусственный интеллект — это не какая-то техническая задача, как например корпоративный портал или антивирусный сканер, это область, требующая серьезнейшей научной базы. Конечно можно пробовать и без базы это делать, но пока с этой задачей в гараже без знаний вышки никто не справился, так что база наверное все-таки нужна. И вы с таким подразделением нердов сравниваете всех остальных)))


E>Я? Я просто сказал, что все мои подчинённые решат эту задачку...

Ну да, было бы странно если бы в таком подразделении они не могли решить, по меньшей мере, эту задачу)
Re[13]: # как манагеров достали те, кого достали манагеры
От: sss1024 http://microforms.mobile-mir.com/
Дата: 05.01.11 16:19
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>на самом деле я просто не девелопер. я все-таки ближе к исследовательской деятельности.


ну так раз ты не девелопер то нафига создал тему про оценивание уровня девелоперов? Выипнуться хотел? Тут кроме студентов и другие люди читают.
Re[14]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 05.01.11 17:22
Оценка:
Здравствуйте, sss1024, Вы писали:

S>Здравствуйте, мыщъх, Вы писали:


М>>на самом деле я просто не девелопер. я все-таки ближе к исследовательской деятельности.


S>ну так раз ты не девелопер то нафига создал тему про оценивание уровня девелоперов? Выипнуться хотел?


по вашему оценить уровень одного девелопера может только другой девелопер? в теме вообще главный фигурант HR. остальные фигуранты -- кандидаты, уровень подготовки которых не позволяет им с ходу вспомнить одно из главных свойств плавучки -- терять точность не только справа после запятой, но и слева. причем это не один какой-то американский лоботряс, а уровень основной массы. русскоязычные программисты тут же раскололи эту задачу, причем расколол ее не один отдельно взятый гуру, а как минимум половина ответивших, что весьма показательно.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[15]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 05.01.11 18:19
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>Здравствуйте, sss1024, Вы писали:


S>>Здравствуйте, мыщъх, Вы писали:


М>>>на самом деле я просто не девелопер. я все-таки ближе к исследовательской деятельности.


S>>ну так раз ты не девелопер то нафига создал тему про оценивание уровня девелоперов? Выипнуться хотел?


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

Судя по некоторым деталям изложения ответивших — ответили _уже_занятые_ программисты, причем с опытом разработки сеньорского уровня. Для чистоты эксперимента хорошо бы проводить его на тех, кто пришел трудоустраиваться.
Re[16]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 05.01.11 22:03
Оценка:
Здравствуйте, dZentle_man, Вы писали:

Z_>Здравствуйте, мыщъх, Вы писали:


М>>Здравствуйте, sss1024, Вы писали:


Z_>Судя по некоторым деталям изложения ответивших — ответили _уже_занятые_ программисты, причем с опытом разработки сеньорского уровня. Для чистоты эксперимента хорошо бы проводить его на тех, кто пришел трудоустраиваться.


так это тест для программистов сеньерского уровня. есть, конечно, клоуны претендующие на него с университетской скамьи (типа сразу и в дамки), но как правило сеньоры уже где-то конкретно отработали. а полная чистота эксперимента на форуме все равно недостижима, потому что стресса нет (в отличи от), а это немаловажный фактор.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[17]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 05.01.11 22:58
Оценка: +1
Здравствуйте, мыщъх, Вы писали:

М>Здравствуйте, dZentle_man, Вы писали:


Z_>>Судя по некоторым деталям изложения ответивших — ответили _уже_занятые_ программисты, причем с опытом разработки сеньорского уровня. Для чистоты эксперимента хорошо бы проводить его на тех, кто пришел трудоустраиваться.


М>так это тест для программистов сеньерского уровня. есть, конечно, клоуны претендующие на него с университетской скамьи (типа сразу и в дамки), но как правило сеньоры уже где-то конкретно отработали.

Ну поработать они могли и джуниором и претендовать типа на большее, то есть не обязательно прямо сеньоры приходят с сеньорским опытом.


М>а полная чистота эксперимента на форуме все равно недостижима, потому что стресса нет (в отличи от), а это немаловажный фактор.

Стресс — это малая толика того, чего не достает для чистоты эксперимента в условиях форума. Например, отвечать могут любые люди, даже те, которые и не собираются устраиваться в гугел. И вообще, умный человек может чисто для фана пройти и ответить, а глупый, дрожа над тем, чтоб его не разоблачили, трусливо пробежит мимо. То есть еще не известен процент тех людей, которые не справились с заданием, потому как были слышны голоса только тех, кто хотя бы попытался. Так что говорить о 50% ответившей публики — это говорить о 50% совершенно своеобразной подборки, которая с подборкой претендентов в реальных условиях может иметь очень мало общего.
Re[3]: # как манагеров достали те, кого достали манагеры
От: Gareth Европа  
Дата: 26.01.11 20:51
Оценка:
Здравствуйте, мыщъх, Вы писали:

Pzz>>Для bool'ов тоже должно работать, но смысл не улавливается.

М>на си есть bool?

Конечно.
_Bool в ANSI C99.
Re[7]: # как манагеров достали те, кого достали манагеры
От: barn_czn  
Дата: 27.01.11 09:15
Оценка:
Здравствуйте, Mna, Вы писали:

Mna>Здравствуйте, Pzz, Вы писали:


Pzz>>>>Велико по абсолютному значению


MX>>> Я имел в виду "сильно близко к 0". Через это, например, машинный ноль определяется.


Pzz>>Как это? Если число синьно близко к 0, то прибавляя к нему 1, вы получите результат, сильно близкий к единице.


Mna>А всё отого что кто-то слишком умный не называет вещи саовими именами.


Mna>под "сильно близко к 0" == "машинный ноль" имелся ввиду NAN


Mna>под "Велико по абсолютному значению", — просто большие числа, невзиая на знак

Mna>а еще есть INF — машинная бескончность.
Mna>1 +- INF == INF
Mna>NAN +- Const == NAN

Незнаю как на С, С++, а на C# это однозначно гавнакод.
Re[13]: # как манагеров достали те, кого достали манагеры
От: quagmire  
Дата: 27.01.11 09:59
Оценка:
В тему сравнения с эпсилон. Интересно для многих ли программистов будет неожиданностью результат выполнения этого кода (C#):

static void Main(string[] args)
{
    const double Epsilon = 0.0001;
    Console.WriteLine(Foo(123231.0009, 123231.0008, Epsilon));
    Console.WriteLine(Foo(123231.0002, 123231.0001, Epsilon));
}

private static bool Foo(double a, double b, double epsilon)
{
    double r = Math.Abs(a - b);
    return r < epsilon;
}
Re[6]: # как манагеров достали те, кого достали манагеры
От: Valery A. Boronin Россия linkedin.com/in/boronin
Дата: 30.01.11 13:32
Оценка:
MX>>>Гугль набирает сишников?
D>>их интел купил, а не гугл
М>еще не купил.
EU Clears Intel-McAfee Deal
... << RSDN@Home 1.2.0 alpha 4 rev. 1481>>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[4]: # как манагеров достали те, кого достали манагеры
От: silverwolf  
Дата: 30.01.11 21:05
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, мыщъх, Вы писали:


М>>но для плавучки в общем случае нельзя использовать '=='.

CC>Для того, чтоб узнать что число не изменилось — можно.
CC>Еще простая проверка на NaN делается сравнением числа с самим собой. Если (a != a) — то a == NaN.
Или одна из бесконечностей
Re[5]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 30.01.11 21:35
Оценка:
CC>>Еще простая проверка на NaN делается сравнением числа с самим собой. Если (a != a) — то a == NaN.
S>Или одна из бесконечностей

Ну в формально логике эта фраза верна, как и фраза Если (a != a) — то a == NaN или небо зеленое.
Но в обычной логике это не верно:

$ cat infeqinf.cc 
#include <math.h>
#include <iostream>

int main() {
  float x = FP_INFINITE;
  std::cout << (x != x) << std::endl;
  return 0;
}

$ g++ infeqinf.cc 
$ ./a.out 
0
Re[6]: # как манагеров достали те, кого достали манагеры
От: silverwolf  
Дата: 08.02.11 20:24
Оценка:
Здравствуйте, dilmah, Вы писали:

CC>>>Еще простая проверка на NaN делается сравнением числа с самим собой. Если (a != a) — то a == NaN.

S>>Или одна из бесконечностей

D>Ну в формально логике эта фраза верна, как и фраза Если (a != a) — то a == NaN или небо зеленое.

D>Но в обычной логике это не верно: ...

Перечитайте ветку. Оба комментария относились не к логике а к
foo(TYPEA a){ return ((a + 1) == a); }

Этот код может быть проверкой


P.S. По поводу "обычной логики" -- у нас за такое с первого курса отчисляли
P.S.S. Это не укол вам, а реально моего сокурсника отчислили за такое словосочетание.
Re[7]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 09.02.11 15:43
Оценка:
S>
  • или на бесконечность, которая по спекам, вроде как, не обязана равняться сама себе, иными словами после компиляции вашей программы в другом окружении, она может вывести истину.

    это не так:

    Comparisons are exact and never overflow or underflow. Four mutually exclusive relations are possible: less
    than, equal, greater than, and unordered. The last case arises when at least one operand is NaN. Every NaN
    shall compare unordered with everything, including itself. Comparisons shall ignore the sign of zero
    (so +0 = −0). Infinite operands of the same sign shall compare equal.

  • Re[8]: # как манагеров достали те, кого достали манагеры
    От: silverwolf  
    Дата: 09.02.11 19:30
    Оценка:
    Здравствуйте, dilmah, Вы писали:

    S>>
  • или на бесконечность, которая по спекам, вроде как, не обязана равняться сама себе, иными словами после компиляции вашей программы в другом окружении, она может вывести истину.

    D>это не так:


    D>

    D>Comparisons are exact and never overflow or underflow. Four mutually exclusive relations are possible: less
    D>than, equal, greater than, and unordered. The last case arises when at least one operand is NaN. Every NaN
    D>shall compare unordered with everything, including itself. Comparisons shall ignore the sign of zero
    D>(so +0 = −0). Infinite operands of the same sign shall compare equal.

    Согласен, эт я хну сморозил Перепутал с NaN.
  • Re[13]: # как манагеров достали те, кого достали манагеры
    От: Ligen Украина http://zone-of-ambiguity.blogspot.com/
    Дата: 09.02.11 21:40
    Оценка:
    Здравствуйте, The Lex, Вы писали:

    Pzz>Во-первых, надо мозги иметь, чтобы различать, когда использовать стандартную запчасть, а когда свою вытачивать.


    TL>... А "свою вытачивать приходится" — это в основном от незнания стандартных и главное от _непринятия_ знания, что оные вообще существуют.


    Pzz дело говорит, зря с ним споришь — не нужно скатываться в другую крайнюю область.
    Я видел несколько проектов, которые погибли/были переписаны именно из-за тупого необдуманного желания использовать множество "стандартных компонентов", в тот момент, когда такие компоненты не удовлетворяли ТЗ даже в самых радужных расчетах.
    Так что я бы выделил сие в два пункта:
    1) желательно применять анализ — для того, чтобы понять, целесообразно ли в данном конкретном проекте использовать тот или иной "стандартный компонент", или нужно наресерчить свой, или нужно взять какие-то конкретные решения и их допилить(как вариант — обратиться к их владельцам с фичреквестом);
    2) анализ рекомендуется делать мозгом.

    Из-за велосипедистов бывает вред, бывает много вреда, особенно эта болезнь распостранена среди начинающих девелоперов. Из-за фанатиков антивелосипедистов вреда тоже нормально, где-то 25/75, я думаю... причем с возрастом и опытом эта болезнь обычно усугубляется.
    Хотя от сферы применения, наверное, тоже сильно зависит, вобщем-то это имеет прямое отношение к черезчур громкому слову "инновации".
    Viva el Junta Militar! Viva el Presidente!
     
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.