Заранее прошу прощения, если создал тему не в том разделе.
Пусть нам требуется определить, действительно ли выполняется
В системах компьютерной алгебры (я использовал Mathematica) самый долгоработающий вариант есть
Естественно гораздо быстрее работает вариант с вложенными If:
Код:
If[det(A)>0,
If[sp(A)>0,
...
If[phi(A)>0,Print["Yes"],Print["No"]]
...
,Print["No"]
,Print["No"]]
Ведь тогда проверка может закончиться сразу, узнав что что-либо не выполняется.
Употребляют ли профессионалы такой способ? Как-то со стороны выглядит довольно глупо. Может в системах компьютерной алгебры есть какое-либо автоматическое разделение условий?
Главный вопрос был в том, в каком порядке расставлять условия в If-ах? Правильно я понимаю что для достижения лучшего эффекта надо первым делом проверять наименее вероятное условие, чтобы была больше вероятность отсечь его и сразу закончить проверку с результатом "Нет".
Как тогда лучше проверять что наименее вероятно? Запускать цикл и проверять сколько раз, например, на рандомной матрице будет выполняться
итп?
Спасибо!