Где в классах счётчик оборотов?
Модератор: Модераторы
Это не флуд а обсуждение недостающей в fpc фичи, отсутствие которой мешает использовать ООП в вещах связанных с ИИ.
жостьнедостающей в fpc фичи, отсутствие которой мешает использовать ООП в вещах связанных с ИИ.
А учитывая мелькание goto - бредовость зашкаливает.
Плохому танцору... сами знаете что мешает. В вашем случае - необходимо пересмотреть вашу теорию ИИ. Ну явно не в ту сторону движение.
Подобие ИИ можно создать на чём угодно. И даже создать ЯП для этого. Но лепить в одну корзину и писать что язык, который никоим образом не предусматривает движение в сторону ИИ... ну бред же.
pupsik писал(а):Но лепить в одну корзину и писать что язык, который никоим образом не предусматривает движение в сторону ИИ... ну бред же.
С этого момента поподробнее пожалуйста!
pupsik писал(а): недостающей в fpc фичи, отсутствие которой мешает использовать ООП в вещах связанных с ИИ.
жость
Предложи лучшую реализацию. Всё что я написал давно протестировано.
pupsik писал(а):А учитывая мелькание goto - бредовость зашкаливает.
Отлично работающий оператор. Не ломает стек, работает даже внутри case. Ты просто не умеешь им пользоваться и дыру в своих знаниях выставляешь за какое-то сверхзнание.
pupsik писал(а):Плохому танцору... сами знаете что мешает. В вашем случае - необходимо пересмотреть вашу теорию ИИ. Ну явно не в ту сторону движение.
Ну так станцуй лучше!
pupsik писал(а):Подобие ИИ можно создать на чём угодно. И даже создать ЯП для этого. Но лепить в одну корзину и писать что язык, который никоим образом не предусматривает движение в сторону ИИ... ну бред же.
Теоретика видно по первому сообщению. Когда начнёшь писать такой код, тогда и обнаружишь: там компилятор запрещает делать то что нужно, а там в него клепатели гуёв не заложили нужную фичу. А пока ты не начал ничего делать, можешь пребывать в иллюзиях насчёт правильности набора фич. Теоретику может показаться что и штаны через голову одевать удобно, чтобы пелена спала, нужно это протестировать в реальных условиях.
Добавлено спустя 26 минут 59 секунд:
Подсчёт количества оборотов важная вешь. В машинах по ним высчитывают моточасы, а уже исходя из моточасов водятлы по шпаргалке должны предпринимать некоторые действия. Если же взять более простой механизм - идеальную мясорубку, которая не буксует и не забивается, то пример ещё проще. Допустим, в мясорубку помещается кусок мяса и оператор знает, что за 5 оборотов ручки оно будет перемолото и выплюнуто. Следовательно, подкладывание новых кусков можно поручить механизму, который будет делать это исходя из счётчика оборотов вала мясорубки! А в программе мясорубка состоит из процедур и goto, а классы, увы никто для такой работы не апгрейдил.
Добавлено спустя 3 часа 46 минут 20 секунд:
Реализация функционала в ООП часто заныкана как скрытая камера в женском сортире
Добавить в объектпаскаль сущности Round_Begin(X: Byte) и Round_End(X: Byte). Вставлять их соответственно в начало и конец бесконечных циклов. И любая процедура тогда сможет сделать
Код: Выделить всё
Writeln(Parent_Round_Begin);
Writeln(Parent_Round_End);
И узнать на каком обороте цикла их запустили. Показывается у ближайшего предка с такими маркерами циклов. Если возвращается значение -2, то значит их нет совсем, -1 - есть но не использовались. Также любой процедуре любого доступного класса можно сделать
Код: Выделить всё
Z:=procedura.Number_Round_Begin; //узнать количество таких задействованных маркеров
A:=procedura.Number_Round_End;
Q:=procedura.Get_Round_Begin(Z);
Не надо делать в стандарте то, чем в основном никто не будет пользоваться, но при перекодинге остального - обязательно сломают.
Чем вам не нравится идея создать собственную иерархию классов с тем, что вам надо?
Чем вам не нравится идея создать собственную иерархию классов с тем, что вам надо?
у ООП есть и плюсы и минусы. Минусы - жирный код и медленный. Плюсы - можно натворить намного больше дел чем при функциональном программировании.
Вначале ты написал что в чужие классы не залезть. Но и разрабатывая программу без ООП ты чужой код без исходников не вставишь а если и будешь подгружать без исходников из модулей внешний то туда не вставишь счетчики циклов. Так что не рассказывай сказки про это ) А вот в ООП это сделать проще. Пишешь интерфейс с предопределенной процедурой которая будет возвращать счетчики из циклов и все его потомки будут его реализовывать. И все, вот тебе счетчик циклов в классах. Создал класс в потоке и запустил в нем счетчик, и пока поток не закончился проверяешь счетчик вызовом одной единственной функцией. И так во всех потомках базового класса где реализована эта функция.
Если ты пытаешься сделать защиту от взлома в своей программе этим способом то она обходиться простым отключением проверки счетчиков ) но за то тормознет своими циклами всю программу. если программа нужная будет ее взломают если никому не нужная то только нагрузишь процессор ненужной работой.
Вначале ты написал что в чужие классы не залезть. Но и разрабатывая программу без ООП ты чужой код без исходников не вставишь а если и будешь подгружать без исходников из модулей внешний то туда не вставишь счетчики циклов. Так что не рассказывай сказки про это ) А вот в ООП это сделать проще. Пишешь интерфейс с предопределенной процедурой которая будет возвращать счетчики из циклов и все его потомки будут его реализовывать. И все, вот тебе счетчик циклов в классах. Создал класс в потоке и запустил в нем счетчик, и пока поток не закончился проверяешь счетчик вызовом одной единственной функцией. И так во всех потомках базового класса где реализована эта функция.
Если ты пытаешься сделать защиту от взлома в своей программе этим способом то она обходиться простым отключением проверки счетчиков ) но за то тормознет своими циклами всю программу. если программа нужная будет ее взломают если никому не нужная то только нагрузишь процессор ненужной работой.
Теоретика видно по первому сообщению. Когда начнёшь писать такой код, тогда и обнаружишь: там компилятор запрещает делать то что нужно, а там в него клепатели гуёв не заложили нужную фичу.
Ну вот и первый ИИ. Не зная кто... уже определил ВСЁ
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
pupsik писал(а):Ну вот и первый ИИ
Скорее - бредогенератор...
Сквозняк
честно, не вникал в суть Вашей задачи, но попробуйте использовать helper-ы. Может что даст...
честно, не вникал в суть Вашей задачи, но попробуйте использовать helper-ы. Может что даст...
Вот не хотел продолжать бред... но мясорубка, мясо и т.д.. 
Ведь:
Вот поэтому и "танцор"...
допустим попал хрящик... мясорубка делает 10 оборотов и мздык ей. Механизм далее кидает мясо, а чего... мы же знаем что 5 оборотов - бросок.Допустим, в мясорубку помещается кусок мяса...
Ведь:
Подсчёт количества оборотов важная вешь.
Вот поэтому и "танцор"...
SSerge писал(а):Не надо делать в стандарте то, чем в основном никто не будет пользоваться
А потом на вопрос "а что из крутого ПО написано на паскале" и ответить нечего. Был скайп, но и
его на другие ЯП переписали сломав совместимость с линуксом.
SSerge писал(а):Чем вам не нравится идея создать собственную иерархию классов с тем, что вам надо?
Собственный код я могу и без классов написать - процедурно! Классы нужны для копипасты а не потому что с ними разработка всегда идёт быстрее и лучше. Практика показывает, что полезными являются счётчики вставляемые в начало и конец бесконечных циклов. В своём коде их куда угодно могу воткнуть, а чужой переделывать, если компилятор мешает, не очень просто.
Добавлено спустя 16 минут 11 секунд:
haword писал(а):Вначале ты написал что в чужие классы не залезть. Но и разрабатывая программу без ООП ты чужой код без исходников не вставишь а если и будешь подгружать без исходников из модулей внешний то туда не вставишь счетчики циклов. Так что не рассказывай сказки про это )
Исходники то часто есть, а толку с них на копейку. Можно пересобрать например лазарус и исправить портированный в него баг, и поменять зависимости у бинарей, если очень припрёт и это почти что всё. Если налеплено ООП, то реализация размазана, как оно работает известно смутно. Чтобы вставлять что-то имеющимися методами нужно сильно извратиться или прибить всё гвоздями к глобальным переменным и лепить наобум.
haword писал(а): А вот в ООП это сделать проще. Пишешь интерфейс с предопределенной процедурой которая будет возвращать счетчики из циклов и все его потомки будут его реализовывать. И все, вот тебе счетчик циклов в классах. Создал класс в потоке и запустил в нем счетчик, и пока поток не закончился проверяешь счетчик вызовом одной единственной функцией. И так во всех потомках базового класса где реализована эта функция.
Откуда эти данные будут браться?
haword писал(а):Если ты пытаешься сделать защиту от взлома в своей программе этим способом
Нет не пытаюсь.
haword писал(а):но за то тормознет своими циклами всю программу
А много ли таких важных бесконечных циклов есть? А те что есть и так обычно простынями кода заведуют, от двух лишних переменных не затормозятся.
Добавлено спустя 12 минут 34 секунды:
pupsik писал(а):Вот не хотел продолжать бред... но мясорубка, мясо и т.д..
Имеешь возразить против модели, так возрази, если интеллекта для этого хватит.
pupsik писал(а):допустим попал хрящик... мясорубка делает 10 оборотов и мздык ей. Механизм далее кидает мясо, а чего... мы же знаем что 5 оборотов - бросок.
Выше было написано про идеальную мясорубку, которая не буксует и не забивается. Всё порежет и выплюнет, а какие там детали - стальные, дюралевые или адамантовые, об этом речь не идёт. Учите русская языка.
pupsik писал(а):Вот поэтому и "танцор"...
Лучших предложений никто не внёс. Ты в том числе. Чем счётчики в бесконечных циклах плохи внятно объяснить не смог, лишь защищаешь текущую реальность от её улучшения.
Добавлено спустя 21 минуту 2 секунды:
Счётчики в бесконечных циклах нужны для двух вещей:
1. Чтобы их сразу смогли использовать понимающие люди.
2. Чтобы облегчить модификацию кода сделанного без них. Если бы каждый арбуз имел чемоданную рукоятку, то их переноска облегчилась
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Счетчик для бесконечного цикла - глупость по определению. Всё равно, что "растворитель, который растворяет абсолютно всё" (а в чём его самого хранить?) 
кто-то слово пропустил.Снег Север писал(а):Счетчик для бесконечного цикла - глупость по МОЕМУ определению.
А в логике, коей многие вообще не занимаются, счётчики полезная штука.
За счёт определения числа проходов (выполнения) определённых процедур, можно выкладывать логику в той последовательности, в которой тебе надо. Учитывая факторы, которые уже произошли и возможные. С каждым проходом, (чем больше счётчик) будет выбираться результат более точный, либо более неопределённый.
Что, вполне вероятно, не совсем поддаётся логике. И видимо - это один из правильных подходов. Этим всё и объясняется, самая лучшая логика - та, которую сложно объяснить/предугадать/вычислить. (И! С точностью до наоборот
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Seenkao писал(а):За счёт определения числа проходов (выполнения) определённых процедур, можно выкладывать логику в той последовательности, в которой тебе надо. Учитывая факторы, которые уже произошли и возможные. С каждым проходом, (чем больше счётчик) будет выбираться результат более точный, либо более неопределённый.
У меня такой крутой травы нет...
Сквозняк писал(а):Откуда эти данные будут браться? У бесконечных циклов нету счётчиков. А ещё есть виртуальные функции, какая реальная запустится при выполнении - точно неизвестно. Также процедура не знает кто её запустил и какие данные рыть. А чтобы всё это наладить, надо понять как всё работает, а в ООП принято реализацию размазывать. Получается неконтролируемое усложнение и перенос работы компилятора на программиста.
еще раз - создаешь класс, который реализовывает работу твоего бесконечного цикла. на основе этого класса строишь свою программу которая использует цикл из этого класса. и тогда сможешь в любом месте получить свой счетчик кто бы этот цикл не запустил. любая виртуальная процедура будет использовать этот класс а ты получать к нему доступ. только эти твои процедуры должны быть классами потомками от класса цикла.
да и вообще, тут не компилятор надо переделывать тут надо логику работы переделывать ) кстати тот же питон который используют для ИИ весь построен на ООП и как то справляется же ) и счетчиков нету у него там в циклах.
как и писали выше это нахрен никому не надо кроме специфических целей и поэтому зачем кому то встраивать это в систему не понятно. тебе надо - ты и делай. это не сложно.
