Где в классах счётчик оборотов?

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Re: Где в классах счётчик оборотов?

Сообщение Сквозняк » 01.12.2020 16:57:03

Это не флуд а обсуждение недостающей в fpc фичи, отсутствие которой мешает использовать ООП в вещах связанных с ИИ.
Сквозняк
энтузиаст
 
Сообщения: 868
Зарегистрирован: 29.06.2006 22:08:32

Re: Где в классах счётчик оборотов?

Сообщение pupsik » 01.12.2020 19:54:39

недостающей в fpc фичи, отсутствие которой мешает использовать ООП в вещах связанных с ИИ.
жость :mrgreen:
А учитывая мелькание goto - бредовость зашкаливает.
Плохому танцору... сами знаете что мешает. В вашем случае - необходимо пересмотреть вашу теорию ИИ. Ну явно не в ту сторону движение.
Подобие ИИ можно создать на чём угодно. И даже создать ЯП для этого. Но лепить в одну корзину и писать что язык, который никоим образом не предусматривает движение в сторону ИИ... ну бред же.
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Где в классах счётчик оборотов?

Сообщение Seenkao » 01.12.2020 20:22:29

pupsik писал(а):Но лепить в одну корзину и писать что язык, который никоим образом не предусматривает движение в сторону ИИ... ну бред же.

С этого момента поподробнее пожалуйста!
Seenkao
постоялец
 
Сообщения: 246
Зарегистрирован: 01.04.2020 03:37:12

Re: Где в классах счётчик оборотов?

Сообщение Сквозняк » 02.12.2020 01:39:13

pupsik писал(а): недостающей в fpc фичи, отсутствие которой мешает использовать ООП в вещах связанных с ИИ.

жость :mrgreen:


Предложи лучшую реализацию. Всё что я написал давно протестировано.

pupsik писал(а):А учитывая мелькание goto - бредовость зашкаливает.


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

pupsik писал(а):Плохому танцору... сами знаете что мешает. В вашем случае - необходимо пересмотреть вашу теорию ИИ. Ну явно не в ту сторону движение.


Ну так станцуй лучше!

pupsik писал(а):Подобие ИИ можно создать на чём угодно. И даже создать ЯП для этого. Но лепить в одну корзину и писать что язык, который никоим образом не предусматривает движение в сторону ИИ... ну бред же.


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

Добавлено спустя 26 минут 59 секунд:
Подсчёт количества оборотов важная вешь. В машинах по ним высчитывают моточасы, а уже исходя из моточасов водятлы по шпаргалке должны предпринимать некоторые действия. Если же взять более простой механизм - идеальную мясорубку, которая не буксует и не забивается, то пример ещё проще. Допустим, в мясорубку помещается кусок мяса и оператор знает, что за 5 оборотов ручки оно будет перемолото и выплюнуто. Следовательно, подкладывание новых кусков можно поручить механизму, который будет делать это исходя из счётчика оборотов вала мясорубки! А в программе мясорубка состоит из процедур и goto, а классы, увы никто для такой работы не апгрейдил.

Добавлено спустя 3 часа 46 минут 20 секунд:
Реализация функционала в ООП часто заныкана как скрытая камера в женском сортире :mrgreen: Потому бесконечные циклы надо бы разныкать. Например так:

Добавить в объектпаскаль сущности 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);
Сквозняк
энтузиаст
 
Сообщения: 868
Зарегистрирован: 29.06.2006 22:08:32

Re: Где в классах счётчик оборотов?

Сообщение SSerge » 02.12.2020 06:48:09

Не надо делать в стандарте то, чем в основном никто не будет пользоваться, но при перекодинге остального - обязательно сломают.
Чем вам не нравится идея создать собственную иерархию классов с тем, что вам надо?
SSerge
энтузиаст
 
Сообщения: 921
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Где в классах счётчик оборотов?

Сообщение haword » 02.12.2020 11:25:58

у ООП есть и плюсы и минусы. Минусы - жирный код и медленный. Плюсы - можно натворить намного больше дел чем при функциональном программировании.

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

Если ты пытаешься сделать защиту от взлома в своей программе этим способом то она обходиться простым отключением проверки счетчиков ) но за то тормознет своими циклами всю программу. если программа нужная будет ее взломают если никому не нужная то только нагрузишь процессор ненужной работой.
haword
постоялец
 
Сообщения: 296
Зарегистрирован: 02.03.2006 11:34:40

Re: Где в классах счётчик оборотов?

Сообщение pupsik » 02.12.2020 11:37:40

Теоретика видно по первому сообщению. Когда начнёшь писать такой код, тогда и обнаружишь: там компилятор запрещает делать то что нужно, а там в него клепатели гуёв не заложили нужную фичу.
:mrgreen:
Ну вот и первый ИИ. Не зная кто... уже определил ВСЁ :)))))
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Где в классах счётчик оборотов?

Сообщение Снег Север » 02.12.2020 13:40:54

pupsik писал(а):Ну вот и первый ИИ

Скорее - бредогенератор... :mrgreen:
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2735
Зарегистрирован: 27.11.2007 16:14:47

Re: Где в классах счётчик оборотов?

Сообщение vvvch » 02.12.2020 14:37:45

Сквозняк
честно, не вникал в суть Вашей задачи, но попробуйте использовать helper-ы. Может что даст...
Аватара пользователя
vvvch
новенький
 
Сообщения: 99
Зарегистрирован: 26.04.2013 11:05:39
Откуда: г.Боровичи, Новг. обл.

Re: Где в классах счётчик оборотов?

Сообщение pupsik » 02.12.2020 19:43:04

Вот не хотел продолжать бред... но мясорубка, мясо и т.д.. :)

Допустим, в мясорубку помещается кусок мяса...
допустим попал хрящик... мясорубка делает 10 оборотов и мздык ей. Механизм далее кидает мясо, а чего... мы же знаем что 5 оборотов - бросок.
Ведь:
Подсчёт количества оборотов важная вешь.


Вот поэтому и "танцор"...
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Где в классах счётчик оборотов?

Сообщение Сквозняк » 02.12.2020 22:24:13

SSerge писал(а):Не надо делать в стандарте то, чем в основном никто не будет пользоваться

А потом на вопрос "а что из крутого ПО написано на паскале" и ответить нечего. Был скайп, но и
его на другие ЯП переписали сломав совместимость с линуксом.
SSerge писал(а):Чем вам не нравится идея создать собственную иерархию классов с тем, что вам надо?

Собственный код я могу и без классов написать - процедурно! Классы нужны для копипасты а не потому что с ними разработка всегда идёт быстрее и лучше. Практика показывает, что полезными являются счётчики вставляемые в начало и конец бесконечных циклов. В своём коде их куда угодно могу воткнуть, а чужой переделывать, если компилятор мешает, не очень просто.

Добавлено спустя 16 минут 11 секунд:
haword писал(а):Вначале ты написал что в чужие классы не залезть. Но и разрабатывая программу без ООП ты чужой код без исходников не вставишь а если и будешь подгружать без исходников из модулей внешний то туда не вставишь счетчики циклов. Так что не рассказывай сказки про это )

Исходники то часто есть, а толку с них на копейку. Можно пересобрать например лазарус и исправить портированный в него баг, и поменять зависимости у бинарей, если очень припрёт и это почти что всё. Если налеплено ООП, то реализация размазана, как оно работает известно смутно. Чтобы вставлять что-то имеющимися методами нужно сильно извратиться или прибить всё гвоздями к глобальным переменным и лепить наобум.

haword писал(а): А вот в ООП это сделать проще. Пишешь интерфейс с предопределенной процедурой которая будет возвращать счетчики из циклов и все его потомки будут его реализовывать. И все, вот тебе счетчик циклов в классах. Создал класс в потоке и запустил в нем счетчик, и пока поток не закончился проверяешь счетчик вызовом одной единственной функцией. И так во всех потомках базового класса где реализована эта функция.


Откуда эти данные будут браться? :mrgreen: У бесконечных циклов нету счётчиков. А ещё есть виртуальные функции, какая реальная запустится при выполнении - точно неизвестно. Также процедура не знает кто её запустил и какие данные рыть. А чтобы всё это наладить, надо понять как всё работает, а в ООП принято реализацию размазывать. Получается неконтролируемое усложнение и перенос работы компилятора на программиста.
haword писал(а):Если ты пытаешься сделать защиту от взлома в своей программе этим способом


Нет не пытаюсь.

haword писал(а):но за то тормознет своими циклами всю программу


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

Добавлено спустя 12 минут 34 секунды:
pupsik писал(а):Вот не хотел продолжать бред... но мясорубка, мясо и т.д.. :)

Имеешь возразить против модели, так возрази, если интеллекта для этого хватит.

pupsik писал(а):допустим попал хрящик... мясорубка делает 10 оборотов и мздык ей. Механизм далее кидает мясо, а чего... мы же знаем что 5 оборотов - бросок.

Выше было написано про идеальную мясорубку, которая не буксует и не забивается. Всё порежет и выплюнет, а какие там детали - стальные, дюралевые или адамантовые, об этом речь не идёт. Учите русская языка.
pupsik писал(а):Вот поэтому и "танцор"...

Лучших предложений никто не внёс. Ты в том числе. Чем счётчики в бесконечных циклах плохи внятно объяснить не смог, лишь защищаешь текущую реальность от её улучшения.

Добавлено спустя 21 минуту 2 секунды:
Счётчики в бесконечных циклах нужны для двух вещей:
1. Чтобы их сразу смогли использовать понимающие люди.
2. Чтобы облегчить модификацию кода сделанного без них. Если бы каждый арбуз имел чемоданную рукоятку, то их переноска облегчилась :P
Сквозняк
энтузиаст
 
Сообщения: 868
Зарегистрирован: 29.06.2006 22:08:32

Re: Где в классах счётчик оборотов?

Сообщение Снег Север » 02.12.2020 23:22:11

Счетчик для бесконечного цикла - глупость по определению. Всё равно, что "растворитель, который растворяет абсолютно всё" (а в чём его самого хранить?) :roll:
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2735
Зарегистрирован: 27.11.2007 16:14:47

Re: Где в классах счётчик оборотов?

Сообщение Seenkao » 03.12.2020 00:50:05

Снег Север писал(а):Счетчик для бесконечного цикла - глупость по МОЕМУ определению.
кто-то слово пропустил.

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

Что, вполне вероятно, не совсем поддаётся логике. И видимо - это один из правильных подходов. Этим всё и объясняется, самая лучшая логика - та, которую сложно объяснить/предугадать/вычислить. (И! С точностью до наоборот :) )
Seenkao
постоялец
 
Сообщения: 246
Зарегистрирован: 01.04.2020 03:37:12

Re: Где в классах счётчик оборотов?

Сообщение Снег Север » 03.12.2020 09:48:00

Seenkao писал(а):За счёт определения числа проходов (выполнения) определённых процедур, можно выкладывать логику в той последовательности, в которой тебе надо. Учитывая факторы, которые уже произошли и возможные. С каждым проходом, (чем больше счётчик) будет выбираться результат более точный, либо более неопределённый.

У меня такой крутой травы нет... :o
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2735
Зарегистрирован: 27.11.2007 16:14:47

Re: Где в классах счётчик оборотов?

Сообщение haword » 03.12.2020 10:13:26

Сквозняк писал(а):Откуда эти данные будут браться? У бесконечных циклов нету счётчиков. А ещё есть виртуальные функции, какая реальная запустится при выполнении - точно неизвестно. Также процедура не знает кто её запустил и какие данные рыть. А чтобы всё это наладить, надо понять как всё работает, а в ООП принято реализацию размазывать. Получается неконтролируемое усложнение и перенос работы компилятора на программиста.

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

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

как и писали выше это нахрен никому не надо кроме специфических целей и поэтому зачем кому то встраивать это в систему не понятно. тебе надо - ты и делай. это не сложно.
haword
постоялец
 
Сообщения: 296
Зарегистрирован: 02.03.2006 11:34:40

Пред.След.

Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

Рейтинг@Mail.ru