Потому как в задаче про носки точно нет ни какой математики.
Просто пару носков разделяем (носки продаются соединенной парой) и один берет один носок другной второй.
Получаем что у одного 3 пары зеленых и 3 пары красных и у второго так же.
СТОП, мЕнуточку...
А вот и НЕТ!
Даже если носки соединенные попарно, то вероятность того, что у каждого из них окажутся 3 пары зеленых и 3 пары красных - конечно же не 100%. Потому как возможны варианты, что у одного окажутся все красные пары, а у другого - все зеленые, или у одного окажется одна пара красных носков, и 5 пар зеленых, а у другого - наоборот. И так далее.
Так, что нечего тут Димыча путать!
p.s. Хотя и вероятность события что у каждого будет по 3 пары красных и зеленых - уже будет намного больше 1/13 - это да. Вроде 1/7 получается - правильный ответ. А не единица
p.s. А в задаче про шахматную доску математика присутствует, но не очень высокого уровня. Школьного. Однако всё равно - эта задача слишком трудная для того, чтобы с помощью неё отсеивать соискателей куда бы то ни было
Более простой вариант был про гномов , дракона и белые/черные колпаки.
СТОП, мЕнуточку...
А вот и НЕТ!
Даже если носки соединенные попарно, то вероятность того, что у каждого из них окажутся 3 пары зеленых и 3 пары красных - конечно же не 100%. Потому как возможны варианты, что у одного окажутся все красные пары, а у другого - все зеленые, или у одного окажется одна пара красных носков, и 5 пар зеленых, а у другого - наоборот.
Так, что нечего тут Димыча путать!
p.s. Хотя и вероятность события что у каждого будет по 3 пары красных и зеленых - уже будет намного больше 1/13 - это да. Вроде 1/7 получается
Пару носков разделяем. Одному отдаем один носок из пары , другому другой носок из пары.
Получам у одного 6 зеленых носков (3 пары ) и 6 красных носков (3 пары).
Это не математикв, это язык - 6 носкоа - это 3 пары
К тому же я не уверен, что алгоритм, который Димыч нашел в гуглах — такой же. Поэтому может не сработать.
Вчера по ссылке алгоритм был достаточно подробно и понятно описан. Там была работа только в двоичной системе. Никаких указателей на (2,2) там никак не получалось. Разумеется, что сначала там порядковый номер "магической" клетки переводился в двоичную систему измерений и с ним происходила работа (ксорился с отображением текущей раскладки по выбранной маске) - определялся двоичный код клетки, которую надо было перевернуть, чтобы появилась такая раскладка, которая в принятой системе масок давала бы двоичное число, равное порядковому номеру магической монеты.
А в Вашем объяснении надо что-то изменить все-таки. Иначе будет как вчера с крокодилами и королевами, когда вместо конструкции "невыполнимое условие >> невыполнимое следствие" мне пытались скормить конструкцию "ложное утверждение" >> "ложное утверждение".
Пару носков разделяем. Одному отдаем один носок из пары , другому другой носок из пары.
Получам у одного 6 зеленых носков (3 пары ) и 6 красных носков (3 пары).
Это не математикв, это язык - 6 носкоа - это 3 пары
ААААА!!! Я не подумал, что пары носков можно разделять!! Блин...
Да, тогда 100% они могут обеспечить себя равным количеством носков каждого цвета
Вчера по ссылке алгоритм был достаточно подробно и понятно описан. Там была работа только в двоичной системе. Никаких указателей на (2,2) там никак не получалось. Разумеется, что сначала там порядковый номер "магической" клетки переводился в двоичную систему измерений и с ним происходила работа (ксорился с отображением текущей раскладке по выбранной маске) - определялся двоичный код клетки, которую надо было перевернуть, чтобы появилась такая раскладка, которая в принятой системе масок давала бы двоичное число, равное порядковому номеру магической монеты.
А в Вашем объяснении надо что-то изменить все-таки. Иначе буде как вчера с крокодилами и королевами, когда вместо конструкции "невыполнимое условие >> невыполнимое следствие" мне пытались скормить конструкцию "ложное утверждение" >> "ложное утверждение".
Вчера вам все правильно пытались "скормить". Даже спорить про это не хочу больше. Давал уже ссылки на классические аксиомы мат. логики и парадоксы импликации. Вы их упорно отказывались видеть. А там утверждения аналогичные описывались "крокодилам и королевам". Так что проехали.
А по поводу ссылок на клетку (2,2), так я просто влетки в кодировке считаю с первой, а не с нулевой, чтобы было проще тем, кто так считать не привык. Считайте с нулевой и проблем никаких нет. В формате этого форума трудно громоздкое решение подробней описывать. Тут ни картинок не вставить, ни таблиц. Короче, вечером скину программульки для кодирования/декодирования. Может, так будет хотя бы наглядней, если уж не понятней...
Вчера вам все правильно пытались "скормить". Даже спорить про это не хочу больше. Давал уже ссылки на классические аксиомы мат. логики и парадоксы импликации. Вы их упорно отказывались видеть. А там утверждения аналогичные описывались "крокодилам и королевам". Так что проехали.
Ну нет... В википедии там приведены были конструкции вида "невыполнимое условие >> ошибочное следствие". Например: "ЕСЛИ крокодилы летают, то я - английская королева". Это даже "парадоксом"-то можно назвать с большой натяжкой, т.к. это по сути есть логическая конструкция вида: "если я наврал здесь, то я вру и здесь тоже". Всё довольно логично.
А когда написано "так как крокодилы летают, то я английская королева" - это уже не понятно что. Это какой-то бред. Потому как конструкция начинается с ложного УТВЕРЖДЕНИЯ, а не УСЛОВИЯ.
Ну а ситуация с поездами на Марсе - вообще совсем другой случай. Мне даже не понятно, как вам удается это всё смешивать в одну кучу
Ну нет... В википедии там приведены были конструкции вида "невыполнимое условие >> ошибочное следствие". Например: "ЕСЛИ крокодилы летают, то я - английская королева". Это даже "парадоксом"-то можно назвать с большой натяжкой, т.к. это по сути есть логическая конструкция вида: "если я наврал здесь, то я вру и здесь тоже". Всё довольно логично.
А когда написано "так как крокодилы летают, то я английская королева" - это уже не понятно что. Это какой-то бред. Потому как конструкция начинается с ложного УТВЕРЖДЕНИЯ, а не УСЛОВИЯ.
Ну а ситуация с поездами на Марсе - вообще совсем другой случай. Мне даже не понятно, как вам удается это всё смешивать в одну кучу
Да это неважно абсолютно. Вы прицепились к тому, какая там подчинительная связующая конструкция стоит: "если" или "т.к".
Важно, что утверждение имеет вид A=>B. Где для A="крокодилы летают" и B="я-королева" можно сказать "истина" или "ложь". Тогда истинность или ложность выражения "A=>B" будет определяться таблицей истинности для импликации. Вот собственно и все. Блин, это правда так трудно понять?? Ну давайте "если" говорить, если вам так больше нравится: я не против. Поезда из той же абсолютно оперы, но объяснять это я не буду: устал Тут бы с монетами донести.
От 50% процентов шанс спастись даст простой договор что второй заключенный выбирает монету повернутую той стороной, которая допустим в клетке А1.
А по твоему примеру только от 6 % получается шанс спастись. Или надо знать раскладку до переворачивания.
Ох, все там нормально получается... Не надо им ничего знать "до переворачивания"
Второй заключенный, когда заходит, видит раскладку с уже перевернутой монетой :
А Р
А Р
Смотрит в первый столбец: "ага, там А,А, обе монеты повернуты одинаково, значит магическая в первой строке".
Дальше смотрит в первую строку: "ага, тут А,Р, монеты повернуты по-разному, значит магическая во втором столбце".
Т.е. магическая во втором столбце первой строки, что и было загаданно.
Задача про гномов давно уже гуляет по интернету (лет 10-15) , вот один из вариантов текста -
Цитата:
Вечером людоед поймал нескольких гномов и собрался их съесть на завтрак. Пребывая в добром расположении духа, он решил, что даст нескольким гномам шанс спастись и объяснил условия.
"На следующее утро - сказал он, я построю вас в колонну и в случайном порядке надену на вас шапки двух цветов (красный и синий). Начиная с последнего в колонне, я буду спрашивать, какого цвета его шапка. Того, кто назовет цвет своей шапки правильно - отпущу, тех кто назовет неправильный цвет - того съем. Вы будете видеть всех тех, кто стоит впереди и слышать ответы тех, кто сзади. Но цвет своей шапки никто не видит. Говорить можно только одно слово – «красный» или «синий», иначе съем всех сразу".
Соотношение красных и синих шапок гномы не могут знать. Никакие дополнительные сигналы подавать нельзя (интонацией, паузами в ответах и т.п.).
Тем не менее, за ночь гномы придумали порядок ответов, который при этих условиях гарантировал выживание всех, кроме одного из них (у этого одного, тем не менее, тоже оставался шанс выжить).
Да это неважно абсолютно. Вы прицепились к тому, какая там подчинительная связующая конструкция стоит: "если" или "т.к".
Важно, что утверждение имеет вид A=>B. Где для A="крокодилы летают" и B="я-королева" можно сказать "истина" или "ложь". Тогда истинность или ложность выражения "A=>B" будет определяться таблицей истинности для импликации. Вот собственно и все. Блин, это правда так трудно понять?? Ну давайте "если" говорить, если вам так больше нравится: я не против. Поезда из той же абсолютно оперы, но объяснять это я не буду: устал Тут бы с монетами донести.
Конечно трудно, т.к. нельзя сложить один килограмм с одним градусом кельвина, хотя 1+1 всегда =2 (в троичной и выше системе исчисления).
Поезда на Марсе - из другой оперы. Из оперы нулевых множеств все-таки.
p.s. Чтобы донести с монетами - надо сделать то же самое: чётче сформулировать мысль. Тогда если она правильная, то её могут понять и согласиться с ней.
В обе стороны, т.к. картинка симметричная относительно центра. Направление вращения — это обман зрения, связанный с ведущим полушарием у наблюдателя. Если Вы немного приноровитесь, то сможете заставить ее вращаться в любую сторону по собственному желанию.
В обе стороны, т.к. картинка симметричная относительно центра. Направление вращения — это обман зрения, связанный с ведущим полушарием у наблюдателя. Если Вы немного приноровитесь, то сможете заставить ее вращаться в любую сторону по собственному желанию.
Другие версии у кого-нибудь будут?
Кстати, Вам кажется в какую сторону? Мне - по часовой.
Задача про гномов давно уже гуляет по интернету (лет 10-15) , вот один из вариантов текста -
А вот ответ из гугля -
"Последний гном говорит цвет перед ним, а тот зная свой цвет молчит, если перед ним не тот цвет. Другой, не услышав того кто напротив, узнает, что у него другой цвет и т.д."
Очередная подстава. В условиях сказано что надо назвать цвет, иначе съест всех, а в ответе написано можно молчать.
Другие версии у кого-нибудь будут?
Кстати, Вам кажется в какую сторону? Мне - по часовой.
Могу в любую заставить вращаться. Если сперва на нижней левой стороне картинки зрение сфокусировать, то будет вращаться против часовой стрелки. Если на нижней правой - то по.
Ох, все там нормально получается... Не надо им ничего знать "до переворачивания"
Второй заключенный, когда заходит, видит раскладку с уже перевернутой монетой :
А Р
А Р
Смотрит в первый столбец: "ага, там А,А, обе монеты повернуты одинаково, значит магическая в первой строке".
Дальше смотрит в первую строку: "ага, тут А,Р, монеты повернуты по-разному, значит магическая во втором столбце".
Т.е. магическая во втором столбце первой строки, что и было загаданно.
Ну и получится 16 ответов, или 4? Какой из них будет правильный?
А вот ответ из гугля -
"Последний гном говорит цвет перед ним, а тот зная свой цвет молчит, если перед ним не тот цвет. Другой, не услышав того кто напротив, узнает, что у него другой цвет и т.д."
Очередная подстава. В условиях сказано что надо назвать цвет, иначе съест всех, а в ответе написано можно молчать.
Нет, там есть номальное решение. Я его достаточно быстро придумал. И продумал - работает на первом попавшемся примере.
Правда, сначала ляпнул не подумав, что это детская задача. Нет, нормальная задача. Просто там всё время кажется, что решения не существует в принципе - как в задаче про "шахматную доску и монеты"
В обе стороны, т.к. картинка симметричная относительно центра. Направление вращения — это обман зрения, связанный с ведущим полушарием у наблюдателя. Если Вы немного приноровитесь, то сможете заставить ее вращаться в любую сторону по собственному желанию.
Я тоже могу представить как она вращается против часовой стрелки, но тут приходится поднапрячь воображение. По умолчанию она у меня вращается по часовой стрелке.
Но... я НЕ согласен с Вашей версией, что она вращается в обе стороны равновероятно. Неа.
Я тоже могу представить как она вращается против часовой стрелки, но тут приходится поднапрячь воображение. По умолчанию она у меня вращается по часовой стрелке.
Но... я НЕ согласен с Вашей версией, что она вращается в обе стороны равновероятно. Неа.
Что значит "равновероятно"?
Это простой обман зрения. Она вообще не вращается.
Ну еще скажите, что это вообще не девушка, а группа чередующихся рисунков!
Куда делся ваш хвалёный "формальный подход"?
А какой вы хотите здесь формальный подход?
Ну давайте так: вращение, которое имитирует эта картинка происходит вокруг оси Oy, т.е. для каждой точки "вращающегося" объекта должны меняться координаты х и z, где z - глубина и оси Ox, Oy, Oz - направлены соответственно слева направо, снизу вверх и из экрана к наблюдателю. В проекции на экран точки будут менять только координату х. Т.к. картинки симметричны относительно центра, каждая точка будет просто осциллировать вокруг центра симметрии. В зависимости от того, осцилляцию слева направо или справа налево вы увидели первой, вы и будете воспринимать вращение. Вот вам формальный подход.
Если Вам охота относительно моего сообщения выше поразводить казуистику, то не трудитесь отвечать: я не хочу тратить время на глупые споры. Если есть комментарии по существу — welcome.
А какой вы хотите здесь формальный подход?
Ну давайте так: вращение, которое имитирует эта картинка происходит вокруг оси Oy, т.е. для каждой точки "вращающегося" объекта должны меняться координаты х и z, где z - глубина и оси Ox, Oy, Oz - направлены соответственно слева направо, снизу вверх и из экрана к наблюдателю. В проекции на экран точки будут менять только координату х. Т.к. картинки симметричны относительно центра, каждая точка будет просто осциллировать вокруг центра симметрии. В зависимости от того, осцилляцию слева направо или справа налево вы увидели первой, вы и будете воспринимать вращение. Вот вам формальный подход.
Надо посмотреть внимательнее на картинку и подумать
Надо посмотреть внимательнее на картинку и подумать
Еще раз — если есть комментарии по существу к моему объяснению выше — welcome. Если Вы в этой теме по принципу "есть два мнения: мое и неправильное", то поищите другого собеседника.
Еще раз — если есть комментарии по существу к моему объяснению выше — welcome. Если Вы в этой теме по принципу "есть два мнения: мое и неправильное", то поищите другого собеседника.
Есть комментарии. Но я хочу дать возможность высказаться другим сначала. Вдруг кто еще заинтересуется?
Нет, там есть номальное решение. Я его достаточно быстро придумал. И продумал - работает на первом попавшемся примере.
Правда, сначала ляпнул не подумав, что это детская задача. Нет, нормальная задача. Просто там всё время кажется, что решения не существует в принципе - как в задаче про "шахматную доску и монеты"
Вариант с четностями не сработает если впереди равное кол-во гномов в одинаковых шапках.
Отлично. Слева - последний (пятый), справа - первый. Условимся "К"=1, "С"=0. Последний гном вычисляет чётность суммы стоящих перед ним: 1+0+1+0=2 - чётно (фактически - определяет чётность суммы красных шляп стоящих перед ним гномов). Он говорит "Синий!". Он выживает - в этот раз ему повезло.
Следующий за ним гном (четвертый) считает чётность стоящих перед ним: 0+1+0=1 НЕчётно! И он слышал, что до него была сумма чётной (т.к. последний гном сказал "синий"). Значит именно он изменяет сумму с чётной на нечётную. А это значит, что у него красная шапка. Он говорит "красная" и гарантированно остается в живых.
Третий гном видит, что перед ним нечётная сумма: 1+0=1. Он слышал, что первые четверо гномов дают чётную сумму, а четвертый гном был красным, значит первые трое гномов будут давать нечётную сумму. Значит его шляпа не изменяет чётность, значит у него синяя шляпа.
Второй гном видит, что перед ним нечетная сумма: 0. Он слышал, что первые четверо гномов давали чётную сумму, при этом четвёртый гном был красным, а третий - синим. Значит первые два гнома должны давать нечётную сумму. Значит его шляпа меняет чётность - значит у него красная шляпа. Он тоже гарантированно выживает.
Первый гном слышал, что первые четыре гнома дают чётную сумму, при этом он уже слышал, что в этой сумме есть две красных и одна синяя. Две красных и одна синяя шляпы не меняют чётность, поэтому у него должна быть шляпа тоже не меняющая чётность - синяя.
А если к-к-с-к-с? Третьему надо будет сказать красный?
Третий будет знать, что сумма первых четырех чётная, а у четвертого был красный. Значит сумма первых трех - НЕчетная. Он перед собой видит нечетную сумму первых двух, значит у него шляпа, которая не меняет чётность - т.е. синяя.
Всё работает. Только в этом примере последний гном погибает, что допускало условие задачи. Зато как всегда - он спасает всех остальных, оглашая им результат по четности или нечетности суммы, стоящих перед ним
Третий будет знать, что сумма первых четырех чётная, а у четвертого был красный. Значит сумма первых трех - НЕчетная. Он перед собой видит нечетную сумму первых двух, значит у него шляпа, которая не меняет чётность - т.е. синяя.
Всё работает. Только в этом примере последний гном погибает, что допускало условие задачи. Зато как всегда - он спасает всех остальных, оглашая им результат по четности или нечетности суммы, стоящих перед ним
Сообщений: 6,621
Проживание: Tampere
Регистрация: 13-04-2016
Status: Offline
Цитата:
Сообщение от Димыч
Есть комментарии. Но я хочу дать возможность высказаться другим сначала. Вдруг кто еще заинтересуется?
Что тут высказываться? Alexer прав. Согласен со всеми его сообщениями по этому вопросу. У меня тоже вращается в обе стороны в зависимости от того, на какой нижней части изображения сфокусировать зрение - левой или правой.
Что тут высказываться? Alexer прав. Согласен со всеми его сообщениями по этому вопросу. У меня тоже вращается в обе стороны в зависимости от того, на какой нижней части изображения сфокусировать зрение - левой или правой.
А если теперь порассуждать о тени от девушки?
p.s. Зачем же прямо все подряд посты "заминусовывать", не разобравшись в вопросе?
Я наоборот дал вам шанс подольше подумать над интересным вопросом, а вы в штыки...
А если теперь порассуждать о тени от девушки?
p.s. Зачем же прямо все подряд посты "заминусовывать", не разобравшись в вопросе?
Я наоборот дал вам шанс подольше подумать над интересным вопросом, а вы в штыки...
Да хоть бы и от тени. Тень точно так же симметрична относительно вертикальной оси. Источник света находится за девушкой. Просто Вы когда за тенью начинаете следить фокусируетесь на нижней части изображения (симметричной), и у вас сознание непроизвольно переключает вращение. То, что чаще переключает вращение на "по часовой стрелке" говорит лишь о том, что с большой вероятностью Вы — правша и только (хотя у некоторых левшей ведущее полушарие в этом виде активности тоже может быть правым).
Да хоть бы и от тени. Тень точно так же симметрична относительно вертикальной оси. Источник света находится за девушкой. Просто Вы когда за тенью начинаете следить фокусируетесь на нижней части изображения (симметричной), и у вас сознание непроизвольно переключает вращение. То, что чаще переключает вращение на "по часовой стрелке" говорит лишь о том, что с большой вероятностью Вы — правша и только (хотя у некоторых левшей ведущее полушарие в этом виде активности тоже может быть правым).
Так я НЕ утверждаю, что девушка вращается ПО часовой стрелке. Я лишь говорю, что мне кажется, что она вращается по часовой стрелке. Представить её вращение против часовой стрелки - мне труднее себя заставить. Но можно конечно.
На самом деле она вращается ПРОТИВ часовой стрелки. Это следует из движения тени от её поднятой ноги и расположения источника света (за девушкой, если смотреть со стороны наблюдателя). В предположении, что по мере вращения девушки высота подъема её ноги (левой всё-таки) значимым образом не изменяется
Сообщений: 6,621
Проживание: Tampere
Регистрация: 13-04-2016
Status: Offline
Цитата:
Сообщение от Димыч
А если теперь порассуждать о тени от девушки?
p.s. Зачем же прямо все подряд посты "заминусовывать", не разобравшись в вопросе?
Я наоборот дал вам шанс подольше подумать над интересным вопросом, а вы в штыки...
Во-первых, не все подряд.
Во-вторых, это не обязательно тень - это может быть отражение в зеркальной части пола.
В-третьих, что не так с тенью или отражением?
Во-вторых, это не обязательно тень - это может быть отражение в зеркальной части пола.
Вывод от этого не изменится - девушка вращается против часовой стрелки.
Цитата:
Сообщение от ponom
В-третьих, что не так с тенью или отражением?
С тенью, и с отражением всё "так". Что тень, что отражение поднятой ноги будет длиннее, когда нога будет больше удалена от наблюдателя. Поэтому в те моменты когда появляется тень или отражение от поднятой ноги девушки - эта нога находится дальше от наблюдателя, чем в те моменты когда наблюдатель не видит от нее тень или отражение. Тень или отражение движется справа налево, значит вращение девушки идёт против часовой стрелки.
Насчет задачи про монеты, я обещал опубликовать код кодера/декодера для своего решения. Код на С++, можно для быстрой проверки засунуть в любой онлайн-компилятор.
// helper function based on the truth table of the flip bit value given
// the default encoded value and the target 2-bit value to be encoded
inline uint8_t findFlip2x2Helper(uint8_t x)
{
return static_cast<uint8_t>(x == 0 || x == 2 || x == 5 || x == 7) << 1
| static_cast<uint8_t>(x == 0 || x == 1 || x == 4 || x == 5);
}
// returns position of the bit to be flipped in 2x2 (i.e. 4-bit) problem
inline uint8_t findFlipBit2x2(uint8_t oddity, uint8_t magic_bit)
{
oddity = decode2x2(oddity) << 2 | magic_bit;
oddity = findFlip2x2Helper(oddity & 0xF) | findFlip2x2Helper(~oddity & 0xF);
assert(oddity <= 3);
return oddity;
}
// returns 4-bit oddity for the given 8x8 problem
inline uint8_t calculateOddity8x8(uint64_t layout)
{
layout ^= layout >> 8;
layout ^= layout >> 16;
layout ^= layout >> 2;
layout ^= layout >> 1;
Все время удивлялся - как народ на С++ работает? Почему на нем работает? Зачем?
Есть же удобнейшая оболочка - Delphi, где всё просто и понятно. И старый добрый "паскаль" в основе
Однако же все работодатели требуют знаний неудобнейших языков почему-то...
Все время удивлялся - как народ на С++ работает? Почему на нем работает? Зачем?
Есть же удобнейшая оболочка - Delphi, где всё просто и понятно. И старый добрый "паскаль" в основе
Однако же все работодатели требуют знаний неудобнейших языков почему-то...
С++ требуют там, где важна скорость выполнения. Обычно, чтобы на С++ нормально писать, нужно знать сильно больше, чем только язык, иначе будет только хуже. Код выше для понимания тяжелый, но это лишь потому, что там битовые манипуляции сложные. Наверное, можно немного попроще придумать реализацию, но это делать мне уже точно лень.
Там, где надо писать относительно «быстро», а на скорость плевать, пользуются чем-нибудь, типа Python. Делфи точно мертв. Да и не жил никогда. Но это уже всяко оффтоп.
С++ требуют там, где важна скорость выполнения. Обычно, чтобы на С++ нормально писать, нужно знать сильно больше, чем только язык, иначе будет только хуже. Код выше для понимания тяжелый, но это лишь потому, что там битовые манипуляции сложные. Наверное, можно немного попроще придумать реализацию, но это делать мне уже точно лень.
Там, где надо писать относительно «быстро», а на скорость плевать, пользуются чем-нибудь, типа Python. Делфи точно мертв. Да и не жил никогда. Но это уже всяко оффтоп.
Как это "точно мёртв", если я прямо сейчас доделываю мощнейшую программу по мат.моделированию процессов в атомной отрасли прямо на Delphi 7(!)
Затем года два она будет проходит аттестацию, а потом лет 20 будет использоваться в расчетном обосновании.
Хотя, и сейчас уже используется на самом деле. Просто пока там можно что улучшить - я её продолжаю дорабатывать.
Насчёт "скорости" - не верю, извини.
Вспоминаю как мы решили проверить на каком языке быстрее расчёты выполняются. И стали гонять многократно операции вида: "возвести миллион раз в степень близкую к единице, а потом выполнить миллион раз обратную операцию", после чего сравнить результаты и время вычислений. На одном и том же компе - под виндами.
Результаты меня поразили - фортран (который, по идее, должен быть заточен именно под вычисления) проиграл просто с треском - и в скорости и в точности. Долго тупили мы. Переключали типы вещественных чисел в языках, пытались в опциях компилятора всё менять. Ничего не получалось - фортран был в разы медленнее и в разы кривее. Пошли к начальнику отдела пожаловаться (т.к. знали, что он когда-то на фортране работал). Он нам почти сразу посоветовал зайти в глубокие меню и переключить в фортране тип используемых КОНСТАНТ. Т.е. когда ты там возводишь число в степень (например, а^1.001), то у тебя там по умолчанию "1.001 имеет такой тип, с которым процессору работать очень напряжно (по-моему, real*6). В результате всё тормозит нещадно. Когда изменили тип констант по умолчанию. Скорости работы фортрана и Delphi, а также точность - совпали почти ПОЛНОСТЬЮ.
Из этого, наверное, можно сделать вывод о том, что скорость работы языка (при вычислениях) вряд ли зависит от языка - если всё правильно настроить.
А вопрос начался с того - почему в стандартных конечно-элементных комплексах типа Ansys или Msc.Marc пользовательские подпрограммы предлагают делать на фортране?
Кстати, а в старых версиях Msc.Marc (а может быть и в новых тоже) по умолчанию включены такие опции, при которых изгиб простейшего стержня (который по формулам сопромата легко считается) рассчитывается с огромными погрешностями (процентов под 20). Вот такие пироги с "опциями по умолчанию" встречаются. Не только в "фортране", но и в очень серьезных коммерческих продуктах для инженерных расчётов.
Ну а про "оффтоп" - в этой теме этого добиться трудно, если посмотреть на её название
Как это "точно мёртв", если я прямо сейчас доделываю мощнейшую программу по мат.моделированию процессов в атомной отрасли прямо на Delphi 7(!)
Затем года два она будет проходит аттестацию, а потом лет 20 будет использоваться в расчетном обосновании.
Хотя, и сейчас уже используется на самом деле. Просто пока там можно что улучшить - я её продолжаю дорабатывать.
Насчёт "скорости" - не верю, извини.
Вспоминаю как мы решили проверить на каком языке быстрее расчёты выполняются. И стали гонять многократно операции вида: "возвести миллион раз в степень близкую к единице, а потом выполнить миллион раз обратную операцию", после чего сравнить результаты и время вычислений. На одном и том же компе - под виндами.
Результаты меня поразили - фортран (который, по идее, должен быть заточен именно под вычисления) проиграл просто с треском - и в скорости и в точности. Долго тупили мы. Переключали типы вещественных чисел в языках, пытались в опциях компилятора всё менять. Ничего не получалось - фортран был в разы медленнее и в разы кривее. Пошли к начальнику отдела пожаловаться (т.к. знали, что он когда-то на фортране работал). Он нам почти сразу посоветовал зайти в глубокие меню и переключить в фортране тип используемых КОНСТАНТ. Т.е. когда ты там возводишь число в степень (например, а^1.001), то у тебя там по умолчанию "1.001 имеет такой тип, с которым процессору работать очень напряжно (по-моему, real*6). В результате всё тормозит нещадно. Когда изменили тип констант по умолчанию. Скорости работы фортрана и Delphi, а также точность - совпали почти ПОЛНОСТЬЮ.
Из этого, наверное, можно сделать вывод о том, что скорость работы языка (при вычислениях) вряд ли зависит от языка - если всё правильно настроить.
А вопрос начался с того - почему в стандартных конечно-элементных комплексах типа Ansys или Msc.Marc пользовательские подпрограммы предлагают делать на фортране?
Ну а про "оффтоп" - в этой теме этого добиться трудно, если посмотреть на её название
То, что лично Вы что-то там пишите на Delphi не означает, что он жив. Это лишь что-то говорит о том, кто Ваш заказчик.
Я уже писал выше, что чтобы писать на С++ эффективно нужно знать немного больше, чем просто язык. Если не умеете в архитектуру железа, под которое пишите, и в ассемблер, то и в плюсы не надо лезть. На С++ можно писать программы, которые работают сильно быстрее, чем на Delphi или FORTRAN. Только для этого нужны очень квалифицированные (и дорогие) люди. Основная проблема С++ в том, что плохих программистов на нем, наверное, больше, чем на любом другом языке.
То, что лично Вы что-то там пишите на Delphi не означает, что он жив. Это лишь что-то говорит о том, кто Ваш заказчик.
Я уже писал выше, что чтобы писать на С++ эффективно нужно знать немного больше, чем просто язык. Если не умеете в архитектуру железа, под которое пишите, и в ассемблер, то и в плюсы не надо лезть. На С++ можно писать программы, которые работают сильно быстрее, чем на Delphi или FORTRAN. Только для этого нужны очень квалифицированные (и дорогие) люди. Основная проблема С++ в том, что плохих программистов на нем, наверное, больше, чем на любом другом языке.
Очень, очень интересно...
Если вести речь о математических задачах, то там достаточно знать всего лишь несколько операторов - арифметические действия, операторы сравнения и оператор цикла. Ну для полноты картины - операторы считывания и записи в текстовый файл. Считывание и запись - это уже "сервис" и на скорость работы программы не влияет (при условии, что в процессе счёта не нужно непрерывно считывать данные и записывать в файл).
Так вот, почему это в том же "фортране" не "догадались" простейшие математические операторы сделать такими же быстрыми как и в С++? Неужто это прямо так трудно, что до этого могли дойти только разработчики С++? Нифига не верится как-то. Похоже на ересь всё-таки.
И ещё раз напомню, что фортран - до сих пор является встроенным языком для таких популярных программных комплексов как Ansys или Msc.Marc. Пользователи именно на нем пишут подпрограммы для этих программных комплексов. При этом Ansys очень популярен в инженерной среде и позволяет решать не только механические задачи, но и гидравлические тоже, и много-много всего другого. Лицензия стоит дофига и всё равно покупается многими инженерными конторами. https://www.ansys.com/
Поэтому слухи о смерти фортрана уж точно не соответствуют действительности. Да и по Delphi, наверное, тоже
Но то, что сейчас многие требуют программы на С++ - я и сам вижу, поэтому и спрашиваю - "почему?"
Нет ли тут какого-то "синергетического эффекта"? Типа - договорились, и начали выпускать для велосипедов дурацкие ниппели "Presta", причем не только для тех моделей, где нужно большое давление удерживать, но и вообще - для всех, включая подвесы и фэтбайки.
P.s. Спросил других ребят, оказывается в Ansys на разные модули свои языки. Есть и "С" и "питон" тоже, помимо фортрана.
Очень, очень интересно...
Если вести речь о математических задачах, то там достаточно знать всего лишь несколько операторов - арифметические действия, операторы сравнения и оператор цикла. Ну для полноты картины - операторы считывания и записи в текстовый файл. Считывание и запись - это уже "сервис" и на скорость работы программы не влияет (при условии, что в процессе счёта не нужно непрерывно считывать данные и записывать в файл).
Так вот, почему это в том же "фортране" не "догадались" простейшие математические операторы сделать такими же быстрыми как и в С++? Неужто это прямо так трудно, что до этого могли дойти только разработчики С++? Нифига не верится как-то. Похоже на ересь всё-таки.
И ещё раз напомню, что фортран - до сих пор является встроенным языком для таких популярных программных комплексов как Ansys или Msc.Marc. Пользователи именно на нем пишут подпрограммы для этих программных комплексов. При этом Ansys очень популярен в инженерной среде и позволяет решать не только механические задачи, но и гидравлические тоже, и много-много всего другого. Лицензия стоит дофига и всё равно покупается многими инженерными конторами. https://www.ansys.com/
Поэтому слухи о смерти фортрана уж точно не соответствуют действительности. Да и по Delphi, наверное, тоже
Но то, что сейчас многие требуют программы на С++ - я и сам вижу, поэтому и спрашиваю - "почему?"
Нет ли тут какого-то "синергетического эффекта"? Типа - договорились, и начали выпускать для велосипедов дурацкие ниппели "Presta", причем не только для тех моделей, где нужно большое давление удерживать, но и вообще - для всех, включая подвесы и фэтбайки.
P.s. Спросил других ребят, оказывается в Ansys на разные модули свои языки. Есть и "С" и "питон" тоже, помимо фортрана.
По выделенному: "операторы" в фортране не медленнее, чем в С++. Большинство вычислительных программ, написанных на фортране "в лоб", будут работать сильно быстрее, чем написанные "в лоб" программы на С++. Код на С++ окажется быстрее в случае тонко оптимизированной организации вычислений с использованием векторных инструкций, типа AVX2/AVX512, правильно организованного попадания в кэш инструкций и данных и иногда с использованием особенностей branch predictor-а. Переход к параллельным и гибридным (multi-core CPU + GPU) системам включает еще вагон очень нетривиальных оптимизаций.
Все это при желании можно делать и на других языках. Хорошая особенность С (и отчасти плюсов) заключается в том, что всегда можно довольно точно сказать, как то или иное выражение будет выглядеть после трансляции в машинный код. Я не являюсь апологетом использования того или иного языка, но, учитывая, как в последнее время развивается стандарт С++, мне понятно, почему он повсеместно используется в сферах, где важна скорость вычислений и есть возможность инвестировать в квалифицированных разработчиков.
В любом случае, речь шла о том, чтобы продемонстрировать корректность решения задачи о монетах. Поскольку я обещал выложить кодер/декодер для своего решения, я это сделал А уж если Вам ЯП не нравится, пожалуйста, можете на Delphi переписать и еще раз убедиться, что все работает, как и должно
Да уж.. Ничего не понял!
Но готов поверить, что С++ обладает какими-то объективными преимуществами по сравнению со многими другими языками. А не просто "потому, что везде так".
p.s. Некоторое время назад решил дополнительную работу поискать в плане разработки диковинных алгоритмов и программ. Обнаружил, что почти везде нужно знать С++. Попробовал установить и написать на нём простейшую свою программку и офигел - настолько всё показалось замороченным и неудобным, что просто жуть какая-то! Плюнул в итоге на это дело и всё. Сижу, скучаю..
Вы возможно удивитесь, но тень тоже меняет направление движения, в зависимости от того, на каком нижнем углу сконцентрироваться вначале.
Конечно удивлюсь, потому, что я вижу, что она движется справо-налево, потом исчезает.
На самом деле я это самое дело уже и на другом форуме обсудил вчера-позавчера. И даже провели "практические занятия". Сошлись на том, что в принципе мои рассуждения верные, но тени все равно прорисованы кривовато. Особенно мне не понравилось, что эта девушка почти всегда в воздухе висит, изредка касаясь пола, причем почему-то пяткой! А так - кадров там много на самом деле чередуется, направление движения тени от поднятой ноги определяется однозначно вроде: справа-налево.
Сообщений: 6,621
Проживание: Tampere
Регистрация: 13-04-2016
Status: Offline
Цитата:
Сообщение от Димыч
Конечно удивлюсь, потому, что я вижу, что она движется справо-налево, потом исчезает.
...
, направление движения тени от поднятой ноги определяется однозначно вроде: справа-налево.
Ну а я могу видеть оба варианта, когда тень движется справа налево и, когда тень движется слева направо. То, что у Вас это не получается, не является доказательством того, что это невозможно.
Ну а я могу видеть оба варианта, когда тень движется справа налево и, когда тень движется слева направо. То, что у Вас это не получается, не является доказательством того, что это невозможно.
Как так? Не может такого быть. Это уже троллинг!
Вот покадрово у меня есть (благодарю ещё одного спорщика)
Чередование кадров идёт слева-направо, сверху-вниз. Красным проведена линия, ниже которой появляется тень от поднятой ноги
Поэтому если у Вас тень от поднятой ноги движется слева-направо, то у вас уже СЛИШКОМ богатое воображение!
Сообщений: 6,621
Проживание: Tampere
Регистрация: 13-04-2016
Status: Offline
Цитата:
Сообщение от Димыч
Как так? Не может такого быть. Это уже троллинг!
Вот покадрово у меня есть (благодарю ещё одного спорщика)
Чередование кадров идёт слева-направо, сверху-вниз. Красным проведена линия, ниже которой появляется тень от поднятой ноги
Поэтому если у Вас тень от поднятой ноги движется слева-направо, то у вас уже СЛИШКОМ богатое воображение!
Ваши кадры ничего не опровергают. Девушка может вращаться в обе стороны, и тень вращается вместе с ней. И вообще это скорее всего не тень, а отражение. И не подменяйте "направление вращения" движением "слева-направо" или "справа-налево". При вращении половину цикла точка движется справа-налево, а половину - слева-направо.
Последнее редактирование от ponom : 29-04-2019 в 19:33.
Ваши кадры ничего не опровергают. Девушка может вращаться в обе стороны, и тень вращается вместе с ней. И вообще это скорее всего не тень, а отражение. И не подменяйте "направление вращения" движением "слева-направо" или "справа-налево". При вращении половину цикла точка движется справа-налево, а половину - слева-направо.
Я там выше объяснил почему девушка вращается именно против часовой стрелки. Там всё просто. Если вкратце, то тень от поднятой ноги видна когда она находится дальше от наблюдателя, чем опорная нога. А если при этом тень движется справо налево, значит девушка вращается против часовой стрелки. То же самое справедливо и в случае, если это не тень, а отражение девушки от зеркального пола - тоже получается, что она вращается против часовой стрелки