потому что программисты не могут сделать, чтобы и так и так работало. Всегда будет где-то косяк, либо как раньше либо как сейчас.
потому что программисты не могут сделать, чтобы и так и так работало. Всегда будет где-то косяк, либо как раньше либо как сейчас.
А чего непонятного?
Есть цикл (с выхода на вход) -- такое не должно работать.
Буквально недавно я показывал пример почему такие схемы не должны работать.
Тогда и в символьных языках
Чему должен быть равен результат такого блока?
A=A+1
То же не должно работать?
https://www.youtube.com/watch?v=1FXkpAETmgE
Так нет там ни каких циклов в данном случае с Д-триггером, неоднократно вопросы задавались, собрал из Д-триггеров регистр сдвига, почему не работает как надо, ну сколько уже нормальные, кто понимает как Д-триггер работает будет страдать, мучится из-за неграмотности других, почему нельзя нормально, по-человечьи сделать?
А в ОЛ как?
А в КДС как?
И не только в КДС
https://www.youtube.com/watch?v=w596vHHVm5A
Мифические обратные связи - фирменная фишка ОВЕН
Как то не по порядку считает.
Вы серьёзно или троллите?
Разумеется, вся проблема именно в неопределённости того, в каком порядке должны выполняться элементы на схеме.
В строчном языке порядок явно указывается.
Если сказано
A = A+1
B = A,
то ясно, что сначала A увеличится на 1, а потом B обновится.
В случае же графического языка, нет однозначного порядка выполнения.
Да, можно было бы говорить, что "да в том же КДС есть возможность перенумеровать блоки". Кто-то может сказать, что "и в ОЛ есть возможность пронумеровать блоки".
Но, блин, часто ли этой возможностью пользуются?
Удобно ли следить за этими цифорками и сверять "в нужном ли порядке выполнилась схема"?
А что делать, если схему нужно поменять? Номера же все съезжают.
Даже в мою бытность на форуме много раз поднимались вопросы типа "у меня две одинаковые линии от выхода принимают разные значения".
В этом плане, запрет "циклических связей" на самой схеме позволяет составлять программы вообще без использования "явной нумерации".
В нужных местах добавили линии задержки и ОЛ выстраивает выполнение "как нужно".
Пример с "самозамкнутой операцией AND" показывает лишь то, что две одинаковые линии, выходящие из результата AND по факту принимают разные значения. Одна оказывается равна обновлённому значению, а вторая -- предыдущему. Хотя, визуально они неотличимы.
Да, документацию стоит доработать, но, на мой взгляд, ручная расстановка "линий задержки" гораздо проще для последующего понимания (сразу видно, что значение приходит из прошлого такта), и гораздо проще в разработке-поддержке схем, ведь абсолютно не нужно думать о порядке выполнения блоков. Как нарисовано, так и выполняется.