Здравствуйте, samius, Вы писали:
S>Здравствуйте, PC_2, Вы писали:
S>>>А, так это был бинарный поиск? Не узнал его с пробегом от 0-я до 10и.
PC_>>Не забывай про свою Лайт версию транслятора. PC_>>У тебя разрешено только десять итераций и программы можно писать с циклом до десяти итераци S>Если бы она хоть до 10 могла, а то S>
S>Operators: A:=0
S>Operator: A
S>Error: 'Agregate' operation for the RS.DOM.Common.Token doesn't support.
S>Или если заменить A на что-то другое S>
S>Operators: 0;
S>Object reference not set to an instance of an object.
S>>>Даже если N итераций, то что это за бинарный поиск с N итерациями. PC_>> S>Ну понятно, останавливать итерацию твое чудо не умеет, потому все что менее O(N) для него недостижимо
да забей, реализация бинарного поиска как и реализация квик сорт мне не нравится и отлаживать этот код не хочется,
потому что он отличается от того что я хочу
Адресная арифметика в программах сложна для понимания и источник говнокода.
Буду пытаться расправиться с адресной арифметикой на понятия более приближенные к реальному
пониманию человеком окружающего мира
Например
"Следующий"
"Сосед"
"Средний элемент"
"Пограничный элемент справа"
"Пограничный элемент слева"
Будем бороться за простоту кода
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
A>Бред — это самому реализовывать алгоритм сортировки, тем более пузырьковой.
Умгу, в далекие времена Спектрумов реализации сортировок росли как груши на дереве.
Никто не знал что там внутри этих грушь, просто настоящие тру языки вызывали эти груши и отличались только
методами передачи параметров этим "грушам"
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, PC_2, Вы писали:
A>>Бред — это самому реализовывать алгоритм сортировки, тем более пузырьковой. PC_>Умгу, в далекие времена Спектрумов реализации сортировок росли как груши на дереве. PC_>Никто не знал что там внутри этих грушь, просто настоящие тру языки вызывали эти груши и отличались только PC_>методами передачи параметров этим "грушам"
И что? Какое это имеет отношение к современным реалиям?
Здравствуйте, PC_2, Вы писали:
PC_>Здравствуйте, samius, Вы писали:
S>>Здравствуйте, PC_2, Вы писали:
PC_>да забей, реализация бинарного поиска как и реализация квик сорт мне не нравится и отлаживать этот код не хочется, PC_>потому что он отличается от того что я хочу PC_>Адресная арифметика в программах сложна для понимания и источник говнокода. PC_>Буду пытаться расправиться с адресной арифметикой на понятия более приближенные к реальному PC_>пониманию человеком окружающего мира
PC_>Например PC_>"Следующий" PC_>"Сосед" PC_>"Средний элемент" PC_>"Пограничный элемент справа" PC_>"Пограничный элемент слева"
Да, это переведет задачу двоичного поиска на новый уровень. Решение будет записываться в форме "50 раз следующий от среднего элемента".
PC_>Будем бороться за простоту кода
Конечно это важнее чем принципиальное отсутствие управления.
Здравствуйте, PC_2, Вы писали:
A>>И что? Какое это имеет отношение к современным реалиям? PC_>Имеет весьма прямое отношение. PC_>Вырощено поколение грушоедов которые не понимают разницу между PC_>"реализацией вызова библиотечной функции" PC_>от PC_>"реализацией алгоритма библиотечной функции" PC_>
Я о том и говорю, что на практике нет нужды самому реализовывать библиотечную функцию. К тому же sort() в Perl — встроенная функция, а не библиотечная. При изучении же алгоритмов лучше использовать максимально понятный язык, а не максимально короткий.
PC_>>да забей, реализация бинарного поиска как и реализация квик сорт мне не нравится и отлаживать этот код не хочется, PC_>>потому что он отличается от того что я хочу PC_>>Адресная арифметика в программах сложна для понимания и источник говнокода. PC_>>Буду пытаться расправиться с адресной арифметикой на понятия более приближенные к реальному PC_>>пониманию человеком окружающего мира
PC_>>Например PC_>>"Следующий" PC_>>"Сосед" PC_>>"Средний элемент" PC_>>"Пограничный элемент справа" PC_>>"Пограничный элемент слева" S>Да, это переведет задачу двоичного поиска на новый уровень. Решение будет записываться в форме "50 раз следующий от среднего элемента".
Да ладно, забей У него в итоге все равно все скатывается в "не хочу", "не буду" и "а вот в будущем!"
Хотя на первой странице флейма на sql.ru изначально вырисовывалась этакая вариация на темы j/k/q
A>Я о том и говорю, что на практике нет нужды самому реализовывать библиотечную функцию. К тому же sort() в Perl — встроенная функция, а не
библиотечная. При изучении же алгоритмов лучше использовать максимально понятный язык, а не максимально короткий.
Ладно, если ты настаиваешь на своей глупости, усложним задачу.
Сортировать нужно не числа а строки, и не по значениям а по длине строк.
Вполне себе практичная задача.
А теперь в зубы свое не библиотечное sort(3, 2, 1, 4, 5); из перла ... ой, я сказал библиотечная .... ни ни ни ни ... не библиотечная
и вперед реализовывать
Если че на РС это будет занимать 30 сек и запишется так
a.I.Len<a.J.Len?a.I:=:a.J
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
M>Да ладно, забей У него в итоге все равно все скатывается в "не хочу", "не буду" и "а вот в будущем!"
Умгу, на sql это просто феерическая тема, которую не хотят закрывать модеры даже по моему требованию
В начале столько народу било себя пяткой в грудь и рассказывало что реализовать транслятор на этот язык "практически не реально".
Правда они кудато потом исчезли
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, PC_2, Вы писали:
M>>Ну для переписывания свертки, чтобы она принимала не оператор, а любуу произвольную функцию.
PC_>И как это будет на ассемблере ?
Что именно? Получение произвольной функции? Тривиально — получаем указатель на функцию. Вызов свертки:
Фнукция получает два четырехбайтовый значения, возвращает еще одно четырехбайтовое. Можно сделать итерацию по "произвольным" массивам (с произвольным шагом), тогда функция будет получать два указателя и что-нибудь возвращать (видимо, тоже указатель). Ну и тому подобные варианты.
Если что — не проверял, пример показывает концептуальную возможность. Может быть, где-то напутал в комбинациях допустимых регистров, неверно поставил скобки, неоптимизировал циклы, написал неверный пролог/эпилог, не добавил проверку длины и т.п. Ну нет у меня под рукой ассемблера и остнастки для проверки. Я так — идею показать.
Здравствуйте, Mamut, Вы писали:
M>Да ладно, забей У него в итоге все равно все скатывается в "не хочу", "не буду" и "а вот в будущем!"
M>Хотя на первой странице флейма на sql.ru изначально вырисовывалась этакая вариация на темы j/k/q
Мне сначала показалось что что-то толковое может вырисоваться. Но потом, когда дали наводку на sql.ru, понял что автора интересует больше длина исходника на стандартных задачах, чем возможность практического применения.
Почитал там и о задаче о 9и ферзях, и о повороте массива на 45 градусов. Вроде бы понятно, как следует относится к топику (снести его в КСВ), но проявляя слабость к троллингу, пытаюсь что-то автору доказать... Хотя пример куда более продвинутых и терпеливых людей с sql.ru убеждает что ни к чему это не приведет.
Здравствуйте, PC_2, Вы писали:
A>>Я о том и говорю, что на практике нет нужды самому реализовывать библиотечную функцию. К тому же sort() в Perl — встроенная функция, а не библиотечная. При изучении же алгоритмов лучше использовать максимально понятный язык, а не максимально короткий. PC_>Ладно, если ты настаиваешь на своей глупости, усложним задачу. PC_>Сортировать нужно не числа а строки, и не по значениям а по длине строк. PC_>Вполне себе практичная задача. PC_>Если че на РС это будет занимать 30 сек и запишется так PC_>
PC_>a.I.Len<a.J.Len?a.I:=:a.J
PC_>
Хоть на Perl и чуть длинее, но, на мой взгляд, куда как выразительнее.
Здравствуйте, maxkar, Вы писали:
M>Здравствуйте, PC_2, Вы писали:
M>>>Ну для переписывания свертки, чтобы она принимала не оператор, а любуу произвольную функцию.
PC_>>И как это будет на ассемблере ?
M>Что именно? Получение произвольной функции? Тривиально — получаем указатель на функцию. Вызов свертки: M>
M>push arr
M>push len
M>push sum_f
M>call fold_left
M>
M>Фнукция получает два четырехбайтовый значения, возвращает еще одно четырехбайтовое. Можно сделать итерацию по "произвольным" массивам (с произвольным шагом), тогда функция будет получать два указателя и что-нибудь возвращать (видимо, тоже указатель). Ну и тому подобные варианты.
слишком длинный код
M>Если что — не проверял, пример показывает концептуальную возможность. Может быть, где-то напутал в комбинациях допустимых регистров, неверно поставил скобки, неоптимизировал циклы, написал неверный пролог/эпилог, не добавил проверку длины и т.п. Ну нет у меня под рукой ассемблера и остнастки для проверки. Я так — идею показать.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
шутка произнесена уже 5й раз ( я просто периодический бред буду нумеровать )
Я периодический бред нумеровать не буду, потому как цифры большие, но намекну: при написании на Языке Программирования прикладных программ подразумевается, что у Языка Программирования уже есть Библиотека, где реализованы все примитивы. Сортировки относятся к примитивам — они реализуются один (ОДИН) раз, после чего их код никто и никогда не видит. И реализуются они как правило не на самом языке, а в его common runtime — в виртуальной машине либо на c / c++. Соответственно, если мы хотим язык общего назначения (в противовес языку написания сортировок) то нам в первую очередь интересно, как на нем решаются практические задачи, а не радикс сортировка. Так что повторю свой вопрос — чем ваш язык лучше питона и руби в плане практического применения, а не в плане одноразового написания библиотек math и algorithms?
EOH>при написании на Языке Программирования прикладных программ подразумевается, что у Языка Программирования уже есть Библиотека, где реализованы все примитивы. Сортировки относятся к примитивам — они реализуются один (ОДИН) раз, после чего их код никто и никогда не видит.
Сортировка это примитив да не очень, смотреть серию постов выше
В остальном с грушоедами спорить не хочется, они не понимают что такое тесты возможностей языков,
например представленные по этой ссылке
Здравствуйте, PC_2, Вы писали:
A>>Хоть на Perl и чуть длиннее, но, на мой взгляд, куда как выразительнее. A>>
A>>sort({length($a) <=> length($b)} @array);
A>>
PC_>не чуть длинее, а в два раза, тупой вызов библиотечной функции не спас.
Длиннее только из-за названий функций, которым, если уж так хочется, можно дать короткие имена. И никаких заморочек с индексами.
PC_>А теперь еще усложняем задачу. Первые пять строк сортировать не нужно
Надеюсь, мы не дойдём до написания операционной системы в итоге: