我理解它的基本知识,但它让人感到困惑。如果有人可以将其重新编写为简单的伪代码,那将非常感谢!
我正在编写一个PHP应用程序,我需要在PHP中使用相同的算法,但它不起作用。
=IF(CC_stolpar=2;
IF(Antal_slanor<4;
6*Antal_dubbelgrind;
Antal_dubbelgrind*Antal_slanor*2)
+
IF(Antal_slanor<4;
3*Antal_enkelgrind;
Antal_enkelgrind*Antal_slanor);
0)
答案 0 :(得分:0)
我不确定他为什么要对antal_slanor<4
进行两次测试,它应该相当于
=IF(CC_stolpar=2;
IF(Antal_slanor<4;
6*Antal_dubbelgrind + 3*Antal_enkelgrind;
Antal_dubbelgrind*Antal_slanor*2 + Antal_enkelgrind*Antal_slanor);
0)
答案 1 :(得分:0)
这有嵌套的IF语句,它遵循模式IF-THEN-ELSE
IF (condition); what to do if condition is true; what to do if condition is false
所以你的外部IF是IF(CC_stolpar=2 THEN (do all this complicated stuff) ELSE 0
。
这很简单。 CC_stolpar
为2或不是,如果它有任何其他值,则结果为零。
“复杂的东西”是对两种不同的IF语句的结果进行求和。
第一个是
IF(Antal_slanor<4;
6*Antal_dubbelgrind;
Antal_dubbelgrind*Antal_slanor*2)
如果Antal_slanor
小于4,则将Antal_dubbelgrind
乘以6。
如果Antal_slanor
大于或等于4,则将Antal_dubbelgrind
乘以Antal_slanor
乘以2。
根据Antal_slanor
是否小于4,您只能得到一个结果。
您对其他IF重复基本相同的过程,并对结果求和。
IF(Antal_slanor<4;
3*Antal_enkelgrind;
Antal_enkelgrind*Antal_slanor);
这两个嵌套的IF语句都在评估Antal_slanor
是否小于4.因此,如果对你有意义,你可以将它们合并为一个IF。
最后,我会建议您自己的理智和其他人的理智,他们可能需要在您之后阅读此内容,并在您的代码中尽可能简化公式。
答案 2 :(得分:0)
你只需看一下而不是一行。
作为提示,CC_stolar = 2,则结果是两个嵌套IF语句的总和。
也许一些括号会有所帮助:
=IF(CC_stolpar=2;
{
IF(Antal_slanor<4;
{
6*Antal_dubbelgrind;
} else {
Antal_dubbelgrind*Antal_slanor*2)
}
+IF(Antal_slanor<4;
{
3*Antal_enkelgrind;
} else {
Antal_enkelgrind*Antal_slanor)
}
} else {
;0)
}
答案 3 :(得分:0)
IF CC_poles == 2 then
IF NUMBER_OF_POLES < 4 THEN
RESULT = 6*NUMBER_OF_DOUBLE_GATES + 3* NUMBER_OF_SINGLE_GATES;
ELSE
RESULT= NUMBER_OF_DOUBLE_GATES*NUMBER_OF_POLES*2 + NUMBER_OF_SINGLE_GATES *
NUMBER_OF_POLES
ENDIF
ELSE
RESULT = 0
ENDIF