Forth http://fforum.winglion.ru/ |
|
Самозапросы на форт-софт http://fforum.winglion.ru/viewtopic.php?f=2&t=3130 |
Страница 2 из 6 |
Автор: | _KROL [ Вс сен 03, 2017 20:46 ] |
Заголовок сообщения: | Re: Самозапросы на форт-софт |
http://www.cyberforum.ru/asm-beginners/thread1429828.html Спасибо! Там ещё полезны кое-какие комменты, к примеру Цитата: format binary as exe А ещё фраза "Сам себе Iczelion" открыла мои глаза на: http://www.cyberforum.ru/assembler/thread751124.html Там и про PE-файлы есть |
Автор: | _KROL [ Вс сен 03, 2017 20:56 ] | ||
Заголовок сообщения: | Re: Самозапросы на форт-софт | ||
В дополнении оттуда супер-pdf! (для скачки просто там нужна регистрация)
|
Автор: | Ethereal [ Пн сен 04, 2017 01:15 ] |
Заголовок сообщения: | Re: Самозапросы на форт-софт |
_KROL писал(а): А ещё фраза "Сам себе Iczelion" открыла мои глаза на: Это творение Mikl-а. Его на том форуме забанили решением администрации. Мы пытались заступиться, но было бесполезно. Впрочем, я сам на том форуме в нарушителях.Причина - в форум постоянно приходят студиозы и тупо постят условие задачи. Иногда даже без "пожалуйста, помогите". Просто "Дано ... Надо ...". Реакция у нас была такая - или покажи свои наработки, хоть какие-нибудь и тогда поможем или go, фрилянс. go. А политика администрации состояла в том, чтобы таких "педагогов" разогнать и поощрить тех, кто делает задачи за бесплатно и даже без "спасибо". Администрация победила. А Mikl был главным "педагогом". |
Автор: | gudleifr [ Пн сен 04, 2017 09:20 ] |
Заголовок сообщения: | Re: Самозапросы на форт-софт |
Им, видите ли, навеяло... http://gudleifr.forum2x2.ru/t35-topic. |
Автор: | Ethereal [ Пн сен 04, 2017 17:47 ] |
Заголовок сообщения: | Re: Самозапросы на форт-софт |
Развернул бы эту свою мысль : 2. Объектно-ориентированное программирование - болезнь, а глядя с высот FORTH - болезнь детская. А то я никогда даже не писал на ООП и когда говорю похожее на меня смотрят как на троглодита. А поскольку я на ООП и не ООП-ил никогда, то приходится в ответ мычать ибо выстраданных аргументов нет. А не ООП-ил потому-что с какой стороны на это ООП ни смотрел, никак не мог понять в чем тут фишка ? Всегда по впечатлению выходило, что идея какая-то ни о чем. |
Автор: | gudleifr [ Пн сен 04, 2017 18:11 ] |
Заголовок сообщения: | Re: Самозапросы на форт-софт |
Ethereal писал(а): Развернул бы эту свою мысль Из "заметок": Я знаю три пути использования ООП: Первый путь - классический. Представления мира, в котором живет программа, в виде строгой иерархии "объектов". Если один объект является частью другого, считается, что в реальном мире этому соответствует связь "part_of" - "крыло - часть птицы", если же объект наследуется от другого - "is_a" - "аист тоже птица" (и значит, у него тоже есть крылья). По идее, такой подход должен давать возможность программе свободно ориентироваться в сложном мире и писаться на естественном языке. Но, ловушка здесь в прилагательном "строгая" в первой строке. Допустим, я построил эту самую иерархию и написал нужную мне программу. И тут, как обычно, мне понадобилось ее изменить. Фигушки! Во-первых, т.к моя иерархия изначально "глубоко продуманная", то как я заставлю себя ее перекроить? Не то, чтобы жалко, но просто мозги так не повернуть, чтоб "систему мира" переделать. Во-вторых, во всех существующих системах ООП, переделка "мира" вещь практически неосуществимая, вызывающая лавинообразный рост ошибок. Поэтому первый путь, столь любимый классиками, в дикой природе практически не встречается. Второй путь - быдлокодерский. Как "современный программист" решает задачу? Он ищет подходящую библиотеку. А для удобства применения сложных библиотек тупыми кодерами, первые естественно снабдить этой самой, описанной выше "иерархией". "Найти в окне X кнопочку Y и запретить ее нажатие" == X.Y.ЗАПРЕТИТЬ(). "Сделать еще такую же кнопочку, но разместить левее" == Z-КЛАСС УНАСЛЕДОВАТЬ-ОТ Y-КЛАСС; Z-КЛАСС:РИСОВАТЬ()={ПРЕДОК.РИСОВАТЬ(); ПРЕДОК.СДВИНУТЬ-ВЛЕВО();}; Z=НОВЫЙ-ОБЪЕКТ Z-КЛАСС;" Как-то так... И многие "соврменные бейсики" этот механизм в себе имеют. Еще один стимул применения подобной схемы: вся привычная визуальная фигня - окошки, рамочки, кнопочки, прокрутки и менюшки - еще в 70-е годы прошлого века была создана объектно-ориентированной. И остается такой по настоящее время. Третий путь - обфускационный - "чтоб как у людей". Просто группирование разнообразных данных, а, если поднапрячься, и кода, в одном месте. Чтоб было! Как это работает, см. - http://gudleifr.forum2x2.ru/t18-topic. Доходит до смешного - "объектные программисты" утверждают, что правильные отступы в "елочках" (избыточно вложенных вариантах) и "матрешках" (избыточно вложенных циклах) позволяют им понимать программу не читая (!), а только бегло просматривая. |
Автор: | Ethereal [ Пн сен 04, 2017 20:01 ] |
Заголовок сообщения: | Re: Самозапросы на форт-софт |
А в чем ржач то был ? Там аналогичные решения были : We are given 5 integer numbers. Write a program that checks if the sum of some subset of them is 0. and return true if any subset founded has sum=0 else false Код: CREATE DATA 5 , 7 , -2 , -6 , -3 , А лучше ничего и не придумывается.
: ZADACA ( -- flag ) 0 32 1 DO 5 0 DO 1 I LSHIFT J AND IF DATA I CELLS + @ + THEN LOOP 0= DUP IF LEAVE THEN LOOP ; ZADACA . BYE |
Автор: | gudleifr [ Пн сен 04, 2017 20:13 ] |
Заголовок сообщения: | Re: Самозапросы на форт-софт |
Ethereal писал(а): А в чем ржач то был ? В том, что ОО-программист не может прочесть 8 строчек кода, пока не приведет в привычную ему форму - строк на 100.Ethereal писал(а): А лучше ничего и не придумывается. В смысле хуже? Явно видны два огреха - константы 5 и 32 стали независимыми. Структура программы не зависит от задачи. Я, ведь, в BASIC дал подсказку: один и тот же итератор используется трижды.
|
Автор: | Ethereal [ Пн сен 04, 2017 20:17 ] |
Заголовок сообщения: | Re: Самозапросы на форт-софт |
gudleifr писал(а): Явно видны два огреха - константы 5 и 32 стали независимыми. Если бы в задаче было "n чисел", но ведь сказано "дано 5". Не надо решать в общем виде, если этого общего вида в задаче не существует. Общий вид, там где он не нужен, только захламляет исходник. Всякие объявления констант не нужные.gudleifr писал(а): Структура программы не зависит от задачи. Она соответствует данной конкретной задаче. Вам шашечки или ехать ?gudleifr писал(а): Я, ведь, в BASIC дал подсказку: один и тот же итератор используется трижды. В примере на Бейсике ПЯТЬ операторов FOR. У меня два DO. Мыслить надо проще.
|
Автор: | gudleifr [ Пн сен 04, 2017 20:25 ] |
Заголовок сообщения: | Re: Самозапросы на форт-софт |
Ethereal писал(а): сказано "дано 5". Но "дано 32" не сказано. Зачем усложнять жизнь читателю?
|
Автор: | gudleifr [ Пн сен 04, 2017 20:28 ] |
Заголовок сообщения: | Re: Самозапросы на форт-софт |
Ethereal писал(а): Вам шашечки или ехать ? В данном случае Вы пишете "на показ". Но, показывать нечего. Показать правильность Вашего решения можно только решив самому заново.
|
Автор: | Ethereal [ Пн сен 04, 2017 20:32 ] |
Заголовок сообщения: | Re: Самозапросы на форт-софт |
gudleifr писал(а): Зачем усложнять жизнь читателю? А читатель - это кто ? Тот, кто хочет спереть твой исходник и выдать за свой ? Тогда зачем облегчать ? Другие читатели мне не встречаются.И потом, в гробу я видел таких читателей, для кого не очевидно, что 2^5 = 32. Этим ничего не облегчишь. gudleifr писал(а): Но, показывать нечего. С удовольствием посмотрел бы на решение проще. Проще, для меня, это быстрее по скорости или меньше по размеру кода. Другие критерии - это стремление в никому не нужную сторону.
|
Автор: | gudleifr [ Пн сен 04, 2017 20:36 ] |
Заголовок сообщения: | Re: Самозапросы на форт-софт |
Ethereal писал(а): В примере на Бейсике ПЯТЬ операторов FOR. У меня два DO. Мыслить надо проще. Во-первых, не пять, а два! Во-вторых, Ваша программа работает неправильно - останавливается после нахождения первого нуля и не расшифровывает результат. В-третьих, "простота" Вашего решения достигнута за счет решения вручную. Ethereal писал(а): И потом, в гробу я видел таких читателей, для кого не очевидно, что 2^5 = 32. Да Вы сами, через месяц будете вспоминать, зачем 2 в пятую степень возводили... |
Автор: | _KROL [ Пн сен 04, 2017 20:38 ] |
Заголовок сообщения: | Re: Самозапросы на форт-софт |
gudleifr писал(а): Да Вы сами, через месяц будете вспоминать, зачем 2 в пятую степень возводили... Ну, кто как видит И зачем "грызётесь"? Других дел нет что-ли? P.s. Олимпиадные задачи можно тоже по разному решать... P.p.s. Да и к основной теме оно мало относится. |
Автор: | Ethereal [ Пн сен 04, 2017 20:41 ] |
Заголовок сообщения: | Re: Самозапросы на форт-софт |
gudleifr писал(а): Ethereal писал(а): останавливается после нахождения первого нуля gudleifr писал(а): Да Вы сами, через месяц будете вспоминать, зачем 2 в пятую степень возводили... Наоборот буду париться зачем5 CONSTANT N написал, коли в этом нет никакого смысла. gudleifr писал(а): Во-первых, не пять, а два! А, это во втором варианте "для эстетов". Так там тот-же самый алгоритм (если выкинуть ввод данных и вывод результата), что и у меня - внешний цикл 1..31, внутренний 5 раз со сдвигом единицы и наложением маски.
|
Страница 2 из 6 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |