Помогите написать алгоритм линеаризации исполняемого кода (да и вообще что это такое).Подскажите в каких случаях линеаризация возможна, и как можно использовать полученный результат?
линеаризация - это сугубо математический термин. линеаризацию можно применять для решения определенных задач..но что такое линеаризация исполняемого кода - я хз .)
AlexTheC0d3r,Ins3t В двух словах - удаление из программы циклов и условных переходов.Превращение программы в одну сплошную трассу...А как это на C++ показать?
Подобная задача может быть решена только на уровне исходного кода, но и то вычисления должны быть сравнимые с мощностью логики компилятора. так что программно это реализовать настолько же сложно как и сам компилятор!
+ ко всему, в зависимости от графа выполнения, такая задача может оказаться невозможной или крайне сложно выполнимой с непредсказуемым результатом а задачу лишенную всякого логического смысла(насколько я понял фактически придется отказаться от переменных).
вот теперь ответь что это за программа без циклов и условий? Такого не бывает. Это только простые вычисления и вывод на экран. По другому никак. Ветвление программы будет возникать при всякого рода случайностях, от которых может зависть выполнение. даже банальное решение квадратного уравнения и то не получится привести в линейный вид.
ну впринципе здесь все написано -> Предназначен для решения задач без условий. Тоесть путь решения задачи только один...
Это все хорошо, да вот только такие алгоритмы пишутся с самого начала без ветвлений, а убирать ветвления уже в готовом алгоритме - это уже абсолютно другое.